fix: ignore purchaseQuantity for webui add items (#1944)
Some checks failed
Build / build (push) Has been cancelled
Build Docker image / docker (push) Has been cancelled

Closes #1942

Reviewed-on: #1944
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-05-01 13:54:04 -07:00 committed by Sainan
parent 159598979d
commit f7906c91e3
2 changed files with 6 additions and 3 deletions

View File

@ -7,7 +7,7 @@ export const addItemsController: RequestHandler = async (req, res) => {
const requests = req.body as IAddItemRequest[];
const inventory = await getInventory(accountId);
for (const request of requests) {
await addItem(inventory, request.ItemType, request.ItemCount, true);
await addItem(inventory, request.ItemType, request.ItemCount, true, undefined, undefined, true);
}
await inventory.save();
res.end();

View File

@ -332,7 +332,8 @@ export const addItem = async (
quantity: number = 1,
premiumPurchase: boolean = false,
seed?: bigint,
targetFingerprint?: string
targetFingerprint?: string,
exactQuantity: boolean = false
): Promise<IInventoryChanges> => {
// Bundles are technically StoreItems but a) they don't have a normal counterpart, and b) they are used in non-StoreItem contexts, e.g. email attachments.
if (typeName in ExportBundles) {
@ -490,7 +491,9 @@ export const addItem = async (
// Multipling by purchase quantity for gear because:
// - The Saya's Vigil scanner message has it as a non-counted attachment.
// - Blueprints for Ancient Protector Specter, Shield Osprey Specter, etc. have num=1 despite giving their purchaseQuantity.
if (!exactQuantity) {
quantity *= ExportGear[typeName].purchaseQuantity ?? 1;
}
const consumablesChanges = [
{
ItemType: typeName,