mission inventory update - mods, resources
This commit is contained in:
parent
2ed10a80c9
commit
b66fdc17ba
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@
|
|||||||
/.env
|
/.env
|
||||||
/static/data/*.bin
|
/static/data/*.bin
|
||||||
yarn.lock
|
yarn.lock
|
||||||
|
/tmp
|
@ -1,6 +1,57 @@
|
|||||||
import { RequestHandler } from "express";
|
import { RequestHandler } from "express";
|
||||||
|
import { addRawUpgrades, addMiscItems } from "@/src/services/inventoryService";
|
||||||
|
import fs from 'fs';
|
||||||
|
/*
|
||||||
|
- [ ] crossPlaySetting
|
||||||
|
- [ ] rewardsMultiplier
|
||||||
|
- [ ] ActiveBoosters
|
||||||
|
- [ ] LongGuns
|
||||||
|
- [ ] Pistols
|
||||||
|
- [ ] Suits
|
||||||
|
- [ ] Melee
|
||||||
|
- [x] RawUpgrades
|
||||||
|
- [x] MiscItems
|
||||||
|
- [ ] RegularCredits
|
||||||
|
- [ ] RandomUpgradesIdentified
|
||||||
|
- [ ] MissionFailed
|
||||||
|
- [ ] MissionStatus
|
||||||
|
- [ ] CurrentLoadOutIds
|
||||||
|
- [ ] AliveTime
|
||||||
|
- [ ] MissionTime
|
||||||
|
- [ ] Missions
|
||||||
|
- [ ] CompletedAlerts
|
||||||
|
- [ ] LastRegionPlayed
|
||||||
|
- [ ] GameModeId
|
||||||
|
- [ ] hosts
|
||||||
|
- [ ] ChallengeProgress
|
||||||
|
- [ ] SeasonChallengeHistory
|
||||||
|
- [ ] PS
|
||||||
|
- [ ] ActiveDojoColorResearch
|
||||||
|
- [ ] RewardInfo
|
||||||
|
- [ ] ReceivedCeremonyMsg
|
||||||
|
- [ ] LastCeremonyResetDate
|
||||||
|
- [ ] MissionPTS
|
||||||
|
- [ ] RepHash
|
||||||
|
- [ ] EndOfMatchUpload
|
||||||
|
- [ ] ObjectiveReached
|
||||||
|
- [ ] FpsAvg
|
||||||
|
- [ ] FpsMin
|
||||||
|
- [ ] FpsMax
|
||||||
|
- [ ] FpsSamples
|
||||||
|
*/
|
||||||
|
const missionInventoryUpdateController: RequestHandler = async (req, res) => {
|
||||||
|
fs.writeFile("./tmp/test", req.body, function(err) {
|
||||||
|
if(err) {
|
||||||
|
return console.log(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const [data, _secondIGuessIsSalt] = String(req.body).split("\n");
|
||||||
|
const {RawUpgrades, MiscItems} = JSON.parse(data);
|
||||||
|
const id = req.query.accountId as string;
|
||||||
|
addRawUpgrades(RawUpgrades, id);
|
||||||
|
addMiscItems(MiscItems, id);
|
||||||
|
|
||||||
const missionInventoryUpdateController: RequestHandler = (_req, res) => {
|
|
||||||
res.json({});
|
res.json({});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Model, Schema, Types, model } from "mongoose";
|
import { Model, Schema, Types, model } from "mongoose";
|
||||||
import { FlavourItem, IInventoryDatabase } from "../types/inventoryTypes/inventoryTypes";
|
import { FlavourItem, RawUpgrade, MiscItem, IInventoryDatabase } from "../types/inventoryTypes/inventoryTypes";
|
||||||
import { Oid } from "../types/commonTypes";
|
import { Oid } from "../types/commonTypes";
|
||||||
import { ISuitDatabase, ISuitDocument } from "@/src/types/inventoryTypes/SuitTypes";
|
import { ISuitDatabase, ISuitDocument } from "@/src/types/inventoryTypes/SuitTypes";
|
||||||
import { IWeaponDatabase } from "@/src/types/inventoryTypes/weaponTypes";
|
import { IWeaponDatabase } from "@/src/types/inventoryTypes/weaponTypes";
|
||||||
@ -334,6 +334,8 @@ type InventoryDocumentProps = {
|
|||||||
Pistols: Types.DocumentArray<IWeaponDatabase>;
|
Pistols: Types.DocumentArray<IWeaponDatabase>;
|
||||||
Melee: Types.DocumentArray<IWeaponDatabase>;
|
Melee: Types.DocumentArray<IWeaponDatabase>;
|
||||||
FlavourItems: Types.DocumentArray<FlavourItem>;
|
FlavourItems: Types.DocumentArray<FlavourItem>;
|
||||||
|
RawUpgrades: Types.DocumentArray<RawUpgrade>;
|
||||||
|
MiscItems: Types.DocumentArray<MiscItem>;
|
||||||
};
|
};
|
||||||
|
|
||||||
type InventoryModelType = Model<IInventoryDatabase, {}, InventoryDocumentProps>;
|
type InventoryModelType = Model<IInventoryDatabase, {}, InventoryDocumentProps>;
|
||||||
|
@ -5,7 +5,7 @@ import { Types } from "mongoose";
|
|||||||
import { ISuitResponse } from "@/src/types/inventoryTypes/SuitTypes";
|
import { ISuitResponse } from "@/src/types/inventoryTypes/SuitTypes";
|
||||||
import { SlotType } from "@/src/types/purchaseTypes";
|
import { SlotType } from "@/src/types/purchaseTypes";
|
||||||
import { IWeaponResponse } from "@/src/types/inventoryTypes/weaponTypes";
|
import { IWeaponResponse } from "@/src/types/inventoryTypes/weaponTypes";
|
||||||
import { FlavourItem } from "@/src/types/inventoryTypes/inventoryTypes";
|
import { FlavourItem, RawUpgrade, MiscItem } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||||
|
|
||||||
const createInventory = async (accountOwnerId: Types.ObjectId) => {
|
const createInventory = async (accountOwnerId: Types.ObjectId) => {
|
||||||
try {
|
try {
|
||||||
@ -106,4 +106,36 @@ export const addCustomization = async (customizatonName: string, accountId: stri
|
|||||||
return changedInventory.FlavourItems[flavourItemIndex].toJSON(); //mongoose bug forces as FlavourItem
|
return changedInventory.FlavourItems[flavourItemIndex].toJSON(); //mongoose bug forces as FlavourItem
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const addRawUpgrades = async (rawUpgrades: RawUpgrade[], accountId: string): Promise<void> => {
|
||||||
|
const inventory = await getInventory(accountId);
|
||||||
|
rawUpgrades?.forEach(item => {
|
||||||
|
const { ItemCount, ItemType } = item;
|
||||||
|
const existingItemIndex = inventory.RawUpgrades.findIndex(i => i.ItemType === ItemType);
|
||||||
|
|
||||||
|
if (existingItemIndex !== -1) {
|
||||||
|
inventory.RawUpgrades[existingItemIndex].ItemCount += ItemCount;
|
||||||
|
inventory.markModified('RawUpgrades.' + existingItemIndex + '.ItemCount');
|
||||||
|
} else {
|
||||||
|
inventory.RawUpgrades.push({ ItemCount, ItemType });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await inventory.save();
|
||||||
|
};
|
||||||
|
|
||||||
|
export const addMiscItems = async (miscItems: MiscItem[], accountId: string): Promise<void> => {
|
||||||
|
const inventory = await getInventory(accountId);
|
||||||
|
miscItems?.forEach(item => {
|
||||||
|
const { ItemCount, ItemType } = item;
|
||||||
|
const existingItemIndex = inventory.MiscItems.findIndex(i => i.ItemType === ItemType);
|
||||||
|
|
||||||
|
if (existingItemIndex !== -1) {
|
||||||
|
inventory.MiscItems[existingItemIndex].ItemCount += ItemCount;
|
||||||
|
inventory.markModified('MiscItems.' + existingItemIndex + '.ItemCount');
|
||||||
|
} else {
|
||||||
|
inventory.MiscItems.push({ ItemCount, ItemType });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await inventory.save();
|
||||||
|
};
|
||||||
|
|
||||||
export { createInventory, addPowerSuit };
|
export { createInventory, addPowerSuit };
|
||||||
|
@ -377,6 +377,16 @@ export interface FlavourItem {
|
|||||||
ItemType: string;
|
ItemType: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface RawUpgrade {
|
||||||
|
ItemCount: number;
|
||||||
|
ItemType: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MiscItem {
|
||||||
|
ItemCount: number;
|
||||||
|
ItemType: string;
|
||||||
|
}
|
||||||
|
|
||||||
export interface CrewshipWeapon {
|
export interface CrewshipWeapon {
|
||||||
PILOT: Pilot;
|
PILOT: Pilot;
|
||||||
PORT_GUNS: PortGuns;
|
PORT_GUNS: PortGuns;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user