commonroutesServer/models/userModel.js
models/userModel.jsRaw
1var mongoose = require('mongoose'),
2 Schema = mongoose.Schema;
3
4var mongooseUniqueValidator = require('mongoose-unique-validator');
5
6
7var userSchema = new Schema({
8 username: { type: String, required: true, unique: true },
9 password: { type: String, required: true, selected: false },
10 token: { type: String, selected: false },
11 description: { type: String },
12 avatar: { type: String },
13 email: { type: String, required: true },
14 phone: { type: String },
15 telegram: { type: String },
16 valorations: [{
17 user: {
18 type: mongoose.Schema.Types.ObjectId,
19 ref: 'userModel'
20 },
21 value: { type: Number },
22 comment: { type: String }
23 }],
24 favs: [{
25 user: {
26 type: mongoose.Schema.Types.ObjectId,
27 ref: 'userModel'
28 },
29 date: {type: Date}
30 }],
31 travels: [{
32 type: mongoose.Schema.Types.ObjectId,
33 ref: 'travelModel'
34 }],
35 notifications: [{
36 state: {type: String},//viewed, pendent
37 message: {type: String},
38 link: {type: String},//aquí oju, a la app i a la web calen links diferents, però ho podem fer posant sempre a la app i a la web el prefix del link (#!/app) o (#/app/), i després afegint-hi la pàgina on volem enviar el routing, per exemple (dashboard)
39 icon: {type: String},
40 date: {type: Date},
41 dateviewed: {type: Date}
42 }]
43})
44
45userSchema.plugin(mongooseUniqueValidator);
46module.exports = mongoose.model('userModel', userSchema);