Server: move clients in its own file
authorChocobozzz <florian.bigard@gmail.com>
Fri, 5 Aug 2016 14:09:39 +0000 (16:09 +0200)
committerChocobozzz <florian.bigard@gmail.com>
Fri, 5 Aug 2016 14:09:39 +0000 (16:09 +0200)
client/src/app/shared/auth/auth.service.ts
server/controllers/api/v1/clients.js [new file with mode: 0644]
server/controllers/api/v1/index.js
server/controllers/api/v1/users.js

index 4c08e24c0e4a3861191b09dc2207b2f3dbc1ee8f..6a5b19ffeed4ddd5766388ba26f8f5f5c8efc2e7 100644 (file)
@@ -8,7 +8,7 @@ import { User } from './user.model';
 
 @Injectable()
 export class AuthService {
-  private static BASE_CLIENT_URL = '/api/v1/users/client';
+  private static BASE_CLIENT_URL = '/api/v1/clients/local';
   private static BASE_TOKEN_URL = '/api/v1/users/token';
 
   loginChangedSource: Observable<AuthStatus>;
diff --git a/server/controllers/api/v1/clients.js b/server/controllers/api/v1/clients.js
new file mode 100644 (file)
index 0000000..0d22263
--- /dev/null
@@ -0,0 +1,40 @@
+'use strict'
+
+const config = require('config')
+const express = require('express')
+const mongoose = require('mongoose')
+
+const Client = mongoose.model('OAuthClient')
+
+const router = express.Router()
+
+router.get('/local', getLocalClient)
+
+// Get the client credentials for the PeerTube front end
+function getLocalClient (req, res, next) {
+  const serverHost = config.get('webserver.host')
+  const serverPort = config.get('webserver.port')
+  let headerHostShouldBe = serverHost
+  if (serverPort !== 80 && serverPort !== 443) {
+    headerHostShouldBe += ':' + serverPort
+  }
+
+  // Don't make this check if this is a test instance
+  if (process.env.NODE_ENV !== 'test' && req.get('host') !== headerHostShouldBe) {
+    return res.type('json').status(403).end()
+  }
+
+  Client.loadFirstClient(function (err, client) {
+    if (err) return next(err)
+    if (!client) return next(new Error('No client available.'))
+
+    res.json({
+      client_id: client._id,
+      client_secret: client.clientSecret
+    })
+  })
+}
+
+// ---------------------------------------------------------------------------
+
+module.exports = router
index e0c29a8a22845b424f99a08474dbcd30e5b892d7..af41bc280d06001b09b8de6c0c23e7d030056b61 100644 (file)
@@ -4,11 +4,13 @@ const express = require('express')
 
 const router = express.Router()
 
+const clientsController = require('./clients')
 const podsController = require('./pods')
 const remoteController = require('./remote')
 const usersController = require('./users')
 const videosController = require('./videos')
 
+router.use('/clients', clientsController)
 router.use('/pods', podsController)
 router.use('/remote', remoteController)
 router.use('/users', usersController)
index e084974cec2e43079dd525741eb1505e075de8bd..fdbcc3ff5bcea580619c0e885606c957c0ab04a9 100644 (file)
@@ -1,7 +1,6 @@
 'use strict'
 
 const each = require('async/each')
-const config = require('config')
 const express = require('express')
 const mongoose = require('mongoose')
 const waterfall = require('async/waterfall')
@@ -14,7 +13,6 @@ const admin = middlewares.admin
 const oAuth = middlewares.oauth
 const validatorsUsers = middlewares.validators.users
 
-const Client = mongoose.model('OAuthClient')
 const User = mongoose.model('User')
 const Video = mongoose.model('Video')
 
@@ -41,7 +39,7 @@ router.delete('/:username',
   validatorsUsers.usersRemove,
   removeUser
 )
-router.get('/client', getAngularClient)
+
 router.post('/token', oAuth.token, success)
 // TODO: Once https://github.com/oauthjs/node-oauth2-server/pull/289 is merged, implement revoke token route
 
@@ -65,30 +63,6 @@ function createUser (req, res, next) {
   })
 }
 
-function getAngularClient (req, res, next) {
-  const serverHost = config.get('webserver.host')
-  const serverPort = config.get('webserver.port')
-  let headerHostShouldBe = serverHost
-  if (serverPort !== 80 && serverPort !== 443) {
-    headerHostShouldBe += ':' + serverPort
-  }
-
-  // Don't make this check if this is a test instance
-  if (process.env.NODE_ENV !== 'test' && req.get('host') !== headerHostShouldBe) {
-    return res.type('json').status(403).end()
-  }
-
-  Client.loadFirstClient(function (err, client) {
-    if (err) return next(err)
-    if (!client) return next(new Error('No client available.'))
-
-    res.json({
-      client_id: client._id,
-      client_secret: client.clientSecret
-    })
-  })
-}
-
 function listUsers (req, res, next) {
   User.list(function (err, usersList) {
     if (err) return next(err)