Files
meanTorrent/modules/requests/server/models/request.server.model.js

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'));
/**
* Request Schema
*/
var RequestSchema = new Schema({
user: {
type: Schema.Types.ObjectId,
ref: 'User'
},
title: {
type: String,
default: '',
trim: true
},
desc: {
type: String,
default: '',
trim: true
},
type: {
type: String,
default: 'movie',
trim: true
},
rewards: {
type: Number,
default: 0
},
torrents: [{
type: Schema.Types.ObjectId,
ref: 'Torrent'
}],
responses: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
accept: {
type: Schema.Types.ObjectId,
ref: 'Torrent'
},
comments: [CommonSchema.CommentSchema],
createdAt: {
type: Date,
default: Date.now
},
acceptedAt: {
type: Date
}
}, {usePushEach: true});
RequestSchema.index({createdAt: -1});
RequestSchema.index({user: 1, createdAt: -1});
mongoose.model('Request', RequestSchema);