fix: create user cli controller dependency
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
import { createUserSymbol } from '@modules/user/user.providers';
|
||||
import {
|
||||
createUserCliLoggerSymbol,
|
||||
createUserSymbol,
|
||||
} from '@modules/user/user.providers';
|
||||
import { Inject } from '@nestjs/common';
|
||||
import { Command, Console } from 'nestjs-console';
|
||||
import { Logger } from 'src/core/ports/logger.port';
|
||||
@@ -14,6 +17,7 @@ export class CreateUserCliController {
|
||||
constructor(
|
||||
@Inject(createUserSymbol)
|
||||
private readonly service: CreateUserService,
|
||||
@Inject(createUserCliLoggerSymbol)
|
||||
private readonly logger: Logger,
|
||||
) {}
|
||||
|
||||
@@ -36,6 +40,6 @@ export class CreateUserCliController {
|
||||
|
||||
const id = await this.service.createUser(command);
|
||||
|
||||
this.logger.log('User created:', id);
|
||||
this.logger.log('User created:', id.value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,11 @@ import { UserRepository } from './database/user.repository';
|
||||
import { CreateUserHttpController } from './commands/create-user/create-user.http.controller';
|
||||
import { FindUserByEmailHttpController } from './queries/find-user-by-email/find-user-by-email.http.controller';
|
||||
import { DeleteUserHttpController } from './commands/delete-user/delete-user.controller';
|
||||
import { createUserProvider, removeUserProvider } from './user.providers';
|
||||
import {
|
||||
createUserCliLoggerProvider,
|
||||
createUserProvider,
|
||||
removeUserProvider,
|
||||
} from './user.providers';
|
||||
import { CreateUserCliController } from './commands/create-user/create-user.cli.controller';
|
||||
|
||||
@Module({
|
||||
@@ -20,6 +24,7 @@ import { CreateUserCliController } from './commands/create-user/create-user.cli.
|
||||
createUserProvider,
|
||||
removeUserProvider,
|
||||
CreateUserCliController,
|
||||
createUserCliLoggerProvider,
|
||||
],
|
||||
})
|
||||
export class UserModule {}
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
import { Provider } from '@nestjs/common';
|
||||
import { Logger, Provider } from '@nestjs/common';
|
||||
import { UserRepository } from './database/user.repository';
|
||||
import { CreateUserService } from './commands/create-user/create-user.service';
|
||||
import { DeleteUserService } from './commands/delete-user/delete-user.service';
|
||||
|
||||
/* Constructing providers to avoid having framework decorators
|
||||
in application core. */
|
||||
like @Injectable() or @Inject() inside application core.
|
||||
Though if you want to simplify things using those decorators
|
||||
is acceptable since they are not very intrusive.
|
||||
Choose how "pure" your application core / domain has to be
|
||||
depending on your needs.
|
||||
*/
|
||||
|
||||
export const createUserSymbol = Symbol('createUser');
|
||||
|
||||
@@ -25,3 +30,12 @@ export const removeUserProvider: Provider = {
|
||||
},
|
||||
inject: [UserRepository],
|
||||
};
|
||||
|
||||
export const createUserCliLoggerSymbol = Symbol('createUserCliLoggerSymbol');
|
||||
|
||||
export const createUserCliLoggerProvider: Provider = {
|
||||
provide: createUserCliLoggerSymbol,
|
||||
useFactory: (): Logger => {
|
||||
return new Logger('create-user-cli');
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user