]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/oauth-clients.ts
Remove traefik docker support
[github/Chocobozzz/PeerTube.git] / server / controllers / api / oauth-clients.ts
index f7dac598c3d62770049ca656bc27f8d35c9973a0..c21e2298d63848b7825d35b7dfa6528390d53962 100644 (file)
@@ -1,16 +1,19 @@
 import * as express from 'express'
-
-import { CONFIG } from '../../initializers'
-import { logger } from '../../helpers'
-import { database as db } from '../../initializers/database'
 import { OAuthClientLocal } from '../../../shared'
+import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
+import { logger } from '../../helpers/logger'
+import { CONFIG } from '../../initializers/config'
+import { asyncMiddleware } from '../../middlewares'
+import { OAuthClientModel } from '../../models/oauth/oauth-client'
 
 const oauthClientsRouter = express.Router()
 
-oauthClientsRouter.get('/local', getLocalClient)
+oauthClientsRouter.get('/local',
+  asyncMiddleware(getLocalClient)
+)
 
 // Get the client credentials for the PeerTube front end
-function getLocalClient (req: express.Request, res: express.Response, next: express.NextFunction) {
+async function getLocalClient (req: express.Request, res: express.Response, next: express.NextFunction) {
   const serverHostname = CONFIG.WEBSERVER.HOSTNAME
   const serverPort = CONFIG.WEBSERVER.PORT
   let headerHostShouldBe = serverHostname
@@ -21,20 +24,17 @@ function getLocalClient (req: express.Request, res: express.Response, next: expr
   // Don't make this check if this is a test instance
   if (process.env.NODE_ENV !== 'test' && req.get('host') !== headerHostShouldBe) {
     logger.info('Getting client tokens for host %s is forbidden (expected %s).', req.get('host'), headerHostShouldBe)
-    return res.type('json').status(403).end()
+    return res.type('json').status(HttpStatusCode.FORBIDDEN_403).end()
   }
 
-  db.OAuthClient.loadFirstClient()
-    .then(client => {
-      if (!client) throw new Error('No client available.')
-
-      const json: OAuthClientLocal = {
-        client_id: client.clientId,
-        client_secret: client.clientSecret
-      }
-      res.json(json)
-    })
-    .catch(err => next(err))
+  const client = await OAuthClientModel.loadFirstClient()
+  if (!client) throw new Error('No client available.')
+
+  const json: OAuthClientLocal = {
+    client_id: client.clientId,
+    client_secret: client.clientSecret
+  }
+  return res.json(json)
 }
 
 // ---------------------------------------------------------------------------