26 lines
866 B
TypeScript
26 lines
866 B
TypeScript
import type { Router } from 'express'
|
|
import type { ServiceContainer } from '../../infra/container.js'
|
|
import { createApiModule } from '../../infra/createModule.js'
|
|
import { REMOTE_MODULE } from '../../../shared/modules/remote/index.js'
|
|
import { RemoteService } from './service.js'
|
|
import { createRemoteRoutes } from './routes.js'
|
|
|
|
export * from './service.js'
|
|
export * from './routes.js'
|
|
|
|
export const createRemoteModule = () => {
|
|
return createApiModule(REMOTE_MODULE, {
|
|
routes: (container: ServiceContainer): Router => {
|
|
const remoteService = container.getSync<RemoteService>('remoteService')
|
|
return createRemoteRoutes({ remoteService })
|
|
},
|
|
lifecycle: {
|
|
onLoad: (container: ServiceContainer): void => {
|
|
container.register('remoteService', () => new RemoteService())
|
|
},
|
|
},
|
|
})
|
|
}
|
|
|
|
export default createRemoteModule
|