返回提交历史
Added
src/controllers/api/upgradeOperatorController.ts
+16
-0
Modified
src/models/inventoryModels/inventoryModel.ts
+1
-0
Modified
src/routes/api.ts
+2
-0
Modified
src/types/inventoryTypes/inventoryTypes.ts
+1
-0
XFEstudio/SpaceNinjaServer
feat: additional operator appearance slots (#2712)
Closes #2710 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2712 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
4b2b184b
代码差异
4 个文件
+20
-0
@@ -0,0 +1,16 @@
1
import { getInventory, updateCurrency } from "../../services/inventoryService.ts";
2
import { getAccountIdForRequest } from "../../services/loginService.ts";
3
import type { RequestHandler } from "express";
4
5
export const upgradeOperatorController: RequestHandler = async (req, res) => {
6
const accountId = await getAccountIdForRequest(req);
7
const inventory = await getInventory(
8
accountId,
9
"OperatorCustomizationSlotPurchases PremiumCredits PremiumCreditsFree"
10
);
11
inventory.OperatorCustomizationSlotPurchases ??= 0;
12
inventory.OperatorCustomizationSlotPurchases += 1;
13
const inventoryChanges = updateCurrency(inventory, 10, true);
14
await inventory.save();
15
res.json({ InventoryChanges: inventoryChanges });
16
};
@@ -1564,6 +1564,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
1564
1564
OperatorLoadOuts: [operatorConfigSchema],
1565
1565
//Drifter
1566
1566
AdultOperatorLoadOuts: [operatorConfigSchema],
1567
OperatorCustomizationSlotPurchases: Number,
1567
1568
// Kahl
1568
1569
KahlLoadOuts: [operatorConfigSchema],
1569
1570
@@ -162,6 +162,7 @@ import { updateQuestController } from "../controllers/api/updateQuestController.
162
162
import { updateSessionGetController, updateSessionPostController } from "../controllers/api/updateSessionController.ts";
163
163
import { updateSongChallengeController } from "../controllers/api/updateSongChallengeController.ts";
164
164
import { updateThemeController } from "../controllers/api/updateThemeController.ts";
165
import { upgradeOperatorController } from "../controllers/api/upgradeOperatorController.ts";
165
166
import { upgradesController } from "../controllers/api/upgradesController.ts";
166
167
import { valenceSwapController } from "../controllers/api/valenceSwapController.ts";
167
168
import { wishlistController } from "../controllers/api/wishlistController.ts";
@@ -229,6 +230,7 @@ apiRouter.get("/startLibraryPersonalTarget.php", startLibraryPersonalTargetContr
229
230
apiRouter.get("/surveys.php", surveysController);
230
231
apiRouter.get("/trading.php", tradingController);
231
232
apiRouter.get("/updateSession.php", updateSessionGetController);
233
apiRouter.get("/upgradeOperator.php", upgradeOperatorController);
232
234
233
235
// post
234
236
apiRouter.post("/abortDojoComponent.php", abortDojoComponentController);
@@ -374,6 +374,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
374
374
CrewMembers: ICrewMemberClient[];
375
375
LotusCustomization?: ILotusCustomization;
376
376
UseAdultOperatorLoadout?: boolean;
377
OperatorCustomizationSlotPurchases?: number;
377
378
NemesisAbandonedRewards: string[];
378
379
LastInventorySync?: IOid;
379
380
NextRefill?: IMongoDate;