Files
meanTorrent/modules/about/server/models/makers.server.model.js
2018-06-25 11:20:23 +08:00

66 lines
1.1 KiB
JavaScript

'use strict';
/**
* Module dependencies
*/
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
path = require('path'),
CommonSchema = require(path.resolve('./modules/core/server/models/common.server.model'));
/**
* Maker Schema
*/
var MakerSchema = new Schema({
user: {
type: Schema.Types.ObjectId,
ref: 'User'
},
name: {
type: String,
unique: 'GROUP_NAME_ALREADY_EXISTS',
trim: true,
default: ''
},
desc: {
type: String,
trim: true,
default: ''
},
members: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
upload_access: {
type: String,
default: 'review'
},
torrent_count: {
type: Number,
default: 0
},
vote_average: {
type: Number,
default: 0
},
vote_total: {
type: Number,
default: 0
},
vote_count: {
type: Number,
default: 0
},
_ratings: [CommonSchema.RatingSchema],
createdAt: {
type: Date,
default: Date.now
}
}, {usePushEach: true});
MakerSchema.index({torrent_count: -1});
MakerSchema.index({upload_access: -1});
mongoose.model('Maker', MakerSchema);