15 lines
554 B
TypeScript
15 lines
554 B
TypeScript
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<DetailDeckDto | null> {
|
|
const deck = await this.deckRepo.findById(query.id);
|
|
if (!deck) return null;
|
|
return DeckMapper.toDetailDto(deck);
|
|
}
|
|
}
|