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