This repository has been archived by the owner on Nov 7, 2020. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
alliance.dto.ts
116 lines (107 loc) 路 3.26 KB
/
alliance.dto.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import { DCorporationShortWithoutAlliance } from '../corporation/corporation.dto';
import { Alliance } from './alliance.entity';
import { DPagination } from '../core/pagination/paggination.dto';
import { IAllianceIcon } from './alliance.interface';
import { ApiModelProperty } from '@nestjs/swagger';
import { Follow } from '../follow/follow.entity';
import { DFollow } from '../follow/follow.dto';
export class DAllianceIcon {
@ApiModelProperty()
px64x64: string;
@ApiModelProperty()
px128x128: string;
constructor(icon: IAllianceIcon) {
this.px64x64 = icon.px64x64;
this.px128x128 = icon.px128x128;
}
}
export class DAllianceShort {
@ApiModelProperty()
id: number;
@ApiModelProperty()
name: string;
@ApiModelProperty()
handle: string;
@ApiModelProperty()
ticker: string;
@ApiModelProperty({ type: String })
dateFounded: Date;
@ApiModelProperty()
icon: DAllianceIcon;
constructor(alliance: Alliance) {
this.id = alliance.id;
this.name = alliance.name;
this.handle = alliance.handle;
this.ticker = alliance.ticker;
this.dateFounded = alliance.dateFounded;
this.icon = new DAllianceIcon(alliance.icon);
}
}
export class DAlliance {
@ApiModelProperty()
id: number;
@ApiModelProperty()
name: string;
@ApiModelProperty()
handle: string;
@ApiModelProperty()
ticker: string;
@ApiModelProperty({ type: String })
dateFounded: Date;
@ApiModelProperty()
executorCorporation: DCorporationShortWithoutAlliance;
@ApiModelProperty()
icon: DAllianceIcon;
@ApiModelProperty()
followers: DFollow[];
/* LIVE Data */
@ApiModelProperty()
hasSupers: boolean;
@ApiModelProperty()
iskDestroyed: number;
@ApiModelProperty()
iskLost: number;
@ApiModelProperty()
pointsDestroyed: number;
@ApiModelProperty()
pointsLost: number;
@ApiModelProperty()
shipsDestroyed: number;
@ApiModelProperty()
shipsLost: number;
@ApiModelProperty()
soloKills: number;
@ApiModelProperty()
soloLosses: number;
@ApiModelProperty()
memberCount: number;
@ApiModelProperty()
corpCount: number;
constructor(alliance: Alliance, followers: Follow[]) {
this.id = alliance.id;
this.name = alliance.name;
this.handle = alliance.handle;
this.ticker = alliance.ticker;
this.dateFounded = alliance.dateFounded;
this.executorCorporation = new DCorporationShortWithoutAlliance(alliance.executorCorporation);
this.icon = new DAllianceIcon(alliance.icon);
this.followers = followers.map(follow => new DFollow(follow));
this.hasSupers = alliance.hasSupers;
this.iskDestroyed = alliance.iskDestroyed;
this.iskLost = alliance.iskLost;
this.pointsDestroyed = alliance.pointsDestroyed;
this.pointsLost = alliance.pointsLost;
this.shipsDestroyed = alliance.shipsDestroyed;
this.shipsLost = alliance.shipsLost;
this.soloKills = alliance.soloKills;
this.soloLosses = alliance.soloLosses;
this.memberCount = alliance.memberCount;
this.corpCount = alliance.corpCount;
}
}
export class DAllianceList extends DPagination<DAllianceShort> {
constructor(alliances: Alliance[], page: number, perPage: number, count: number) {
const formattedAlliances = alliances.map(alliance => new DAllianceShort(alliance));
super(formattedAlliances, page, perPage, count);
}
}