update readme, update logging

This commit is contained in:
sbriat
2023-02-08 16:09:27 +01:00
parent 48e4f456a7
commit 32c03be851
5 changed files with 119 additions and 20 deletions

View File

@@ -0,0 +1,9 @@
import { AutoMap } from '@automapper/classes';
export class TerritoryLoggingPresenter {
@AutoMap()
uuid: string;
@AutoMap()
name: string;
}

View File

@@ -7,6 +7,7 @@ import { CreateTerritoryCommand } from '../../commands/create-territory.command'
import { TerritoryMessager } from '../../adapters/secondaries/territory.messager';
import { Territory } from '../entities/territory';
import { CreateTerritoryRequest } from '../dtos/create-territory.request';
import { TerritoryLoggingPresenter } from '../../adapters/secondaries/territory-logging.presenter';
@CommandHandler(CreateTerritoryCommand)
export class CreateTerritoryUseCase {
@@ -26,10 +27,17 @@ export class CreateTerritoryUseCase {
try {
const territory = await this._repository.createTerritory(entity);
this._territoryMessager.publish('create', JSON.stringify(territory));
this._territoryMessager.publish(
'create',
JSON.stringify(
this._mapper.map(territory, Territory, TerritoryLoggingPresenter),
),
);
this._loggingMessager.publish(
'territory.create.info',
JSON.stringify(territory),
JSON.stringify(
this._mapper.map(territory, Territory, TerritoryLoggingPresenter),
),
);
return territory;
} catch (error) {

View File

@@ -4,6 +4,7 @@ import { CommandHandler } from '@nestjs/cqrs';
import { LoggingMessager } from '../../adapters/secondaries/logging.messager';
import { TerritoriesRepository } from '../../adapters/secondaries/territories.repository';
import { TerritoryMessager } from '../../adapters/secondaries/territory.messager';
import { TerritoryLoggingPresenter } from '../../adapters/secondaries/territory-logging.presenter';
import { UpdateTerritoryCommand } from '../../commands/update-territory.command';
import { UpdateTerritoryRequest } from '../dtos/update-territory.request';
import { Territory } from '../entities/territory';
@@ -29,11 +30,23 @@ export class UpdateTerritoryUseCase {
);
this._territoryMessager.publish(
'update',
JSON.stringify(command.updateTerritoryRequest),
JSON.stringify(
this._mapper.map(
command.updateTerritoryRequest,
UpdateTerritoryRequest,
TerritoryLoggingPresenter,
),
),
);
this._loggingMessager.publish(
'territory.update.info',
JSON.stringify(command.updateTerritoryRequest),
JSON.stringify(
this._mapper.map(
command.updateTerritoryRequest,
UpdateTerritoryRequest,
TerritoryLoggingPresenter,
),
),
);
return territory;
} catch (error) {

View File

@@ -2,6 +2,7 @@ import { createMap, forMember, ignore, Mapper } from '@automapper/core';
import { AutomapperProfile, InjectMapper } from '@automapper/nestjs';
import { Injectable } from '@nestjs/common';
import { TerritoryPresenter } from '../adapters/primaries/territory.presenter';
import { TerritoryLoggingPresenter } from '../adapters/secondaries/territory-logging.presenter';
import { CreateTerritoryRequest } from '../domain/dtos/create-territory.request';
import { UpdateTerritoryRequest } from '../domain/dtos/update-territory.request';
import { Territory } from '../domain/entities/territory';
@@ -15,6 +16,7 @@ export class TerritoryProfile extends AutomapperProfile {
override get profile() {
return (mapper) => {
createMap(mapper, Territory, TerritoryPresenter);
createMap(mapper, Territory, TerritoryLoggingPresenter);
createMap(mapper, CreateTerritoryRequest, Territory);
@@ -24,6 +26,8 @@ export class TerritoryProfile extends AutomapperProfile {
Territory,
forMember((dest) => dest.uuid, ignore()),
);
createMap(mapper, UpdateTerritoryRequest, TerritoryLoggingPresenter);
};
}
}