]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/pods.js
Client: fix prod compilation
[github/Chocobozzz/PeerTube.git] / server / controllers / api / pods.js
index 853e0705bcfb47c288ff2572ebf20b95a48f70c3..1c3eefcc13ef70843e5413d946c26870eeec0088 100644 (file)
@@ -1,10 +1,13 @@
 'use strict'
 
 const express = require('express')
-const mongoose = require('mongoose')
 const waterfall = require('async/waterfall')
 
+const db = require('../../initializers/database')
+const constants = require('../../initializers/constants')
 const logger = require('../../helpers/logger')
+const peertubeCrypto = require('../../helpers/peertube-crypto')
+const utils = require('../../helpers/utils')
 const friends = require('../../lib/friends')
 const middlewares = require('../../middlewares')
 const admin = middlewares.admin
@@ -15,19 +18,18 @@ const validators = middlewares.validators.pods
 const signatureValidator = middlewares.validators.remote.signature
 
 const router = express.Router()
-const Pod = mongoose.model('Pod')
 
 router.get('/', listPods)
 router.post('/',
+  podsMiddleware.setBodyHostPort, // We need to modify the host before running the validator!
   validators.podsAdd,
-  podsMiddleware.setBodyUrlPort,
   addPods
 )
 router.post('/makefriends',
   oAuth.authenticate,
   admin.ensureIsAdmin,
   validators.makeFriends,
-  podsMiddleware.setBodyUrlsPort,
+  podsMiddleware.setBodyHostsPort,
   makeFriends
 )
 router.get('/quitfriends',
@@ -37,7 +39,7 @@ router.get('/quitfriends',
 )
 // Post because this is a secured request
 router.post('/remove',
-  signatureValidator,
+  signatureValidator.signature,
   checkSignature,
   removePods
 )
@@ -53,21 +55,21 @@ function addPods (req, res, next) {
 
   waterfall([
     function addPod (callback) {
-      const pod = new Pod(informations)
-      pod.save(function (err, podCreated) {
+      const pod = db.Pod.build(informations)
+      pod.save().asCallback(function (err, podCreated) {
         // Be sure about the number of parameters for the callback
         return callback(err, podCreated)
       })
     },
 
     function sendMyVideos (podCreated, callback) {
-      friends.sendOwnedVideosToPod(podCreated._id)
+      friends.sendOwnedVideosToPod(podCreated.id)
 
       callback(null)
     },
 
     function fetchMyCertificate (callback) {
-      friends.getMyCertificate(function (err, cert) {
+      peertubeCrypto.getMyPublicCert(function (err, cert) {
         if (err) {
           logger.error('Cannot read cert file.')
           return callback(err)
@@ -79,22 +81,22 @@ function addPods (req, res, next) {
   ], function (err, cert) {
     if (err) return next(err)
 
-    return res.json({ cert: cert })
+    return res.json({ cert: cert, email: constants.CONFIG.ADMIN.EMAIL })
   })
 }
 
 function listPods (req, res, next) {
-  Pod.list(function (err, podsUrlList) {
+  db.Pod.list(function (err, podsList) {
     if (err) return next(err)
 
-    res.json(getFormatedPods(podsUrlList))
+    res.json(utils.getFormatedObjects(podsList, podsList.length))
   })
 }
 
 function makeFriends (req, res, next) {
-  const urls = req.body.urls
+  const hosts = req.body.hosts
 
-  friends.makeFriends(urls, function (err) {
+  friends.makeFriends(hosts, function (err) {
     if (err) {
       logger.error('Could not make friends.', { error: err })
       return
@@ -107,15 +109,15 @@ function makeFriends (req, res, next) {
 }
 
 function removePods (req, res, next) {
-  const url = req.body.signature.url
+  const host = req.body.signature.host
 
   waterfall([
     function loadPod (callback) {
-      Pod.loadByUrl(url, callback)
+      db.Pod.loadByHost(host, callback)
     },
 
-    function removePod (pod, callback) {
-      pod.remove(callback)
+    function deletePod (pod, callback) {
+      pod.destroy().asCallback(callback)
     }
   ], function (err) {
     if (err) return next(err)
@@ -131,15 +133,3 @@ function quitFriends (req, res, next) {
     res.type('json').status(204).end()
   })
 }
-
-// ---------------------------------------------------------------------------
-
-function getFormatedPods (pods) {
-  const formatedPods = []
-
-  pods.forEach(function (pod) {
-    formatedPods.push(pod.toFormatedJSON())
-  })
-
-  return formatedPods
-}