Files
XCDesktop/api/modules/todo/index.ts
2026-03-08 01:34:54 +08:00

29 lines
922 B
TypeScript

import type { Router } from 'express'
import type { ServiceContainer } from '../../infra/container.js'
import { createApiModule } from '../../infra/createModule.js'
import { TODO_MODULE } from '../../../shared/modules/todo/index.js'
import { TodoService } from './service.js'
import { createTodoRoutes } from './routes.js'
export * from './types.js'
export * from './parser.js'
export * from './service.js'
export * from './schemas.js'
export * from './routes.js'
export const createTodoModule = () => {
return createApiModule(TODO_MODULE, {
routes: (container: ServiceContainer): Router => {
const todoService = container.getSync<TodoService>('todoService')
return createTodoRoutes({ todoService })
},
lifecycle: {
onLoad: (container: ServiceContainer): void => {
container.register('todoService', () => new TodoService())
},
},
})
}
export default createTodoModule