X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Foauth-clients.ts;h=c21e2298d63848b7825d35b7dfa6528390d53962;hb=afd4ee86ddb97f8d49585fddd318bedcd3ad55b8;hp=f7dac598c3d62770049ca656bc27f8d35c9973a0;hpb=6fcd19ba737f1f5614a56c6925adb882dea43b8d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/oauth-clients.ts b/server/controllers/api/oauth-clients.ts index f7dac598c..c21e2298d 100644 --- a/server/controllers/api/oauth-clients.ts +++ b/server/controllers/api/oauth-clients.ts @@ -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) } // ---------------------------------------------------------------------------