]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/pods.js
Do not generate a random password for test env
[github/Chocobozzz/PeerTube.git] / server / models / pods.js
index 4e21001f5cde4710e6641e4329b1737aab797eb8..9502d92e407aacc3cea530ca9defebee10109ae0 100644 (file)
@@ -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)