Compare commits
1 Commits
main
...
getAccount
Author | SHA1 | Date | |
---|---|---|---|
0949299c3f |
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 { deleteAccountController } from "@/src/controllers/custom/deleteAccountController";
|
||||
import { getNameController } from "@/src/controllers/custom/getNameController";
|
||||
import { getAccountInfoController } from "@/src/controllers/custom/getAccountInfoController";
|
||||
import { renameAccountController } from "@/src/controllers/custom/renameAccountController";
|
||||
import { ircDroppedController } from "@/src/controllers/custom/ircDroppedController";
|
||||
import { unlockAllIntrinsicsController } from "@/src/controllers/custom/unlockAllIntrinsicsController";
|
||||
@ -29,6 +30,7 @@ customRouter.get("/pushArchonCrystalUpgrade", pushArchonCrystalUpgradeController
|
||||
customRouter.get("/popArchonCrystalUpgrade", popArchonCrystalUpgradeController);
|
||||
customRouter.get("/deleteAccount", deleteAccountController);
|
||||
customRouter.get("/getName", getNameController);
|
||||
customRouter.get("/getAccountInfo", getAccountInfoController);
|
||||
customRouter.get("/renameAccount", renameAccountController);
|
||||
customRouter.get("/ircDropped", ircDroppedController);
|
||||
customRouter.get("/unlockAllIntrinsics", unlockAllIntrinsicsController);
|
||||
|
Loading…
x
Reference in New Issue
Block a user