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 { const contact = await this.contactRepo.findById(query.id); if (!contact) { return null; } return ContactMapper.toDetailDto(contact); } }