feat: promote & demote clan members
All checks were successful
Build / build (22) (push) Successful in 43s
Build / build (18) (pull_request) Successful in 46s
Build / build (20) (pull_request) Successful in 1m2s
Build / build (18) (push) Successful in 1m4s
Build / build (20) (push) Successful in 56s
Build / build (22) (pull_request) Successful in 56s
All checks were successful
Build / build (22) (push) Successful in 43s
Build / build (18) (pull_request) Successful in 46s
Build / build (20) (pull_request) Successful in 1m2s
Build / build (18) (push) Successful in 1m4s
Build / build (20) (push) Successful in 56s
Build / build (22) (pull_request) Successful in 56s
This commit is contained in:
parent
02ce0f57a6
commit
381bae77ab
28
src/controllers/api/changeGuildRankController.ts
Normal file
28
src/controllers/api/changeGuildRankController.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { GuildMember } from "@/src/models/guildModel";
|
||||||
|
import { RequestHandler } from "express";
|
||||||
|
|
||||||
|
export const changeGuildRankController: RequestHandler = async (req, res) => {
|
||||||
|
// TODO: Verify permissions
|
||||||
|
const guildMember = (await GuildMember.findOne({
|
||||||
|
guildId: req.query.guildId as string,
|
||||||
|
accountId: req.query.targetId as string
|
||||||
|
}))!;
|
||||||
|
guildMember.rank = parseInt(req.query.rankChange as string);
|
||||||
|
await guildMember.save();
|
||||||
|
|
||||||
|
if (guildMember.rank == 0) {
|
||||||
|
// If we just promoted someone else to Founding Warlord, we need to demote ourselves to Warlord.
|
||||||
|
await GuildMember.findOneAndUpdate(
|
||||||
|
{
|
||||||
|
guildId: req.query.guildId as string,
|
||||||
|
accountId: req.query.accountId as string
|
||||||
|
},
|
||||||
|
{ rank: 1 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.json({
|
||||||
|
_id: req.query.targetId as string,
|
||||||
|
Rank: guildMember.rank
|
||||||
|
});
|
||||||
|
};
|
@ -10,6 +10,7 @@ import { archonFusionController } from "@/src/controllers/api/archonFusionContro
|
|||||||
import { artifactsController } from "@/src/controllers/api/artifactsController";
|
import { artifactsController } from "@/src/controllers/api/artifactsController";
|
||||||
import { artifactTransmutationController } from "@/src/controllers/api/artifactTransmutationController";
|
import { artifactTransmutationController } from "@/src/controllers/api/artifactTransmutationController";
|
||||||
import { changeDojoRootController } from "@/src/controllers/api/changeDojoRootController";
|
import { changeDojoRootController } from "@/src/controllers/api/changeDojoRootController";
|
||||||
|
import { changeGuildRankController } from "@/src/controllers/api/changeGuildRankController";
|
||||||
import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
|
import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
|
||||||
import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompletedRecipeController";
|
import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompletedRecipeController";
|
||||||
import { claimLibraryDailyTaskRewardController } from "@/src/controllers/api/claimLibraryDailyTaskRewardController";
|
import { claimLibraryDailyTaskRewardController } from "@/src/controllers/api/claimLibraryDailyTaskRewardController";
|
||||||
@ -115,6 +116,7 @@ const apiRouter = express.Router();
|
|||||||
// get
|
// get
|
||||||
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
|
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
|
||||||
apiRouter.get("/abortDojoComponentDestruction.php", abortDojoComponentDestructionController);
|
apiRouter.get("/abortDojoComponentDestruction.php", abortDojoComponentDestructionController);
|
||||||
|
apiRouter.get("/changeGuildRank.php", changeGuildRankController);
|
||||||
apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
|
apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
|
||||||
apiRouter.get("/claimLibraryDailyTaskReward.php", claimLibraryDailyTaskRewardController);
|
apiRouter.get("/claimLibraryDailyTaskReward.php", claimLibraryDailyTaskRewardController);
|
||||||
apiRouter.get("/confirmGuildInvitation.php", confirmGuildInvitationController);
|
apiRouter.get("/confirmGuildInvitation.php", confirmGuildInvitationController);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user