import { DeckAggregate } from '../../../Domain/Deck/DeckAggregate'; import { CreateDeckDto, UpdateDeckDto, ShortDeckDto, DetailDeckDto } from '../DeckDto'; export class DeckMapper { static toShortDto(deck: DeckAggregate): ShortDeckDto { return { id: deck.id, name: deck.name, type: deck.type, playedNumber: deck.playedNumber, ctype: deck.ctype, cardsCount: deck.cards.length, }; } static toDetailDto(deck: DeckAggregate): DetailDeckDto { return { id: deck.id, name: deck.name, type: deck.type, userid: deck.userid, creationdate: deck.creationdate, cards: deck.cards, playedNumber: deck.playedNumber, ctype: deck.ctype, }; } static toShortDtoList(decks: DeckAggregate[]): ShortDeckDto[] { return decks.map(deck => ({ id: deck.id, name: deck.name, type: deck.type, playedNumber: deck.playedNumber, ctype: deck.ctype, cardsCount: deck.cards.length, })); } }