返回提交历史
Modified
src/controllers/custom/getItemListsController.ts
+46
-24
XFEstudio/SpaceNinjaServer
chore: improve typings in getItemLists
99e1a66d
代码差异
1 个文件
+46
-24
@@ -32,6 +32,29 @@ interface ListedItem {
32
32
parazon?: boolean;
33
33
}
34
34
35
interface ItemLists {
36
archonCrystalUpgrades: Record<string, string>;
37
uniqueLevelCaps: Record<string, number>;
38
Suits: ListedItem[];
39
LongGuns: ListedItem[];
40
Melee: ListedItem[];
41
ModularParts: ListedItem[];
42
Pistols: ListedItem[];
43
Sentinels: ListedItem[];
44
SentinelWeapons: ListedItem[];
45
SpaceGuns: ListedItem[];
46
SpaceMelee: ListedItem[];
47
SpaceSuits: ListedItem[];
48
MechSuits: ListedItem[];
49
miscitems: ListedItem[];
50
Syndicates: ListedItem[];
51
OperatorAmps: ListedItem[];
52
QuestKeys: ListedItem[];
53
KubrowPets: ListedItem[];
54
MoaPets: ListedItem[];
55
mods: ListedItem[];
56
}
57
35
58
const relicQualitySuffixes: Record<TRelicQuality, string> = {
36
59
VPQ_BRONZE: "",
37
60
VPQ_SILVER: " [Flawless]",
@@ -41,24 +64,28 @@ const relicQualitySuffixes: Record<TRelicQuality, string> = {
41
64
42
65
const getItemListsController: RequestHandler = (req, response) => {
43
66
const lang = getDict(typeof req.query.lang == "string" ? req.query.lang : "en");
44
const res: Record<string, ListedItem[]> = {};
45
res.Suits = [];
46
res.LongGuns = [];
47
res.Melee = [];
48
res.ModularParts = [];
49
res.Pistols = [];
50
res.Sentinels = [];
51
res.SentinelWeapons = [];
52
res.SpaceGuns = [];
53
res.SpaceMelee = [];
54
res.SpaceSuits = [];
55
res.MechSuits = [];
56
res.miscitems = [];
57
res.Syndicates = [];
58
res.OperatorAmps = [];
59
res.QuestKeys = [];
60
res.KubrowPets = [];
61
res.MoaPets = [];
67
const res: ItemLists = {
68
archonCrystalUpgrades,
69
uniqueLevelCaps: ExportMisc.uniqueLevelCaps,
70
Suits: [],
71
LongGuns: [],
72
Melee: [],
73
ModularParts: [],
74
Pistols: [],
75
Sentinels: [],
76
SentinelWeapons: [],
77
SpaceGuns: [],
78
SpaceMelee: [],
79
SpaceSuits: [],
80
MechSuits: [],
81
miscitems: [],
82
Syndicates: [],
83
OperatorAmps: [],
84
QuestKeys: [],
85
KubrowPets: [],
86
MoaPets: [],
87
mods: []
88
};
62
89
for (const [uniqueName, item] of Object.entries(ExportWarframes)) {
63
90
res[item.productCategory].push({
64
91
uniqueName,
@@ -201,7 +228,6 @@ const getItemListsController: RequestHandler = (req, response) => {
201
228
});
202
229
}
203
230
204
res.mods = [];
205
231
for (const [uniqueName, upgrade] of Object.entries(ExportUpgrades)) {
206
232
const mod: ListedItem = {
207
233
uniqueName,
@@ -260,11 +286,7 @@ const getItemListsController: RequestHandler = (req, response) => {
260
286
}
261
287
}
262
288
263
response.json({
264
archonCrystalUpgrades,
265
uniqueLevelCaps: ExportMisc.uniqueLevelCaps,
266
...res
267
});
289
response.json(res);
268
290
};
269
291
270
292
export { getItemListsController };