chore: improve typings in getItemLists
All checks were successful
Build / build (push) Successful in 44s
Build Docker image / docker (push) Successful in 51s

This commit is contained in:
Sainan 2025-04-24 00:46:33 +02:00
parent 370f8c1008
commit 99e1a66da8

View File

@ -32,6 +32,29 @@ interface ListedItem {
parazon?: boolean; parazon?: boolean;
} }
interface ItemLists {
archonCrystalUpgrades: Record<string, string>;
uniqueLevelCaps: Record<string, number>;
Suits: ListedItem[];
LongGuns: ListedItem[];
Melee: ListedItem[];
ModularParts: ListedItem[];
Pistols: ListedItem[];
Sentinels: ListedItem[];
SentinelWeapons: ListedItem[];
SpaceGuns: ListedItem[];
SpaceMelee: ListedItem[];
SpaceSuits: ListedItem[];
MechSuits: ListedItem[];
miscitems: ListedItem[];
Syndicates: ListedItem[];
OperatorAmps: ListedItem[];
QuestKeys: ListedItem[];
KubrowPets: ListedItem[];
MoaPets: ListedItem[];
mods: ListedItem[];
}
const relicQualitySuffixes: Record<TRelicQuality, string> = { const relicQualitySuffixes: Record<TRelicQuality, string> = {
VPQ_BRONZE: "", VPQ_BRONZE: "",
VPQ_SILVER: " [Flawless]", VPQ_SILVER: " [Flawless]",
@ -41,24 +64,28 @@ const relicQualitySuffixes: Record<TRelicQuality, string> = {
const getItemListsController: RequestHandler = (req, response) => { const getItemListsController: RequestHandler = (req, response) => {
const lang = getDict(typeof req.query.lang == "string" ? req.query.lang : "en"); const lang = getDict(typeof req.query.lang == "string" ? req.query.lang : "en");
const res: Record<string, ListedItem[]> = {}; const res: ItemLists = {
res.Suits = []; archonCrystalUpgrades,
res.LongGuns = []; uniqueLevelCaps: ExportMisc.uniqueLevelCaps,
res.Melee = []; Suits: [],
res.ModularParts = []; LongGuns: [],
res.Pistols = []; Melee: [],
res.Sentinels = []; ModularParts: [],
res.SentinelWeapons = []; Pistols: [],
res.SpaceGuns = []; Sentinels: [],
res.SpaceMelee = []; SentinelWeapons: [],
res.SpaceSuits = []; SpaceGuns: [],
res.MechSuits = []; SpaceMelee: [],
res.miscitems = []; SpaceSuits: [],
res.Syndicates = []; MechSuits: [],
res.OperatorAmps = []; miscitems: [],
res.QuestKeys = []; Syndicates: [],
res.KubrowPets = []; OperatorAmps: [],
res.MoaPets = []; QuestKeys: [],
KubrowPets: [],
MoaPets: [],
mods: []
};
for (const [uniqueName, item] of Object.entries(ExportWarframes)) { for (const [uniqueName, item] of Object.entries(ExportWarframes)) {
res[item.productCategory].push({ res[item.productCategory].push({
uniqueName, uniqueName,
@ -201,7 +228,6 @@ const getItemListsController: RequestHandler = (req, response) => {
}); });
} }
res.mods = [];
for (const [uniqueName, upgrade] of Object.entries(ExportUpgrades)) { for (const [uniqueName, upgrade] of Object.entries(ExportUpgrades)) {
const mod: ListedItem = { const mod: ListedItem = {
uniqueName, uniqueName,
@ -260,11 +286,7 @@ const getItemListsController: RequestHandler = (req, response) => {
} }
} }
response.json({ response.json(res);
archonCrystalUpgrades,
uniqueLevelCaps: ExportMisc.uniqueLevelCaps,
...res
});
}; };
export { getItemListsController }; export { getItemListsController };