在Node.js应用程序中创建第一个管理员

时间:2016-06-29 13:11:27

标签: javascript node.js api-design

我已经创建了我的第一个Node.js API,现在我正处于实时推送代码时需要初始管理员的步骤。

我的应用程序的工作方式是,有一个管理员可以向用户发送邀请,用户只能注册该邀请。我的模型看起来像这样:

var userSchema  = new Schema({
    "email" : { type: String, unique: true },
    "pass" : { type: String, required: true },
    "type" : { type: String, required: true },
    "invitation" : String
});

字段type可以包含值adminregular。对于每个用户创建,都会进行电子邮件/邀请检查,以便在没有邀请的情况下无法创建用户。

我的一个想法是每次打开数据库时都要检查一下:

var mongoose = require("mongoose");
mongoose.connection.on('open', function(){
  // get all users
  User.find({}, function(err, data){
    // if there are no users at all, create first admin
  });
});

第一个管理员的凭据我会保留在env变量中并像这样获取它们:

var firstAdminEmail = process.env.FIRST_ADMIN_EMAIL;
var firstAdminPass = process.env.FIRST_ADMIN_PASS;

为了防止用户创建中的邀请检查,我将创建一个单独的函数,该函数将忽略用户创建中的邀请。

您如何看待这个?创建第一个管理员的最佳做法是什么?

0 个答案:

没有答案