XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

feat: manage crew members (#1734)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1734 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

7040d422
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

3 个文件 +31 -1
Added src/controllers/api/crewMembersController.ts +28 -0
@@ -0,0 +1,28 @@
1 import { getJSONfromString } from "@/src/helpers/stringHelpers";
2 import { getInventory } from "@/src/services/inventoryService";
3 import { getAccountIdForRequest } from "@/src/services/loginService";
4 import { ICrewMemberClient } from "@/src/types/inventoryTypes/inventoryTypes";
5 import { RequestHandler } from "express";
6 import { Types } from "mongoose";
7
8 export const crewMembersController: RequestHandler = async (req, res) => {
9 const accountId = await getAccountIdForRequest(req);
10 const inventory = await getInventory(accountId, "CrewMembers");
11 const data = getJSONfromString<ICrewMembersRequest>(String(req.body));
12 const dbCrewMember = inventory.CrewMembers.id(data.crewMember.ItemId.$oid)!;
13 dbCrewMember.AssignedRole = data.crewMember.AssignedRole;
14 dbCrewMember.SkillEfficiency = data.crewMember.SkillEfficiency;
15 dbCrewMember.WeaponConfigIdx = data.crewMember.WeaponConfigIdx;
16 dbCrewMember.WeaponId = new Types.ObjectId(data.crewMember.WeaponId.$oid);
17 dbCrewMember.Configs = data.crewMember.Configs;
18 dbCrewMember.SecondInCommand = data.crewMember.SecondInCommand;
19 await inventory.save();
20 res.json({
21 crewMemberId: data.crewMember.ItemId.$oid,
22 NemesisFingerprint: data.crewMember.NemesisFingerprint
23 });
24 };
25
26 interface ICrewMembersRequest {
27 crewMember: ICrewMemberClient;
28 }
Modified src/routes/api.ts +2 -0
@@ -28,6 +28,7 @@ import { contributeToVaultController } from "@/src/controllers/api/contributeToV
28 28 import { createAllianceController } from "@/src/controllers/api/createAllianceController";
29 29 import { createGuildController } from "@/src/controllers/api/createGuildController";
30 30 import { creditsController } from "@/src/controllers/api/creditsController";
31 import { crewMembersController } from "@/src/controllers/api/crewMembersController";
31 32 import { crewShipIdentifySalvageController } from "@/src/controllers/api/crewShipIdentifySalvageController";
32 33 import { customizeGuildRanksController } from "@/src/controllers/api/customizeGuildRanksController";
33 34 import { customObstacleCourseLeaderboardController } from "@/src/controllers/api/customObstacleCourseLeaderboardController";
@@ -222,6 +223,7 @@ apiRouter.post("/contributeToDojoComponent.php", contributeToDojoComponentContro
222 223 apiRouter.post("/contributeToVault.php", contributeToVaultController);
223 224 apiRouter.post("/createAlliance.php", createAllianceController);
224 225 apiRouter.post("/createGuild.php", createGuildController);
226 apiRouter.post("/crewMembers.php", crewMembersController);
225 227 apiRouter.post("/crewShipIdentifySalvage.php", crewShipIdentifySalvageController);
226 228 apiRouter.post("/customizeGuildRanks.php", customizeGuildRanksController);
227 229 apiRouter.post("/customObstacleCourseLeaderboard.php", customObstacleCourseLeaderboardController);
Modified src/types/inventoryTypes/inventoryTypes.ts +1 -1
@@ -489,7 +489,7 @@ export interface ICrewMemberClient {
489 489 XP: number;
490 490 PowersuitType: string;
491 491 Configs: IItemConfig[];
492 SecondInCommand: boolean;
492 SecondInCommand: boolean; // on call
493 493 ItemId: IOid;
494 494 }
495 495