mirror of
https://github.com/arnaucube/openEventsPlatformServer.git
synced 2026-02-06 19:26:39 +01:00
userModel, eventModel, alertModel --> done; signup,login,getAllUsers,getUserById --> done
This commit is contained in:
28
models/alertModel.js
Normal file
28
models/alertModel.js
Normal 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
31
models/eventModel.js
Normal 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
48
models/userModel.js
Normal 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);
|
||||
Reference in New Issue
Block a user