arnaucube
arnaucube/commonroutesServerPublic Self-hosted repository
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);