34 lines
818 B
JavaScript
34 lines
818 B
JavaScript
const mongoose = require('mongoose')
|
|
const paginate = require('mongoose-paginate-v2')
|
|
|
|
function image(img) {
|
|
return '/uploads/images/downloads/' + img
|
|
}
|
|
|
|
function file(file) {
|
|
return '/uploads/apps/' + file
|
|
}
|
|
|
|
const DownloadFilesSchema = mongoose.Schema({
|
|
_creator: { type: mongoose.ObjectId, ref: 'User' },
|
|
name: String,
|
|
os: {
|
|
type: String,
|
|
enum: ['windows', 'linux', 'mac', 'android', 'ios']
|
|
},
|
|
file: { type: String, get: file }
|
|
})
|
|
|
|
const DownloadSchema = mongoose.Schema({
|
|
_creator: { type: mongoose.ObjectId, ref: 'User' },
|
|
title: String,
|
|
short_description: String,
|
|
description: String,
|
|
image: { type: String, get: image },
|
|
category: mongoose.ObjectId,
|
|
files: [DownloadFilesSchema]
|
|
})
|
|
DownloadSchema.plugin(paginate)
|
|
|
|
module.exports = mongoose.model('Download', DownloadSchema)
|