fix getVendorInfoController
This commit is contained in:
parent
a4ec3833bf
commit
7ee95ce13f
@ -1,23 +1,60 @@
|
||||
import { RequestHandler } from "express";
|
||||
import ArchimedeanVendorManifest from "@/static/fixed_responses/getVendorInfo/ArchimedeanVendorManifest.json";
|
||||
import MaskSalesmanManifest from "@/static/fixed_responses/getVendorInfo/MaskSalesmanManifest.json";
|
||||
import ZarimanCommisionsManifestArchimedean from "@/static/fixed_responses/getVendorInfo/ZarimanCommisionsManifestArchimedean.json";
|
||||
import { ExportVendors } from "warframe-public-export-plus";
|
||||
import { IMongoDate, IOid } from "@/src/types/commonTypes";
|
||||
import { Types } from "mongoose";
|
||||
import { toMongoDate } from "@/src/helpers/inventoryHelpers";
|
||||
|
||||
export interface VendorInfo {
|
||||
_id: IOid;
|
||||
TypeName: string;
|
||||
ItemManifest: ItemManifestItem[];
|
||||
PropertyTextHash: string;
|
||||
Expiry: IMongoDate;
|
||||
}
|
||||
|
||||
export interface ItemManifestItem {
|
||||
StoreItem: string;
|
||||
ItemPrices: ItemManifestItemPrice[];
|
||||
Bin: string;
|
||||
QuantityMultiplier: number;
|
||||
Expiry: IMongoDate;
|
||||
AllowMultipurchase: boolean;
|
||||
Id: IOid;
|
||||
}
|
||||
|
||||
export interface ItemManifestItemPrice {
|
||||
ItemType: string;
|
||||
ItemCount: number;
|
||||
ProductCategory: string;
|
||||
}
|
||||
|
||||
export const getVendorInfoController: RequestHandler = (req, res) => {
|
||||
switch (req.query.vendor as string) {
|
||||
case "/Lotus/Types/Game/VendorManifests/Zariman/ArchimedeanVendorManifest":
|
||||
res.json(ArchimedeanVendorManifest);
|
||||
break;
|
||||
|
||||
case "/Lotus/Types/Game/VendorManifests/Ostron/MaskSalesmanManifest":
|
||||
res.json(MaskSalesmanManifest);
|
||||
break;
|
||||
|
||||
case "/Lotus/Types/Game/VendorManifests/Zariman/ZarimanCommisionsManifestArchimedean":
|
||||
res.json(ZarimanCommisionsManifestArchimedean);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Error(`Unknown vendor: ${req.query.vendor}`);
|
||||
const vendor = String(req.query.vendor);
|
||||
const dateTime = new Date();
|
||||
dateTime.setDate(dateTime.getDate() + 1);
|
||||
if (vendor in ExportVendors) {
|
||||
const v = ExportVendors[vendor];
|
||||
const result: VendorInfo = {
|
||||
_id: { $oid: new Types.ObjectId().toString() },
|
||||
TypeName: vendor,
|
||||
ItemManifest: [],
|
||||
PropertyTextHash: "DB7BF03C3FE6D0036A4DC30066A9A17E",
|
||||
Expiry: toMongoDate(new Date(dateTime))
|
||||
};
|
||||
v.items.forEach(item => {
|
||||
const i = item.itemPrices[0];
|
||||
result.ItemManifest.push({
|
||||
StoreItem: item.storeItem,
|
||||
ItemPrices: [{ ItemType: i.ItemType, ItemCount: i.ItemCount, ProductCategory: "MiscItems" }],
|
||||
Bin: "BIN_0",
|
||||
QuantityMultiplier: 1,
|
||||
Expiry: toMongoDate(new Date(dateTime)),
|
||||
AllowMultipurchase: true,
|
||||
Id: { $oid: new Types.ObjectId().toString() }
|
||||
});
|
||||
});
|
||||
res.json({ VendorInfo: result });
|
||||
} else {
|
||||
throw new Error(`Unknown vendor: ${vendor}`);
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user