From 7e30d98948059b8fd0bb53bc7be4752cae7098a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Peveri?= Date: Wed, 6 Dec 2023 15:22:45 +0100 Subject: [PATCH] Improvements eslint and prettier configuration --- .eslintrc.js | 33 +++++++++++-------- .gitignore | 1 + .prettierrc | 5 ++- .../command/loginUser/loginUserCommand.ts | 2 +- .../loginUser/loginUserCommandHandler.ts | 17 +++++++--- .../command/create/createCountryCommand.ts | 2 +- .../create/createCountryCommandHandler.ts | 4 +-- .../command/create/createExpressionCommand.ts | 2 +- .../create/createExpressionCommandHandler.ts | 8 ++--- .../term/command/create/createTermCommand.ts | 2 +- .../create/createTermCommandHandler.ts | 4 +-- .../createOnExpressionCreatedEventHandler.ts | 8 ++--- .../create/createOnWordCreatedEventHandler.ts | 8 ++--- .../user/command/create/createUserCommand.ts | 2 +- .../create/createUserCommandHandler.ts | 2 +- .../update/updateUserCommandHandler.ts | 10 ++++-- ...ateUserOnAuthSessionCreatedEventHandler.ts | 4 +-- .../word/command/create/createWordCommand.ts | 2 +- .../create/createWordCommandHandler.ts | 8 ++--- src/languages/domain/auth/authSession.ts | 4 +-- .../domainEvents/authSessionCreatedEvent.ts | 4 +-- .../domain/auth/valueObjects/session.ts | 2 +- .../domainEvents/expressionCreatedEvent.ts | 4 +-- src/languages/domain/expression/expression.ts | 6 ++-- .../expression/valueObjects/expressionTerm.ts | 2 +- src/languages/domain/term/term.ts | 4 +-- .../word/domainEvents/wordCreatedEvent.ts | 4 +-- .../domain/word/valueObjects/wordTerm.ts | 2 +- src/languages/domain/word/word.ts | 2 +- .../mongo/repositories/mongoTermRepository.ts | 2 +- .../controllers/auth/loginPostController.ts | 2 +- .../expressions/expressionPostController.ts | 2 +- .../controllers/words/wordPostController.ts | 2 +- src/main.ts | 1 + .../domain/buses/eventBus/eventsHandler.ts | 2 +- .../buses/events/persistEventsHandler.ts | 2 +- .../infrastructure/nestjs/logger/logger.ts | 2 +- .../repositories/mongoEventStoreRepository.ts | 2 +- 38 files changed, 98 insertions(+), 77 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 05a76d16..246e51ce 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,22 +9,27 @@ module.exports = { }, plugins: ['@typescript-eslint', 'prettier'], ignorePatterns: ['migrations/'], - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - ], + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], rules: { - 'no-undef': ['error', { 'typeof': true }], + 'no-undef': ['error', { typeof: true }], 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': 'error', 'no-use-before-define': 'error', - - 'quotes': [2, 'single', { 'avoidEscape': true }], - 'semi': ['error', 'always'], - 'indent': 'off', + + quotes: [2, 'single', { avoidEscape: true }], + semi: ['error', 'always'], + indent: 'off', 'linebreak-style': ['error', 'unix'], 'no-extra-semi': 'error', - + 'max-len': ['error', { code: 120, ignorePattern: '^(import\\s.+from\\s.+;?)|(export\\s.+;?)$' }], + 'padding-line-between-statements': [ + 'error', + { blankLine: 'always', prev: '*', next: 'function' }, + { blankLine: 'always', prev: 'function', next: '*' }, + { blankLine: 'always', prev: 'export', next: '*' }, + { blankLine: 'always', prev: '*', next: 'export' }, + ], + '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-empty-function': 'off', @@ -33,9 +38,9 @@ module.exports = { 'error', 'single', { - 'allowTemplateLiterals': true - } + allowTemplateLiterals: true, + }, ], - '@typescript-eslint/no-extra-semi': 'error' - } + '@typescript-eslint/no-extra-semi': 'error', + }, }; diff --git a/.gitignore b/.gitignore index fbd8c94e..edb2e22b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ .stryker-tmp /reports/ stryker.log +.idea \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index d0ed5e8e..959b3990 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,8 @@ { "singleQuote": true, + "semi": true, + "tabWidth": 2, "printWidth": 120, - "tabWidth": 2 + "trailingComma": "all", + "arrowParens": "always" } diff --git a/src/languages/application/auth/command/loginUser/loginUserCommand.ts b/src/languages/application/auth/command/loginUser/loginUserCommand.ts index 7884079c..f8780880 100644 --- a/src/languages/application/auth/command/loginUser/loginUserCommand.ts +++ b/src/languages/application/auth/command/loginUser/loginUserCommand.ts @@ -7,6 +7,6 @@ export default class LoginUserCommand implements Command { public readonly email: string, public readonly token: string, public readonly provider: string, - public readonly photo: string + public readonly photo: string, ) {} } diff --git a/src/languages/application/auth/command/loginUser/loginUserCommandHandler.ts b/src/languages/application/auth/command/loginUser/loginUserCommandHandler.ts index c9cd76af..cce77d9a 100644 --- a/src/languages/application/auth/command/loginUser/loginUserCommandHandler.ts +++ b/src/languages/application/auth/command/loginUser/loginUserCommandHandler.ts @@ -14,15 +14,26 @@ export default class LoginUserCommandHandler implements ICommandHandler { + await this.guardIsValidLogin(command); + + const authSession = this.getAuthSession(command); + await this.authSessionRepository.save(authSession); + + void this.eventBus.publish(authSession.pullDomainEvents()); + } + + private async guardIsValidLogin(command: LoginUserCommand) { const isValid: boolean = await this.socialAuthenticator.login(command.token); if (!isValid) { throw new LoginException(); } + } + private getAuthSession(command: LoginUserCommand) { const authSessionId = AuthSessionId.of(command.id); const session = Session.of({ name: command.name, @@ -31,9 +42,7 @@ export default class LoginUserCommandHandler implements ICommandHandler + public readonly languages: Array, ) {} } diff --git a/src/languages/application/country/command/create/createCountryCommandHandler.ts b/src/languages/application/country/command/create/createCountryCommandHandler.ts index 26317a50..d7008284 100644 --- a/src/languages/application/country/command/create/createCountryCommandHandler.ts +++ b/src/languages/application/country/command/create/createCountryCommandHandler.ts @@ -13,7 +13,7 @@ export default class CreateCountryCommandHandler implements ICommandHandler { const countryId = CountryId.of(command.id); - await this.checkCountryDoesNotExists(countryId); + await this.guardCountryDoesNotExists(countryId); const languages = LanguageCollection.of(command.languages); @@ -22,7 +22,7 @@ export default class CreateCountryCommandHandler implements ICommandHandler { + private async guardCountryDoesNotExists(countryId: CountryId): Promise { const country = await this.countryRepository.findById(countryId); if (country) { throw new CountryAlreadyExistsException(countryId.toString()); diff --git a/src/languages/application/expression/command/create/createExpressionCommand.ts b/src/languages/application/expression/command/create/createExpressionCommand.ts index 6afbc06e..93e40cca 100644 --- a/src/languages/application/expression/command/create/createExpressionCommand.ts +++ b/src/languages/application/expression/command/create/createExpressionCommand.ts @@ -7,6 +7,6 @@ export default class CreateExpressionCommand implements Command { public readonly languageId: string, public readonly countryId: string, public readonly userId: string, - public readonly terms: Array + public readonly terms: Array, ) {} } diff --git a/src/languages/application/expression/command/create/createExpressionCommandHandler.ts b/src/languages/application/expression/command/create/createExpressionCommandHandler.ts index 6aa95193..cb234627 100644 --- a/src/languages/application/expression/command/create/createExpressionCommandHandler.ts +++ b/src/languages/application/expression/command/create/createExpressionCommandHandler.ts @@ -14,19 +14,19 @@ import { CommandHandler, ICommandHandler } from '@src/shared/domain/buses/comman export default class CreateExpressionCommandHandler implements ICommandHandler { constructor( @Inject(EXPRESSION_REPOSITORY) private readonly expressionRepository: ExpressionRepository, - @Inject(EVENT_BUS) private readonly eventBus: EventBus + @Inject(EVENT_BUS) private readonly eventBus: EventBus, ) {} async execute(command: CreateExpressionCommand): Promise { const expressionId = ExpressionId.of(command.id); - await this.checkExpressionDoesNotExists(expressionId); + await this.guardExpressionDoesNotExists(expressionId); const expression = Expression.create( expressionId, command.languageId, CountryId.of(command.countryId), ExpressionTermCollection.of(command.terms), - UserId.of(command.userId) + UserId.of(command.userId), ); await this.expressionRepository.save(expression); @@ -34,7 +34,7 @@ export default class CreateExpressionCommandHandler implements ICommandHandler { + private async guardExpressionDoesNotExists(expressionId: ExpressionId): Promise { const expression = await this.expressionRepository.findById(expressionId); if (expression) { throw new ExpressionAlreadyExistsException(expressionId.toString()); diff --git a/src/languages/application/term/command/create/createTermCommand.ts b/src/languages/application/term/command/create/createTermCommand.ts index f2a24f9d..ac7f1a51 100644 --- a/src/languages/application/term/command/create/createTermCommand.ts +++ b/src/languages/application/term/command/create/createTermCommand.ts @@ -8,7 +8,7 @@ export default class CreateTermCommand extends Projection implements Command { public readonly description: string, public readonly example: string, public readonly hashtags: Array, - public readonly type: string + public readonly type: string, ) { super(); } diff --git a/src/languages/application/term/command/create/createTermCommandHandler.ts b/src/languages/application/term/command/create/createTermCommandHandler.ts index 465d5872..21bebc40 100644 --- a/src/languages/application/term/command/create/createTermCommandHandler.ts +++ b/src/languages/application/term/command/create/createTermCommandHandler.ts @@ -10,7 +10,7 @@ import { EVENT_BUS, EventBus } from '@src/shared/domain/buses/eventBus/eventBus' export default class CreateTermCommandHandler implements ICommandHandler { constructor( @Inject(TERM_REPOSITORY) private readonly termRepository: TermRepository, - @Inject(EVENT_BUS) private readonly eventBus: EventBus + @Inject(EVENT_BUS) private readonly eventBus: EventBus, ) {} async execute(command: CreateTermCommand): Promise { @@ -34,7 +34,7 @@ export default class CreateTermCommandHandler implements ICommandHandler { - const terms = event.terms; - - for (const term of terms) { + for (const term of event.terms) { await this.commandBus.dispatch( new CreateTermCommand( event.aggregateId, @@ -20,8 +18,8 @@ export default class CreateOnExpressionCreatedEventHandler implements IEventHand term['description'], term['example'], term['hashtags'], - TermTypeEnum.EXPRESSION - ) + TermTypeEnum.EXPRESSION, + ), ); } } diff --git a/src/languages/application/term/event/create/createOnWordCreatedEventHandler.ts b/src/languages/application/term/event/create/createOnWordCreatedEventHandler.ts index 051c95e7..7c6cf48c 100644 --- a/src/languages/application/term/event/create/createOnWordCreatedEventHandler.ts +++ b/src/languages/application/term/event/create/createOnWordCreatedEventHandler.ts @@ -10,9 +10,7 @@ export default class CreateOnWordCreatedEventHandler implements IEventHandler { - const terms = event.terms; - - for (const term of terms) { + for (const term of event.terms) { await this.commandBus.dispatch( new CreateTermCommand( event.aggregateId, @@ -20,8 +18,8 @@ export default class CreateOnWordCreatedEventHandler implements IEventHandler { + const user = await this.getUser(command); + + user.update(command.name, command.photo); + await this.userRepository.save(user); + } + + private async getUser(command: UpdateUserCommand) { const user = await this.userRepository.findById(UserId.of(command.id)); if (null === user) { throw new UserDoesNotExistsException(command.id); } - user.update(command.name, command.photo); - await this.userRepository.save(user); + return user; } } diff --git a/src/languages/application/user/event/createOrUpdate/createOrUpdateUserOnAuthSessionCreatedEventHandler.ts b/src/languages/application/user/event/createOrUpdate/createOrUpdateUserOnAuthSessionCreatedEventHandler.ts index c5b86141..460e42dd 100644 --- a/src/languages/application/user/event/createOrUpdate/createOrUpdateUserOnAuthSessionCreatedEventHandler.ts +++ b/src/languages/application/user/event/createOrUpdate/createOrUpdateUserOnAuthSessionCreatedEventHandler.ts @@ -13,7 +13,7 @@ export default class CreateOrUpdateUserOnAuthSessionCreatedEventHandler { constructor( @Inject(USER_REPOSITORY) private readonly userRepository: UserRepository, - @Inject(COMMAND_BUS) private readonly commandBus: CommandBus + @Inject(COMMAND_BUS) private readonly commandBus: CommandBus, ) {} async handle(event: AuthSessionCreatedEvent): Promise { @@ -21,7 +21,7 @@ export default class CreateOrUpdateUserOnAuthSessionCreatedEventHandler const user = await this.userRepository.findById(userId); if (null === user) { await this.commandBus.dispatch( - new CreateUserCommand(userId.toString(), event.name, event.email, event.token, event.provider, event.photo) + new CreateUserCommand(userId.toString(), event.name, event.email, event.token, event.provider, event.photo), ); return; } diff --git a/src/languages/application/word/command/create/createWordCommand.ts b/src/languages/application/word/command/create/createWordCommand.ts index c091fc9d..bf38f8df 100644 --- a/src/languages/application/word/command/create/createWordCommand.ts +++ b/src/languages/application/word/command/create/createWordCommand.ts @@ -7,6 +7,6 @@ export default class CreateWordCommand implements Command { public readonly languageId: string, public readonly countryId: string, public readonly userId: string, - public readonly terms: Array + public readonly terms: Array, ) {} } diff --git a/src/languages/application/word/command/create/createWordCommandHandler.ts b/src/languages/application/word/command/create/createWordCommandHandler.ts index b85c0b3b..3ff9abb4 100644 --- a/src/languages/application/word/command/create/createWordCommandHandler.ts +++ b/src/languages/application/word/command/create/createWordCommandHandler.ts @@ -14,19 +14,19 @@ import { CommandHandler, ICommandHandler } from '@src/shared/domain/buses/comman export default class CreateWordCommandHandler implements ICommandHandler { constructor( @Inject(WORD_REPOSITORY) private readonly wordRepository: WordRepository, - @Inject(EVENT_BUS) private readonly eventBus: EventBus + @Inject(EVENT_BUS) private readonly eventBus: EventBus, ) {} async execute(command: CreateWordCommand): Promise { const wordId = WordId.of(command.id); - await this.checkWordDoesNotExists(wordId); + await this.guardWordDoesNotExists(wordId); const word = Word.create( wordId, command.languageId, CountryId.of(command.countryId), WordTermCollection.of(command.terms), - UserId.of(command.userId) + UserId.of(command.userId), ); await this.wordRepository.save(word); @@ -34,7 +34,7 @@ export default class CreateWordCommandHandler implements ICommandHandler { + private async guardWordDoesNotExists(wordId: WordId): Promise { const word = await this.wordRepository.findById(wordId); if (word) { throw new WordAlreadyExistsException(wordId.toString()); diff --git a/src/languages/domain/auth/authSession.ts b/src/languages/domain/auth/authSession.ts index fd73c1d7..dd5fd36b 100644 --- a/src/languages/domain/auth/authSession.ts +++ b/src/languages/domain/auth/authSession.ts @@ -26,8 +26,8 @@ export default class AuthSession extends AggregateRoot { sessionPrimitives.email, sessionPrimitives.token, sessionPrimitives.provider, - sessionPrimitives.photo - ) + sessionPrimitives.photo, + ), ); return authSession; diff --git a/src/languages/domain/auth/domainEvents/authSessionCreatedEvent.ts b/src/languages/domain/auth/domainEvents/authSessionCreatedEvent.ts index 24703047..563abd03 100644 --- a/src/languages/domain/auth/domainEvents/authSessionCreatedEvent.ts +++ b/src/languages/domain/auth/domainEvents/authSessionCreatedEvent.ts @@ -8,7 +8,7 @@ export default class AuthSessionCreatedEvent extends DomainEvent { public readonly token: string, public readonly provider: string, public readonly photo: string, - eventId = '' + eventId = '', ) { super(id, eventId); } @@ -21,7 +21,7 @@ export default class AuthSessionCreatedEvent extends DomainEvent { payload['token'], payload['provider'], payload['photo'], - payload['eventId'] + payload['eventId'], ); } diff --git a/src/languages/domain/auth/valueObjects/session.ts b/src/languages/domain/auth/valueObjects/session.ts index 256b3226..02140bcd 100644 --- a/src/languages/domain/auth/valueObjects/session.ts +++ b/src/languages/domain/auth/valueObjects/session.ts @@ -12,7 +12,7 @@ export default class Session { private readonly email: string, private readonly provider: string, private readonly token: string, - private readonly photo: string + private readonly photo: string, ) {} static of(session: SessionPrimitives): Session { diff --git a/src/languages/domain/expression/domainEvents/expressionCreatedEvent.ts b/src/languages/domain/expression/domainEvents/expressionCreatedEvent.ts index 859a73b0..3b9dea4b 100644 --- a/src/languages/domain/expression/domainEvents/expressionCreatedEvent.ts +++ b/src/languages/domain/expression/domainEvents/expressionCreatedEvent.ts @@ -8,7 +8,7 @@ export default class ExpressionCreatedEvent extends DomainEvent { public readonly countryId: string, public readonly userId: string, public readonly terms: Array, - eventId = '' + eventId = '', ) { super(id, eventId); } @@ -20,7 +20,7 @@ export default class ExpressionCreatedEvent extends DomainEvent { payload['countryId'], payload['userId'], payload['terms'], - payload['eventId'] + payload['eventId'], ); } diff --git a/src/languages/domain/expression/expression.ts b/src/languages/domain/expression/expression.ts index d9ce0990..1a0b1531 100644 --- a/src/languages/domain/expression/expression.ts +++ b/src/languages/domain/expression/expression.ts @@ -17,7 +17,7 @@ export default class Expression extends AggregateRoot { languageId: string, countryId: CountryId, terms: ExpressionTermCollection, - userId: UserId + userId: UserId, ) { super(); @@ -33,11 +33,11 @@ export default class Expression extends AggregateRoot { languageId: string, countryId: CountryId, terms: ExpressionTermCollection, - userId: UserId + userId: UserId, ): Expression { const expression = new this(id, languageId, countryId, terms, userId); expression.record( - new ExpressionCreatedEvent(id.toString(), languageId, countryId.toString(), userId.toString(), terms.toArray()) + new ExpressionCreatedEvent(id.toString(), languageId, countryId.toString(), userId.toString(), terms.toArray()), ); return expression; diff --git a/src/languages/domain/expression/valueObjects/expressionTerm.ts b/src/languages/domain/expression/valueObjects/expressionTerm.ts index cd5f9298..e25eaafc 100644 --- a/src/languages/domain/expression/valueObjects/expressionTerm.ts +++ b/src/languages/domain/expression/valueObjects/expressionTerm.ts @@ -10,7 +10,7 @@ export default class ExpressionTerm { private readonly expression: string, private readonly description: string, private readonly example: string, - private readonly hashtags: Array + private readonly hashtags: Array, ) {} static of(wordTerm: ExpressionTermPrimitives): ExpressionTerm { diff --git a/src/languages/domain/term/term.ts b/src/languages/domain/term/term.ts index 2b192d69..ffcbf4f5 100644 --- a/src/languages/domain/term/term.ts +++ b/src/languages/domain/term/term.ts @@ -12,7 +12,7 @@ export default class Term extends AggregateRoot { readonly hashtags: Array, readonly likes: Array, readonly disLikes: Array, - readonly favourites: Array + readonly favourites: Array, ) { super(); } @@ -26,7 +26,7 @@ export default class Term extends AggregateRoot { hashtags: Array, likes: Array, disLikes: Array, - favourites: Array + favourites: Array, ): Term { return new this(id, title, description, example, type, hashtags, likes, disLikes, favourites); } diff --git a/src/languages/domain/word/domainEvents/wordCreatedEvent.ts b/src/languages/domain/word/domainEvents/wordCreatedEvent.ts index 3ded538e..9c17e6f9 100644 --- a/src/languages/domain/word/domainEvents/wordCreatedEvent.ts +++ b/src/languages/domain/word/domainEvents/wordCreatedEvent.ts @@ -8,7 +8,7 @@ export default class WordCreatedEvent extends DomainEvent { public readonly countryId: string, public readonly userId: string, public readonly terms: Array, - eventId = '' + eventId = '', ) { super(id, eventId); } @@ -20,7 +20,7 @@ export default class WordCreatedEvent extends DomainEvent { payload['countryId'], payload['userId'], payload['terms'], - payload['eventId'] + payload['eventId'], ); } diff --git a/src/languages/domain/word/valueObjects/wordTerm.ts b/src/languages/domain/word/valueObjects/wordTerm.ts index 709a30da..4b882936 100644 --- a/src/languages/domain/word/valueObjects/wordTerm.ts +++ b/src/languages/domain/word/valueObjects/wordTerm.ts @@ -10,7 +10,7 @@ export default class WordTerm { private readonly word: string, private readonly description: string, private readonly example: string, - private readonly hashtags: Array + private readonly hashtags: Array, ) {} static of(wordTerm: WordTermPrimitives): WordTerm { diff --git a/src/languages/domain/word/word.ts b/src/languages/domain/word/word.ts index 5ad4f777..b35047d6 100644 --- a/src/languages/domain/word/word.ts +++ b/src/languages/domain/word/word.ts @@ -25,7 +25,7 @@ export default class Word extends AggregateRoot { static create(id: WordId, languageId: string, countryId: CountryId, terms: WordTermCollection, userId: UserId): Word { const word = new this(id, languageId, countryId, terms, userId); word.record( - new WordCreatedEvent(id.toString(), languageId, countryId.toString(), userId.toString(), terms.toArray()) + new WordCreatedEvent(id.toString(), languageId, countryId.toString(), userId.toString(), terms.toArray()), ); return word; } diff --git a/src/languages/infrastructure/persistence/mongo/repositories/mongoTermRepository.ts b/src/languages/infrastructure/persistence/mongo/repositories/mongoTermRepository.ts index 18f29072..daf9c21b 100644 --- a/src/languages/infrastructure/persistence/mongo/repositories/mongoTermRepository.ts +++ b/src/languages/infrastructure/persistence/mongo/repositories/mongoTermRepository.ts @@ -28,7 +28,7 @@ export default class MongoTermRepository extends MongoRepository implement doc.hashtags, doc.likes, doc.disLikes, - doc.favourites + doc.favourites, ); }); diff --git a/src/languages/infrastructure/ui/api/v1/controllers/auth/loginPostController.ts b/src/languages/infrastructure/ui/api/v1/controllers/auth/loginPostController.ts index c2b42f14..85481141 100644 --- a/src/languages/infrastructure/ui/api/v1/controllers/auth/loginPostController.ts +++ b/src/languages/infrastructure/ui/api/v1/controllers/auth/loginPostController.ts @@ -20,7 +20,7 @@ export default class LoginPostController { async run(@Body() payload: LoginPostDto): Promise { const id = Uuid.fromString(payload.email).toString(); await this.commandBus.dispatch( - new LoginUserCommand(id, payload.name, payload.email, payload.token, payload.provider, payload.photo) + new LoginUserCommand(id, payload.name, payload.email, payload.token, payload.provider, payload.photo), ); const user = { id: id, name: payload.name, email: payload.email }; diff --git a/src/languages/infrastructure/ui/api/v1/controllers/expressions/expressionPostController.ts b/src/languages/infrastructure/ui/api/v1/controllers/expressions/expressionPostController.ts index 301f7016..220e8a8d 100644 --- a/src/languages/infrastructure/ui/api/v1/controllers/expressions/expressionPostController.ts +++ b/src/languages/infrastructure/ui/api/v1/controllers/expressions/expressionPostController.ts @@ -27,7 +27,7 @@ export default class ExpressionPostController { async run(@Body() payload: ExpressionPostDto): Promise { const expressionTerms: Array = payload.terms; await this.commandBus.dispatch( - new CreateExpressionCommand(payload.id, payload.languageId, payload.countryId, payload.userId, expressionTerms) + new CreateExpressionCommand(payload.id, payload.languageId, payload.countryId, payload.userId, expressionTerms), ); } } diff --git a/src/languages/infrastructure/ui/api/v1/controllers/words/wordPostController.ts b/src/languages/infrastructure/ui/api/v1/controllers/words/wordPostController.ts index de0f46bc..2e8a014e 100644 --- a/src/languages/infrastructure/ui/api/v1/controllers/words/wordPostController.ts +++ b/src/languages/infrastructure/ui/api/v1/controllers/words/wordPostController.ts @@ -27,7 +27,7 @@ export default class WordPostController { async run(@Body() payload: WordPostDto): Promise { const wordTerms: Array = payload.terms; await this.commandBus.dispatch( - new CreateWordCommand(payload.id, payload.languageId, payload.countryId, payload.userId, wordTerms) + new CreateWordCommand(payload.id, payload.languageId, payload.countryId, payload.userId, wordTerms), ); } } diff --git a/src/main.ts b/src/main.ts index fdecc476..62299a40 100644 --- a/src/main.ts +++ b/src/main.ts @@ -39,4 +39,5 @@ async function bootstrap() { console.log('Press CTRL-C to stop\n'); }); } + bootstrap(); diff --git a/src/shared/domain/buses/eventBus/eventsHandler.ts b/src/shared/domain/buses/eventBus/eventsHandler.ts index 7d55a6df..01ba5234 100644 --- a/src/shared/domain/buses/eventBus/eventsHandler.ts +++ b/src/shared/domain/buses/eventBus/eventsHandler.ts @@ -12,7 +12,7 @@ export function EventsHandler(...events: (IEvent | (new (...args: any[]) => IEve async () => { return originalHandle.apply(this, args); }, - { numOfAttempts: 3, delayFirstAttempt: false, startingDelay: 5000 } + { numOfAttempts: 3, delayFirstAttempt: false, startingDelay: 5000 }, ); }; diff --git a/src/shared/infrastructure/nestjs/buses/events/persistEventsHandler.ts b/src/shared/infrastructure/nestjs/buses/events/persistEventsHandler.ts index 8e65d0af..c8fa2d59 100644 --- a/src/shared/infrastructure/nestjs/buses/events/persistEventsHandler.ts +++ b/src/shared/infrastructure/nestjs/buses/events/persistEventsHandler.ts @@ -12,7 +12,7 @@ export class PersistEventsHandler { constructor( private eventBus: EventBus, - @Inject(EVENT_STORE_REPOSITORY) private eventStoreRepository: EventStoreRepository + @Inject(EVENT_STORE_REPOSITORY) private eventStoreRepository: EventStoreRepository, ) { this.eventBus.pipe(takeUntil(this.destroy$)).subscribe((event) => { mongoTransactionalOperation(async (event: DomainEvent) => { diff --git a/src/shared/infrastructure/nestjs/logger/logger.ts b/src/shared/infrastructure/nestjs/logger/logger.ts index b09fa1c3..bb2f949a 100644 --- a/src/shared/infrastructure/nestjs/logger/logger.ts +++ b/src/shared/infrastructure/nestjs/logger/logger.ts @@ -15,7 +15,7 @@ export default class Logger extends NestJsLogger implements LoggerInterface { winston.format.colorize(), winston.format.printf(({ timestamp, level, message }) => { return `${timestamp} [${level}] - ${message}`; - }) + }), ), transports: [new winston.transports.Console()], }); diff --git a/src/shared/infrastructure/persistence/mongo/repositories/mongoEventStoreRepository.ts b/src/shared/infrastructure/persistence/mongo/repositories/mongoEventStoreRepository.ts index 18bb2078..b52f878f 100644 --- a/src/shared/infrastructure/persistence/mongo/repositories/mongoEventStoreRepository.ts +++ b/src/shared/infrastructure/persistence/mongo/repositories/mongoEventStoreRepository.ts @@ -24,7 +24,7 @@ export default class MongoEventStoreRepository implements EventStoreRepository { occurredOn: entity.occurredOn, }, }, - { upsert: true } + { upsert: true }, ); }