mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-01-17 07:10:03 +00:00
29 lines
901 B
TypeScript
29 lines
901 B
TypeScript
import Express, {
|
|
ExpressRequest,
|
|
ExpressResponse,
|
|
ExpressRouter,
|
|
} from "../Utils/Express";
|
|
import Response from "../Utils/Response";
|
|
import { JSONObject } from "../../Types/JSON";
|
|
import OpenAPIUtil from "../Utils/OpenAPI";
|
|
|
|
export interface StatusAPIOptions {
|
|
readyCheck: () => Promise<void>;
|
|
liveCheck: () => Promise<void>;
|
|
globalCacheCheck?: (() => Promise<void>) | undefined;
|
|
analyticsDatabaseCheck?: (() => Promise<void>) | undefined;
|
|
databaseCheck?: (() => Promise<void>) | undefined;
|
|
}
|
|
|
|
export default class OpenAPI {
|
|
public static getRouter(): ExpressRouter {
|
|
const router: ExpressRouter = Express.getRouter();
|
|
|
|
router.get("/openapi/spec", (req: ExpressRequest, res: ExpressResponse) => {
|
|
const openAPISpec: JSONObject = OpenAPIUtil.generateOpenAPISpec();
|
|
return Response.sendJsonObjectResponse(req, res, openAPISpec);
|
|
});
|
|
|
|
return router;
|
|
}
|
|
}
|