userModel, eventModel, alertModel --> done; signup,login,getAllUsers,getUserById --> done

This commit is contained in:
arnaucode
2017-02-11 17:45:15 +01:00
parent 4d6544fe8c
commit 5772ddf438
8 changed files with 353 additions and 0 deletions

28
models/alertModel.js Normal file
View File

@@ -0,0 +1,28 @@
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var mongooseUniqueValidator = require('mongoose-unique-validator');
var alertSchema = new Schema({
title: { type: String },
description: { type: String },
img: { type: String },
date: { type: Date },
location:{
direction: { type: String },
city: { type: String },
district: { type: String },
geolocation: {
lat: {type: Number},
long: {type: Number},
name: { type: String, required: true }
}
},
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'userModel'
}
});
alertSchema.plugin(mongooseUniqueValidator);
module.exports = mongoose.model('alertModel', alertSchema);

31
models/eventModel.js Normal file
View File

@@ -0,0 +1,31 @@
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var mongooseUniqueValidator = require('mongoose-unique-validator');
var eventSchema = new Schema({
title: { type: String },
description: { type: String },
img: { type: String },
date: { type: Date },
categories: [{
name: {type: String}
}],
location: {
direction: { type: String },
city: { type: String },
district: { type: String },
geolocation: {
lat: {type: Number},
long: {type: Number},
name: { type: String, required: true }
}
},
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'userModel'
}
});
eventSchema.plugin(mongooseUniqueValidator);
module.exports = mongoose.model('eventModel', eventSchema);

48
models/userModel.js Normal file
View File

@@ -0,0 +1,48 @@
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var mongooseUniqueValidator = require('mongoose-unique-validator');
var userSchema = new Schema({
username: { type: String, required: true, unique: true },
email: { type: String, required: true },
password: { type: String, required: true, select: false },
tokens: [{
userAgent: {type: String},
token: {type: String, select: false},
os: {type: String},
browser: {type: String},
device: {type: String},
os_version: {type: String},
browser_version: {type: String},
ip: {type: String},
lastLogin: {type: Date},
birthdate: {type: Date},
}],
description: { type: String },
img: { type: String, default: "https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png" },
contact: {
twitter: { type: String },
facebook: { type: String },
telegram: { type: String },
web: { type: String },
phone: { type: Number }
},
location:{
direction: { type: String },
city: { type: String },
district: { type: String },
geolocation: {
lat: {type: Number},
long: {type: Number},
name: { type: String}
}
},
events: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'eventModel'
}]
});
userSchema.plugin(mongooseUniqueValidator);
module.exports = mongoose.model('userModel', userSchema);