init
This commit is contained in:
32
packages/server/src/endpoints/system/system.ts
Normal file
32
packages/server/src/endpoints/system/system.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import type { FastifyPluginAsyncZod } from 'fastify-type-provider-zod';
|
||||
import { z } from 'zod';
|
||||
|
||||
import { DatabaseService } from '#root/services/database/database.ts';
|
||||
|
||||
const systemEndpoints: FastifyPluginAsyncZod = async (instance) => {
|
||||
instance.route({
|
||||
method: 'GET',
|
||||
url: '/ready',
|
||||
schema: {
|
||||
tags: ['system'],
|
||||
operationId: 'GET/system/ready',
|
||||
summary: 'Get system ready state',
|
||||
response: {
|
||||
200: z.object({
|
||||
status: z.literal('ok'),
|
||||
}),
|
||||
},
|
||||
},
|
||||
handler: async (_, reply) => {
|
||||
const { services } = instance;
|
||||
const databaseService = services.get(DatabaseService);
|
||||
const db = await databaseService.getInstance();
|
||||
await db.raw('SELECT 1=1');
|
||||
await reply.send({
|
||||
status: 'ok',
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export { systemEndpoints };
|
||||
Reference in New Issue
Block a user