Initial commit
This commit is contained in:
28
api/modules/todo/index.ts
Normal file
28
api/modules/todo/index.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
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
|
||||
Reference in New Issue
Block a user