blob: 0b0078036171863cb4dbaa455b8112c8d76e6476 [file] [log] [blame]
Issam E. Maghni0ef4a362022-10-05 23:20:16 +00001/*
2 * Copyright (C) 2022 Savoir-faire Linux Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License as
6 * published by the Free Software Foundation; either version 3 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Affero General Public License for more details.
13 *
14 * You should have received a copy of the GNU Affero General Public
15 * License along with this program. If not, see
16 * <https://www.gnu.org/licenses/>.
17 */
18import express, { json, Router as ERouter } from 'express';
19import asyncHandler from 'express-async-handler';
20import { Service } from 'typedi';
21
22import { StatusCode } from './constants.js';
23
24@Service()
25class Router {
26 async build() {
27 const router = ERouter();
28
29 router.use(json());
30
31 await Promise.resolve(42);
32
33 router.post(
34 '/new-account',
35 asyncHandler(async (_req, res, _next) => {
36 await Promise.resolve(42);
37 res.sendStatus(StatusCode.NOT_IMPLEMENTED);
38 })
39 );
40
41 router.post(
42 '/login',
43 asyncHandler(async (_req, res, _next) => {
44 await Promise.resolve(42);
45 res.sendStatus(StatusCode.NOT_IMPLEMENTED);
46 })
47 );
48
49 const app = express();
50 app.use('/', router);
51 return app;
52 }
53}
54
55export { Router };