forked from OpenWF/SpaceNinjaServer
		
	feat: promote & demote clan members (#1163)
Re #1144 Reviewed-on: OpenWF/SpaceNinjaServer#1163
This commit is contained in:
		
							parent
							
								
									073eddc050
								
							
						
					
					
						commit
						5ca72d75e2
					
				
							
								
								
									
										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 { artifactTransmutationController } from "@/src/controllers/api/artifactTransmutationController";
 | 
			
		||||
import { changeDojoRootController } from "@/src/controllers/api/changeDojoRootController";
 | 
			
		||||
import { changeGuildRankController } from "@/src/controllers/api/changeGuildRankController";
 | 
			
		||||
import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
 | 
			
		||||
import { claimCompletedRecipeController } from "@/src/controllers/api/claimCompletedRecipeController";
 | 
			
		||||
import { claimLibraryDailyTaskRewardController } from "@/src/controllers/api/claimLibraryDailyTaskRewardController";
 | 
			
		||||
@ -115,6 +116,7 @@ const apiRouter = express.Router();
 | 
			
		||||
// get
 | 
			
		||||
apiRouter.get("/abandonLibraryDailyTask.php", abandonLibraryDailyTaskController);
 | 
			
		||||
apiRouter.get("/abortDojoComponentDestruction.php", abortDojoComponentDestructionController);
 | 
			
		||||
apiRouter.get("/changeGuildRank.php", changeGuildRankController);
 | 
			
		||||
apiRouter.get("/checkDailyMissionBonus.php", checkDailyMissionBonusController);
 | 
			
		||||
apiRouter.get("/claimLibraryDailyTaskReward.php", claimLibraryDailyTaskRewardController);
 | 
			
		||||
apiRouter.get("/confirmGuildInvitation.php", confirmGuildInvitationController);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user