返回提交历史
Added
src/controllers/api/changeGuildRankController.ts
+28
-0
Modified
src/routes/api.ts
+2
-0
XFEstudio/XFESpaceNinjaServer
feat: promote & demote clan members (#1163)
Re #1144 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1163
5ca72d75
代码差异
2 个文件
+30
-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
};
@@ -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);