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

SpaceNinjaServer

A simple server for a small space ninja game

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

XFEstudio/SpaceNinjaServer

feat: promote & demote clan members (#1163)

Re #1144 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1163

5ca72d75
Sainan <sainan@calamity.inc>
提交于

代码差异

2 个文件 +30 -0
Added src/controllers/api/changeGuildRankController.ts +28 -0
@@ -0,0 +1,28 @@
1 import { GuildMember } from "@/src/models/guildModel";
2 import { RequestHandler } from "express";
3
4 export const changeGuildRankController: RequestHandler = async (req, res) => {
5 // TODO: Verify permissions
6 const guildMember = (await GuildMember.findOne({
7 guildId: req.query.guildId as string,
8 accountId: req.query.targetId as string
9 }))!;
10 guildMember.rank = parseInt(req.query.rankChange as string);
11 await guildMember.save();
12
13 if (guildMember.rank == 0) {
14 // If we just promoted someone else to Founding Warlord, we need to demote ourselves to Warlord.
15 await GuildMember.findOneAndUpdate(
16 {
17 guildId: req.query.guildId as string,
18 accountId: req.query.accountId as string
19 },
20 { rank: 1 }
21 );
22 }
23
24 res.json({
25 _id: req.query.targetId as string,
26 Rank: guildMember.rank
27 });
28 };
Modified src/routes/api.ts +2 -0
@@ -10,6 +10,7 @@ import { archonFusionController } from "@/src/controllers/api/archonFusionContro
10 10 import { artifactsController } from "@/src/controllers/api/artifactsController";
11 11 import { artifactTransmutationController } from "@/src/controllers/api/artifactTransmutationController";
12 12 import { changeDojoRootController } from "@/src/controllers/api/changeDojoRootController";
13 import { changeGuildRankController } from "@/src/controllers/api/changeGuildRankController";
13 14 import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
14 15 import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompletedRecipeController";
15 16 import { claimLibraryDailyTaskRewardController } from "@/src/controllers/api/claimLibraryDailyTaskRewardController";
@@ -115,6 +116,7 @@ const apiRouter = express.Router();
115 116 // get
116 117 apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
117 118 apiRouter.get("/abortDojoComponentDestruction.php", abortDojoComponentDestructionController);
119 apiRouter.get("/changeGuildRank.php", changeGuildRankController);
118 120 apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
119 121 apiRouter.get("/claimLibraryDailyTaskReward.php", claimLibraryDailyTaskRewardController);
120 122 apiRouter.get("/confirmGuildInvitation.php", confirmGuildInvitationController);