vs-mongo-mart

Table of Contents

Employee

{
	empID: { type: String, default: '' },
	coid: { type: String, default: '' },

	fName: { type: String, default: '' },
	lName: { type: String, default: '' },

	dept: {type:String,default:''},
	title: { type: String, default: '' },
	type: { type: String, default: '' },
	repTo: { type: String, default: '' },  // empID
	jobDesc: { type: String, default: '' },
	joined: { type: Date, default: '' },
	bday: { type: Date, default: '' },
	skills: { type: String, default: '' },
	interest: { type: String, default: '' },
	tasks: { type: Array,default:[] },
	active:{ type: Boolean,default:true},
	goals: { type: Array,default:[] },
	picture: { type: String, default: '' },
}, {
	toJSON: { virtuals: true },
	toObject: { virtuals: true },
	strictQuery: false,
	timestamps: true
}

Device

{
	devID: { type: String, default: '' },
	empID: { type: String, default: '' },
	name: { type: String, default: '' },
	type: { type: String, default: '' },
	manf: { type: String, default: '' },
	model: { type: String, default: '' },
	serial: { type: String, default: '' },
	simRef: { type: String, default: '' },
	imei:{type:String,default:''},
	userName: { type: String, default: '' },
	userLock: { type: String, default: '' },
	lock: { type: String, default: '' },
	purchasePrice: { type: Number, default: 0 },
	purchaseDate: { type: Date, default: '' },
	upgradeDate: { type: Date, default: '' },
	notes:{type:String,default:''}
},{
	toJSON: { virtuals: true },
	toObject: { virtuals: true },
	strictQuery: false
}

Account

{
	empID: { type: String, default: '' },
	type: { type: String, default: '' },
	user: { type: String, default: '' },  // email || username
	pswrd: { type: String, default: '' },
	twoFactors: [{ type: String, contact: String }],
	devices: { type: Array, default: [] },
	active: { type: Boolean, default: true },
	admin: { type: Boolean, default: false },
	resetPswrd: { type: Date, default: '' }
}

SIM

{
	iccid: { type: String, default: '' },
	name: {type: String, default:''},
	number: {type:String,default:undefined},//is undefined to keep unique even if it is not filled in yet
	group: {type:String,default:''},
	active: {type:Boolean,default:true},
	type: {type:String,default:''}
}