Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const titleEnum = ['Dr.', 'Mr.', 'Ms.', 'Mrs.', 'None'];
- const suffixEnum = ['Jr.', 'Sr.','II','III','IV','V', 'Esq'];
- const recoveryEnum = ['Recovery', 'Normal'];
- const commEnum = ['Comm','Backup'];
- var AuthSchema = new Schema (
- {
- dateEffective: {type: Date},
- username: {type: String, required: true, max: 20, trim: true, lowercase: true},
- password: {type: String, required: true, max: 20}
- }
- )
- var NameSchema = new Schema (
- {
- title: {type: String, enum: titleEnum},
- firstName: {type: String, required: true, max: 25, trim: true, uppercase: true},
- middleName: {type: String, required: true, max: 25, trim: true, uppercase: true},
- familyName: {type: String, required: true, max: 25, trim: true, uppercase: true},
- suffix: {type: String, enum: suffixEnum}
- // suffix: {type: String, max: 8, trim: true, uppercase: true}
- }
- )
- var EmailSchema = new Schema (
- {
- emailAddress: {type: String, required: true, max: 25, trim: true, lowercase: true},
- recoveryType: {type: String, enum: recoveryEnum, default: "Normal"},
- commType: {type: String, enum: commEnum, default: 'Comm'}
- }
- )
- var UserSchema = new Schema(
- {
- authData: [AuthSchema],
- nameData: [{type: Schema.Types.ObjectId, ref: 'NameSchema', required: true}],
- emailData: [EmailSchema]
- }
- )
- module.exports = {
- Auth: mongoose.model('Auth', AuthSchema),
- Name: mongoose.model('Name', NameSchema),
- Email: mongoose.model('Email', EmailSchema),
- User: mongoose.model('User', UserSchema)
- }
- var User = require('../models/user'),
- Auth = User.Auth,
- Name = User.Name,
- Email= User.Email,
- UserObj = User.User;
- exports.user_create_get = function(req, res, next) {
- async.parallel({
- auth: function(callback){
- var authObj = new Auth({
- dateEffective: moment(Date.now,"YYYY MM DD").format("YYYY MM DD"),
- username: '',
- password: ''
- })
- callback(this.auth);
- },
- name: function(callback){
- var nameObj = new Name({
- title: '',
- firstName: '',
- middleName: '',
- lastName: '',
- suffix: ''
- });
- callback(this.name);
- },
- email: function(callback){
- var emailObj = new Email({
- emailAddress: '',
- recoveryType: '',
- commType: ''
- })
- callback(this.email);
- }
- }, function(err, result){
- if (err) {return next(err);}
- var user = new UserObj({
- authData: [result.auth],
- nameData: [result.name],
- emailData: [result.email]
- })
- res.json(user);
- })
- };
- var User = require('../models/user'),
- Auth = User.Auth,
- Name = User.Name,
- Email= User.Email,
- UserObj = User.User;
- exports.user_create_get = function(req, res, next) {
- var authObj = new Auth({
- dateEffective: moment(Date.now,"YYYY MM DD").format("YYYY MM DD"),
- username: '',
- password: ''
- });
- var nameObj = new Name({
- title: '',
- firstName: '',
- middleName: '',
- lastName: '',
- suffix: ''
- });
- var emailObj = new Email({
- emailAddress: '',
- recoveryType: '',
- commType: ''
- });
- var user = new UserObj({
- authData: [authObj],
- nameData: [nameObj],
- emailData: [emailObj]
- });
- res.json(user);
- }
- app.set('json replacer', function(key, value){
- if (typeof value === "undefined") {
- return null;
- };
- return value;
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement