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, select: false },
10 token: { type: String, select: false },
11 description: { type: String, default: "Hello world" },
12 avatar: { type: String, default: "img/avatars/racoon.png" },
13 faircoinString: { type: String, default: "faircoin wallet" },
14 faircoin: { type: String, default: "img/faircoinpublickey_sample.png" },
15 email: { type: String, required: true },
16 phone: { type: String },
17 telegram: { type: String },
18 validated: { type: Boolean, default: false },
19 valorations: [{
20 user: {
21 type: mongoose.Schema.Types.ObjectId,
22 ref: 'userModel'
23 },
24 value: { type: Number },
25 comment: { type: String }
26 }],
27 likes: [{
28 type: mongoose.Schema.Types.ObjectId,
29 ref: 'userModel'
30 }],
31 favs: [{
32 user: {
33 type: mongoose.Schema.Types.ObjectId,
34 ref: 'userModel'
35 },
36 date: {type: Date}
37 }],
38 travels: [{
39 type: mongoose.Schema.Types.ObjectId,
40 ref: 'travelModel'
41 }],
42 notifications: [{
43 type: mongoose.Schema.Types.ObjectId,
44 ref: 'notificationModel'
45 }]
46})
47
48userSchema.plugin(mongooseUniqueValidator);
49module.exports = mongoose.model('userModel', userSchema);