Skip to content

Commit b082f71

Browse files
author
Simon Emms
committed
Create installation admin controller
1 parent f5c27bf commit b082f71

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3+
* Licensed under the GNU Affero General Public License (AGPL).
4+
* See License-AGPL.txt in the project root for license information.
5+
*/
6+
7+
import { injectable } from 'inversify';
8+
import * as express from 'express';
9+
10+
@injectable()
11+
export class InstallationAdminController {
12+
get apiRouter(): express.Router {
13+
const router = express.Router();
14+
15+
router.get('/data', async (req: express.Request, res: express.Response) => {
16+
res.send({
17+
hello: 'world'
18+
})
19+
});
20+
21+
return router;
22+
}
23+
}

components/server/src/server.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import { Config } from './config';
4444
import { DebugApp } from './debug-app';
4545
import { LocalMessageBroker } from './messaging/local-message-broker';
4646
import { WsPingPongHandler } from './express/ws-ping-pong-handler';
47+
import { InstallationAdminController } from './installation-admin/installation-admin-controller';
4748

4849
@injectable()
4950
export class Server<C extends GitpodClient, S extends GitpodServer> {
@@ -54,6 +55,7 @@ export class Server<C extends GitpodClient, S extends GitpodServer> {
5455
@inject(SessionHandlerProvider) protected sessionHandlerProvider: SessionHandlerProvider;
5556
@inject(Authenticator) protected authenticator: Authenticator;
5657
@inject(UserController) protected readonly userController: UserController;
58+
@inject(InstallationAdminController) protected readonly installationAdminController: InstallationAdminController;
5759
@inject(EnforcementController) protected readonly enforcementController: EnforcementController;
5860
@inject(WebsocketConnectionManager) protected websocketConnectionHandler: WebsocketConnectionManager;
5961
@inject(MessageBusIntegration) protected readonly messagebus: MessageBusIntegration;
@@ -102,7 +104,7 @@ export class Server<C extends GitpodClient, S extends GitpodServer> {
102104
// metrics
103105
app.use((req: express.Request, res: express.Response, next: express.NextFunction) => {
104106
const startTime = Date.now();
105-
req.on("end", () =>{
107+
req.on("end", () => {
106108
const method = req.method;
107109
const route = req.route?.path || req.baseUrl || "unknown";
108110
observeHttpRequestDuration(method, route, res.statusCode, (Date.now() - startTime) / 1000)
@@ -283,6 +285,7 @@ export class Server<C extends GitpodClient, S extends GitpodServer> {
283285
res.send(this.config.version);
284286
});
285287
app.use(this.oauthController.oauthRouter);
288+
app.use('/installation-admin', this.installationAdminController.apiRouter);
286289
}
287290

288291
public async start(port: number) {

0 commit comments

Comments
 (0)