X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fpods.js;h=9502d92e407aacc3cea530ca9defebee10109ae0;hb=d14b3e37a2c0d647b59259bf2ca059b5817f144c;hp=4e21001f5cde4710e6641e4329b1737aab797eb8;hpb=f0f5567b6918fc60c8cab15e13aec03a89a91dfb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/pods.js b/server/models/pods.js index 4e21001f5..9502d92e4 100644 --- a/server/models/pods.js +++ b/server/models/pods.js @@ -1,6 +1,7 @@ 'use strict' const mongoose = require('mongoose') +const map = require('lodash/map') const constants = require('../initializers/constants') const logger = require('../helpers/logger') @@ -19,10 +20,13 @@ const PodsDB = mongoose.model('pods', podsSchema) const Pods = { add: add, count: count, + findById: findById, findByUrl: findByUrl, findBadPods: findBadPods, incrementScores: incrementScores, list: list, + listAllIds: listAllIds, + listAllUrls: listAllUrls, remove: remove, removeAll: removeAll, removeAllByIds: removeAllByIds @@ -48,6 +52,10 @@ function findBadPods (callback) { PodsDB.find({ score: 0 }, callback) } +function findById (id, callback) { + PodsDB.findById(id, callback) +} + function findByUrl (url, callback) { PodsDB.findOne({ url: url }, callback) } @@ -58,16 +66,28 @@ function incrementScores (ids, value, callback) { } function list (callback) { - PodsDB.find(function (err, pods_list) { + PodsDB.find(function (err, podsList) { if (err) { logger.error('Cannot get the list of the pods.') return callback(err) } - return callback(null, pods_list) + return callback(null, podsList) + }) +} + +function listAllIds (callback) { + return PodsDB.find({}, { _id: 1 }, function (err, pods) { + if (err) return callback(err) + + return callback(null, map(pods, '_id')) }) } +function listAllUrls (callback) { + return PodsDB.find({}, { _id: 0, url: 1 }, callback) +} + function remove (url, callback) { if (!callback) callback = function () {} PodsDB.remove({ url: url }, callback)