52 lines
1.9 KiB
TypeScript
52 lines
1.9 KiB
TypeScript
import { Logger, Module, Provider } from '@nestjs/common';
|
|
import { UserRepository } from './database/user.repository';
|
|
import { CreateUserHttpController } from './commands/create-user/create-user.http.controller';
|
|
import { DeleteUserHttpController } from './commands/delete-user/delete-user.http-controller';
|
|
import { CreateUserCliController } from './commands/create-user/create-user.cli.controller';
|
|
import { FindUsersHttpController } from './queries/find-users/find-users.http.controller';
|
|
import { CreateUserMessageController } from './commands/create-user/create-user.message.controller';
|
|
import { CreateUserGraphqlResolver } from './commands/create-user/graphql-example/create-user.graphql-resolver';
|
|
import { CreateUserService } from './commands/create-user/create-user.service';
|
|
import { DeleteUserService } from './commands/delete-user/delete-user.service';
|
|
import { FindUsersQueryHandler } from './queries/find-users/find-users.query-handler';
|
|
import { UserMapper } from './user.mapper';
|
|
import { CqrsModule } from '@nestjs/cqrs';
|
|
import { USER_REPOSITORY } from './user.di-tokens';
|
|
|
|
const httpControllers = [
|
|
CreateUserHttpController,
|
|
DeleteUserHttpController,
|
|
FindUsersHttpController,
|
|
];
|
|
|
|
const messageControllers = [CreateUserMessageController];
|
|
|
|
const cliControllers: Provider[] = [CreateUserCliController];
|
|
|
|
const graphqlResolvers: Provider[] = [CreateUserGraphqlResolver];
|
|
|
|
const commandHandlers: Provider[] = [CreateUserService, DeleteUserService];
|
|
|
|
const queryHandlers: Provider[] = [FindUsersQueryHandler];
|
|
|
|
const mappers: Provider[] = [UserMapper];
|
|
|
|
const repositories: Provider[] = [
|
|
{ provide: USER_REPOSITORY, useClass: UserRepository },
|
|
];
|
|
|
|
@Module({
|
|
imports: [CqrsModule],
|
|
controllers: [...httpControllers, ...messageControllers],
|
|
providers: [
|
|
Logger,
|
|
...cliControllers,
|
|
...repositories,
|
|
...graphqlResolvers,
|
|
...commandHandlers,
|
|
...queryHandlers,
|
|
...mappers,
|
|
],
|
|
})
|
|
export class UserModule {}
|