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