-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadmin.router.ts
53 lines (47 loc) · 1.95 KB
/
admin.router.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { StatusCodes, getReasonPhrase } from "http-status-codes";
import type { App } from "#/app";
import { PathsV1 } from "#/common/paths";
import type { AppBindings } from "#/env";
import { isRoleAllowed } from "#/middleware/auth.middleware";
import * as AdminAccountsControllers from "./admin.controllers.accounts";
import * as AdminDataControllers from "./admin.controllers.data";
import * as AdminQueriesControllers from "./admin.controllers.queries";
import * as AdminSchemasControllers from "./admin.controllers.schemas";
import * as AdminSystemControllers from "./admin.controllers.system";
export function buildAdminRouter(app: App, _bindings: AppBindings): void {
app.use(
`${PathsV1.admin.root}/*`,
// biome-ignore lint/suspicious/noConfusingVoidType: <explanation>
async (c, next): Promise<void | Response> => {
return isRoleAllowed(c, ["admin", "root"])
? next()
: c.text(
getReasonPhrase(StatusCodes.UNAUTHORIZED),
StatusCodes.UNAUTHORIZED,
);
},
);
AdminAccountsControllers.create(app);
AdminAccountsControllers.remove(app);
AdminAccountsControllers.list(app);
AdminAccountsControllers.setSubscriptionState(app);
AdminAccountsControllers.getSubscriptionState(app);
AdminDataControllers.remove(app);
AdminDataControllers.flush(app);
AdminDataControllers.read(app);
AdminDataControllers.tail(app);
AdminDataControllers.update(app);
AdminDataControllers.upload(app);
AdminQueriesControllers.add(app);
AdminQueriesControllers.remove(app);
AdminQueriesControllers.execute(app);
AdminSchemasControllers.add(app);
AdminSchemasControllers.remove(app);
AdminSchemasControllers.metadata(app);
AdminSchemasControllers.createIndex(app);
AdminSchemasControllers.dropIndex(app);
AdminSystemControllers.setMaintenanceWindow(app);
AdminSystemControllers.deleteMaintenanceWindow(app);
AdminSystemControllers.setLogLevel(app);
AdminSystemControllers.getLogLevel(app);
}