30 lines
961 B
TypeScript
30 lines
961 B
TypeScript
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 { CreateTerritoryRequest } from '../domain/dtos/create-territory.request';
|
|
import { UpdateTerritoryRequest } from '../domain/dtos/update-territory.request';
|
|
import { Territory } from '../domain/entities/territory';
|
|
|
|
@Injectable()
|
|
export class TerritoryProfile extends AutomapperProfile {
|
|
constructor(@InjectMapper() mapper: Mapper) {
|
|
super(mapper);
|
|
}
|
|
|
|
override get profile() {
|
|
return (mapper) => {
|
|
createMap(mapper, Territory, TerritoryPresenter);
|
|
|
|
createMap(mapper, CreateTerritoryRequest, Territory);
|
|
|
|
createMap(
|
|
mapper,
|
|
UpdateTerritoryRequest,
|
|
Territory,
|
|
forMember((dest) => dest.uuid, ignore()),
|
|
);
|
|
};
|
|
}
|
|
}
|