]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - models/poolRequests.js
4 var mongoose
= require('mongoose')
6 var logger
= require('../helpers/logger')
8 // ---------------------------------------------------------------------------
10 var poolRequestsSchema
= mongoose
.Schema({
12 id: String
, // Special id to find duplicates (video created we want to remove...)
13 request: mongoose
.Schema
.Types
.Mixed
15 var PoolRequestsDB
= mongoose
.model('poolRequests', poolRequestsSchema
)
17 // ---------------------------------------------------------------------------
20 addRequest: addRequest
,
22 removeRequests: removeRequests
25 function addRequest (id
, type
, request
) {
26 logger
.debug('Add request to the pool requests.', { id: id
, type: type
, request: request
})
28 PoolRequestsDB
.findOne({ id: id
}, function (err
, entity
) {
30 logger
.error('Cannot find one pool request.', { error: err
})
35 if (entity
.type
=== type
) {
36 logger
.error('Cannot insert two same requests.')
40 // Remove the request of the other type
41 PoolRequestsDB
.remove({ id: id
}, function (err
) {
43 logger
.error('Cannot remove a pool request.', { error: err
})
48 PoolRequestsDB
.create({ id: id
, type: type
, request: request
}, function (err
) {
49 logger
.error('Cannot create a pool request.', { error: err
})
56 function list (callback
) {
57 PoolRequestsDB
.find({}, { _id: 1, type: 1, request: 1 }, callback
)
60 function removeRequests (ids
) {
61 PoolRequestsDB
.remove({ _id: { $in: ids
} }, function (err
) {
63 logger
.error('Cannot remove requests from the pool requests database.', { error: err
})
67 logger
.info('Pool requests flushed.')
71 // ---------------------------------------------------------------------------
73 module
.exports
= PoolRequests