AdelieStack/src/lib/server/api/index.ts

24 lines
883 B
TypeScript
Raw Normal View History

import { z } from 'zod';
import { extendZodWithOpenApi } from 'hono-zod-openapi';
import { Container } from '@needle-di/core';
import { ApplicationController } from './application.controller';
import { ApplicationModule } from './application.module';
2024-12-31 22:43:09 +00:00
extendZodWithOpenApi(z);
2024-12-31 22:43:09 +00:00
const applicationController = new Container().get(ApplicationController);
const applicationModule = new Container().get(ApplicationModule);
2024-12-31 22:43:09 +00:00
export const app = applicationModule.app();
/* ------------------------------ startServer ------------------------------ */
export function startServer() {
return applicationModule.start();
}
2024-12-31 22:43:09 +00:00
/* ----------------------------------- api ---------------------------------- */
export const routes = applicationController.registerControllers();
2024-12-31 22:43:09 +00:00
/* ---------------------------------- Types --------------------------------- */
2024-12-31 22:43:09 +00:00
export type ApiRoutes = typeof routes;