Files
SerpentRace/SerpentRace_Backend/src/Application/Contact/queries/GetContactByIdQueryHandler.ts
T

17 lines
622 B
TypeScript

import { IContactRepository } from '../../../Domain/IRepository/IContactRepository';
import { GetContactByIdQuery } from './GetContactByIdQuery';
import { DetailContactDto } from '../../DTOs/ContactDto';
import { ContactMapper } from '../../DTOs/Mappers/ContactMapper';
export class GetContactByIdQueryHandler {
constructor(private readonly contactRepo: IContactRepository) {}
async execute(query: GetContactByIdQuery): Promise<DetailContactDto | null> {
const contact = await this.contactRepo.findById(query.id);
if (!contact) {
return null;
}
return ContactMapper.toDetailDto(contact);
}
}