chore: add custom getAccountInfo endpoint #1300
							
								
								
									
										27
									
								
								src/controllers/custom/getAccountInfoController.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/controllers/custom/getAccountInfoController.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					import { Guild, GuildMember } from "@/src/models/guildModel";
 | 
				
			||||||
 | 
					import { getAccountForRequest, isAdministrator } from "@/src/services/loginService";
 | 
				
			||||||
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const getAccountInfoController: RequestHandler = async (req, res) => {
 | 
				
			||||||
 | 
					    const account = await getAccountForRequest(req);
 | 
				
			||||||
 | 
					    const info: IAccountInfo = {
 | 
				
			||||||
 | 
					        DisplayName: account.DisplayName
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    if (isAdministrator(account)) {
 | 
				
			||||||
 | 
					        info.IsAdministrator = true;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    const guildMember = await GuildMember.findOne({ accountId: account._id, status: 0 }, "guildId rank");
 | 
				
			||||||
 | 
					    if (guildMember) {
 | 
				
			||||||
 | 
					        const guild = (await Guild.findOne({ _id: guildMember.guildId }, "Ranks"))!;
 | 
				
			||||||
 | 
					        info.GuildId = guildMember.guildId.toString();
 | 
				
			||||||
 | 
					        info.GuildPermissions = guild.Ranks[guildMember.rank].Permissions;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    res.json(info);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IAccountInfo {
 | 
				
			||||||
 | 
					    DisplayName: string;
 | 
				
			||||||
 | 
					    IsAdministrator?: boolean;
 | 
				
			||||||
 | 
					    GuildId?: string;
 | 
				
			||||||
 | 
					    GuildPermissions?: number;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -6,6 +6,7 @@ import { pushArchonCrystalUpgradeController } from "@/src/controllers/custom/pus
 | 
				
			|||||||
import { popArchonCrystalUpgradeController } from "@/src/controllers/custom/popArchonCrystalUpgradeController";
 | 
					import { popArchonCrystalUpgradeController } from "@/src/controllers/custom/popArchonCrystalUpgradeController";
 | 
				
			||||||
import { deleteAccountController } from "@/src/controllers/custom/deleteAccountController";
 | 
					import { deleteAccountController } from "@/src/controllers/custom/deleteAccountController";
 | 
				
			||||||
import { getNameController } from "@/src/controllers/custom/getNameController";
 | 
					import { getNameController } from "@/src/controllers/custom/getNameController";
 | 
				
			||||||
 | 
					import { getAccountInfoController } from "@/src/controllers/custom/getAccountInfoController";
 | 
				
			||||||
import { renameAccountController } from "@/src/controllers/custom/renameAccountController";
 | 
					import { renameAccountController } from "@/src/controllers/custom/renameAccountController";
 | 
				
			||||||
import { ircDroppedController } from "@/src/controllers/custom/ircDroppedController";
 | 
					import { ircDroppedController } from "@/src/controllers/custom/ircDroppedController";
 | 
				
			||||||
import { unlockAllIntrinsicsController } from "@/src/controllers/custom/unlockAllIntrinsicsController";
 | 
					import { unlockAllIntrinsicsController } from "@/src/controllers/custom/unlockAllIntrinsicsController";
 | 
				
			||||||
@ -29,6 +30,7 @@ customRouter.get("/pushArchonCrystalUpgrade", pushArchonCrystalUpgradeController
 | 
				
			|||||||
customRouter.get("/popArchonCrystalUpgrade", popArchonCrystalUpgradeController);
 | 
					customRouter.get("/popArchonCrystalUpgrade", popArchonCrystalUpgradeController);
 | 
				
			||||||
customRouter.get("/deleteAccount", deleteAccountController);
 | 
					customRouter.get("/deleteAccount", deleteAccountController);
 | 
				
			||||||
customRouter.get("/getName", getNameController);
 | 
					customRouter.get("/getName", getNameController);
 | 
				
			||||||
 | 
					customRouter.get("/getAccountInfo", getAccountInfoController);
 | 
				
			||||||
customRouter.get("/renameAccount", renameAccountController);
 | 
					customRouter.get("/renameAccount", renameAccountController);
 | 
				
			||||||
customRouter.get("/ircDropped", ircDroppedController);
 | 
					customRouter.get("/ircDropped", ircDroppedController);
 | 
				
			||||||
customRouter.get("/unlockAllIntrinsics", unlockAllIntrinsicsController);
 | 
					customRouter.get("/unlockAllIntrinsics", unlockAllIntrinsicsController);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user