]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - models/pods.js
4 var mongoose
= require('mongoose')
6 var constants
= require('../initializers/constants')
7 var logger
= require('../helpers/logger')
9 // ---------------------------------------------------------------------------
11 var podsSchema
= mongoose
.Schema({
14 score: { type: Number
, max: constants
.FRIEND_BASE_SCORE
}
16 var PodsDB
= mongoose
.model('pods', podsSchema
)
18 // ---------------------------------------------------------------------------
24 findBadPods: findBadPods
,
25 incrementScores: incrementScores
,
29 removeAllByIds: removeAllByIds
32 // TODO: check if the pod is not already a friend
33 function add (data
, callback
) {
34 if (!callback
) callback = function () {}
37 publicKey: data
.publicKey
,
38 score: constants
.FRIEND_BASE_SCORE
41 PodsDB
.create(params
, callback
)
44 function count (callback
) {
45 return PodsDB
.count(callback
)
48 function findBadPods (callback
) {
49 PodsDB
.find({ score: 0 }, callback
)
52 function findByUrl (url
, callback
) {
53 PodsDB
.findOne({ url: url
}, callback
)
56 function incrementScores (ids
, value
, callback
) {
57 if (!callback
) callback = function () {}
58 PodsDB
.update({ _id: { $in: ids
} }, { $inc: { score: value
} }, { multi: true }, callback
)
61 function list (callback
) {
62 PodsDB
.find(function (err
, pods_list
) {
64 logger
.error('Cannot get the list of the pods.', { error: err
})
68 return callback(null, pods_list
)
72 function remove (url
, callback
) {
73 if (!callback
) callback = function () {}
74 PodsDB
.remove({ url: url
}, callback
)
77 function removeAll (callback
) {
78 if (!callback
) callback = function () {}
79 PodsDB
.remove(callback
)
82 function removeAllByIds (ids
, callback
) {
83 if (!callback
) callback = function () {}
84 PodsDB
.remove({ _id: { $in: ids
} }, callback
)
87 // ---------------------------------------------------------------------------