40 lines
1014 B
TypeScript
40 lines
1014 B
TypeScript
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,
|
|
}));
|
|
}
|
|
}
|