From b9a3e09ad5a7673f64556d1dba122ed4c4fac980 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 7 Mar 2016 11:33:59 +0100 Subject: Prepare folders structure for angular app --- server/models/poolRequests.js | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 server/models/poolRequests.js (limited to 'server/models/poolRequests.js') diff --git a/server/models/poolRequests.js b/server/models/poolRequests.js new file mode 100644 index 000000000..970315597 --- /dev/null +++ b/server/models/poolRequests.js @@ -0,0 +1,55 @@ +'use strict' + +var mongoose = require('mongoose') + +var logger = require('../helpers/logger') + +// --------------------------------------------------------------------------- + +var poolRequestsSchema = mongoose.Schema({ + type: String, + id: String, // Special id to find duplicates (video created we want to remove...) + request: mongoose.Schema.Types.Mixed +}) +var PoolRequestsDB = mongoose.model('poolRequests', poolRequestsSchema) + +// --------------------------------------------------------------------------- + +var PoolRequests = { + create: create, + findById: findById, + list: list, + removeRequestById: removeRequestById, + removeRequests: removeRequests +} + +function create (id, type, request, callback) { + PoolRequestsDB.create({ id: id, type: type, request: request }, callback) +} + +function findById (id, callback) { + PoolRequestsDB.findOne({ id: id }, callback) +} + +function list (callback) { + PoolRequestsDB.find({}, { _id: 1, type: 1, request: 1 }, callback) +} + +function removeRequestById (id, callback) { + PoolRequestsDB.remove({ id: id }, callback) +} + +function removeRequests (ids) { + PoolRequestsDB.remove({ _id: { $in: ids } }, function (err) { + if (err) { + logger.error('Cannot remove requests from the pool requests database.', { error: err }) + return // Abort + } + + logger.info('Pool requests flushed.') + }) +} + +// --------------------------------------------------------------------------- + +module.exports = PoolRequests -- cgit v1.2.3