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    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);