summary refs log tree commit diff
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/src/middlewares/Authentication.ts2
-rw-r--r--api/src/routes/-/healthz.ts17
-rw-r--r--api/src/routes/-/readyz.ts17
3 files changed, 36 insertions, 0 deletions
diff --git a/api/src/middlewares/Authentication.ts b/api/src/middlewares/Authentication.ts

index 5a082751..59a181e6 100644 --- a/api/src/middlewares/Authentication.ts +++ b/api/src/middlewares/Authentication.ts
@@ -9,6 +9,8 @@ export const NO_AUTHORIZATION_ROUTES = [ "/ping", "/gateway", "/experiments", + "/-/readyz", + "/-/healthz", /\/guilds\/\d+\/widget\.(json|png)/ ]; diff --git a/api/src/routes/-/healthz.ts b/api/src/routes/-/healthz.ts new file mode 100644
index 00000000..a42575f8 --- /dev/null +++ b/api/src/routes/-/healthz.ts
@@ -0,0 +1,17 @@ +import { Router, Response, Request } from "express"; +import { route } from "@fosscord/api"; +import { getConnection } from "typeorm"; + +const router = Router(); + +router.get("/", route({}), (req: Request, res: Response) => { + try { + // test that the database is alive & responding + getConnection(); + return res.sendStatus(200); + } catch(e) { + res.sendStatus(503); + } +}); + +export default router; diff --git a/api/src/routes/-/readyz.ts b/api/src/routes/-/readyz.ts new file mode 100644
index 00000000..a42575f8 --- /dev/null +++ b/api/src/routes/-/readyz.ts
@@ -0,0 +1,17 @@ +import { Router, Response, Request } from "express"; +import { route } from "@fosscord/api"; +import { getConnection } from "typeorm"; + +const router = Router(); + +router.get("/", route({}), (req: Request, res: Response) => { + try { + // test that the database is alive & responding + getConnection(); + return res.sendStatus(200); + } catch(e) { + res.sendStatus(503); + } +}); + +export default router;