import { IDeckRepository } from '../../../Domain/IRepository/IDeckRepository'; import { GetDeckByIdQuery } from './GetDeckByIdQuery'; import { DetailDeckDto } from '../../DTOs/DeckDto'; import { DeckMapper } from '../../DTOs/Mappers/DeckMapper'; export class GetDeckByIdQueryHandler { constructor(private readonly deckRepo: IDeckRepository) {} async execute(query: GetDeckByIdQuery): Promise { const deck = await this.deckRepo.findById(query.id); if (!deck) return null; return DeckMapper.toDetailDto(deck); } }