]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/oauth-clients.ts
Support occitan
[github/Chocobozzz/PeerTube.git] / server / controllers / api / oauth-clients.ts
index f7dac598c3d62770049ca656bc27f8d35c9973a0..3dcc023e6e20ba80ffc099e499cca56ac96feb7d 100644 (file)
@@ -1,16 +1,18 @@
 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 { logger } from '../../helpers/logger'
+import { CONFIG } from '../../initializers'
+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
@@ -24,17 +26,14 @@ function getLocalClient (req: express.Request, res: express.Response, next: expr
     return res.type('json').status(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)
 }
 
 // ---------------------------------------------------------------------------