feat: additional operator appearance slots (#2712)
Closes #2710 Reviewed-on: #2712 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:
parent
dc401de1e9
commit
4b2b184b8f
16
src/controllers/api/upgradeOperatorController.ts
Normal file
16
src/controllers/api/upgradeOperatorController.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import { getInventory, updateCurrency } from "../../services/inventoryService.ts";
|
||||
import { getAccountIdForRequest } from "../../services/loginService.ts";
|
||||
import type { RequestHandler } from "express";
|
||||
|
||||
export const upgradeOperatorController: RequestHandler = async (req, res) => {
|
||||
const accountId = await getAccountIdForRequest(req);
|
||||
const inventory = await getInventory(
|
||||
accountId,
|
||||
"OperatorCustomizationSlotPurchases PremiumCredits PremiumCreditsFree"
|
||||
);
|
||||
inventory.OperatorCustomizationSlotPurchases ??= 0;
|
||||
inventory.OperatorCustomizationSlotPurchases += 1;
|
||||
const inventoryChanges = updateCurrency(inventory, 10, true);
|
||||
await inventory.save();
|
||||
res.json({ InventoryChanges: inventoryChanges });
|
||||
};
|
||||
@ -1564,6 +1564,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
|
||||
OperatorLoadOuts: [operatorConfigSchema],
|
||||
//Drifter
|
||||
AdultOperatorLoadOuts: [operatorConfigSchema],
|
||||
OperatorCustomizationSlotPurchases: Number,
|
||||
// Kahl
|
||||
KahlLoadOuts: [operatorConfigSchema],
|
||||
|
||||
|
||||
@ -162,6 +162,7 @@ import { updateQuestController } from "../controllers/api/updateQuestController.
|
||||
import { updateSessionGetController, updateSessionPostController } from "../controllers/api/updateSessionController.ts";
|
||||
import { updateSongChallengeController } from "../controllers/api/updateSongChallengeController.ts";
|
||||
import { updateThemeController } from "../controllers/api/updateThemeController.ts";
|
||||
import { upgradeOperatorController } from "../controllers/api/upgradeOperatorController.ts";
|
||||
import { upgradesController } from "../controllers/api/upgradesController.ts";
|
||||
import { valenceSwapController } from "../controllers/api/valenceSwapController.ts";
|
||||
import { wishlistController } from "../controllers/api/wishlistController.ts";
|
||||
@ -229,6 +230,7 @@ apiRouter.get("/startLibraryPersonalTarget.php", startLibraryPersonalTargetContr
|
||||
apiRouter.get("/surveys.php", surveysController);
|
||||
apiRouter.get("/trading.php", tradingController);
|
||||
apiRouter.get("/updateSession.php", updateSessionGetController);
|
||||
apiRouter.get("/upgradeOperator.php", upgradeOperatorController);
|
||||
|
||||
// post
|
||||
apiRouter.post("/abortDojoComponent.php", abortDojoComponentController);
|
||||
|
||||
@ -374,6 +374,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
|
||||
CrewMembers: ICrewMemberClient[];
|
||||
LotusCustomization?: ILotusCustomization;
|
||||
UseAdultOperatorLoadout?: boolean;
|
||||
OperatorCustomizationSlotPurchases?: number;
|
||||
NemesisAbandonedRewards: string[];
|
||||
LastInventorySync?: IOid;
|
||||
NextRefill?: IMongoDate;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user