- Initial commit... A DB, some routes, and basic authentication routines...
This commit is contained in:
44
models/common/address.js
Normal file
44
models/common/address.js
Normal file
@@ -0,0 +1,44 @@
|
||||
const mongoose = require('mongoose');
|
||||
const mongooseStringQuery = require('mongoose-string-query');
|
||||
const mongooseTimestamps = require('mongoose-timestamp');
|
||||
|
||||
const AddressSchema = new mongoose.Schema(
|
||||
{
|
||||
address1: {
|
||||
type: String,
|
||||
required: true,
|
||||
trim: true,
|
||||
},
|
||||
address2: {
|
||||
type: String,
|
||||
trim: true,
|
||||
},
|
||||
locality: {
|
||||
type: String,
|
||||
required: true,
|
||||
trim: true,
|
||||
},
|
||||
state: {
|
||||
type: String,
|
||||
required: true,
|
||||
trim: true,
|
||||
},
|
||||
postalCode: {
|
||||
type: String,
|
||||
required: true,
|
||||
trim: true,
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
required: true,
|
||||
enum: [ 'billing', 'shipping' ],
|
||||
},
|
||||
},
|
||||
|
||||
{ minimize: false },
|
||||
);
|
||||
|
||||
AddressSchema.plugin(mongooseStringQuery);
|
||||
AddressSchema.plugin(mongooseTimestamps);
|
||||
|
||||
module.exports = AddressSchema;
|
||||
30
models/common/email.js
Normal file
30
models/common/email.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const mongoose = require('mongoose');
|
||||
const mongooseStringQuery = require('mongoose-string-query');
|
||||
const mongooseTimestamps = require('mongoose-timestamp');
|
||||
|
||||
const EmailSchema = new mongoose.Schema(
|
||||
{
|
||||
user: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
domain: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
},
|
||||
|
||||
{ minimize: false },
|
||||
);
|
||||
|
||||
EmailSchema.virtual('address').get(function() {
|
||||
return this.user + '@' + this.domain;
|
||||
});
|
||||
|
||||
EmailSchema.plugin(mongooseStringQuery);
|
||||
EmailSchema.plugin(mongooseTimestamps);
|
||||
|
||||
module.exports = EmailSchema;
|
||||
29
models/common/phone.js
Normal file
29
models/common/phone.js
Normal file
@@ -0,0 +1,29 @@
|
||||
const mongoose = require('mongoose');
|
||||
const mongooseStringQuery = require('mongoose-string-query');
|
||||
const mongooseTimestamps = require('mongoose-timestamp');
|
||||
|
||||
const PhoneSchema = new mongoose.Schema(
|
||||
{
|
||||
countryCode: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: '1',
|
||||
},
|
||||
number: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
required: true,
|
||||
enum: [ 'home', 'mobile' ],
|
||||
},
|
||||
},
|
||||
|
||||
{ minimize: false },
|
||||
);
|
||||
|
||||
PhoneSchema.plugin(mongooseStringQuery);
|
||||
PhoneSchema.plugin(mongooseTimestamps);
|
||||
|
||||
module.exports = PhoneSchema;
|
||||
Reference in New Issue
Block a user