返回提交历史
Modified
src/controllers/api/removeFromGuildController.ts
+9
-1
XFEstudio/XFESpaceNinjaServer
feat: handle removeFromGuild request from old versions (#3288)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3288 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
581735fb
代码差异
1 个文件
+9
-1
@@ -18,6 +18,13 @@ export const removeFromGuildController: RequestHandler = async (req, res) => {
18
18
const account = await getAccountForRequest(req);
19
19
const guild = await getGuildForRequest(req);
20
20
const payload = JSON.parse(String(req.body)) as IRemoveFromGuildRequest;
21
if (!payload.userId) {
22
const oid = (await Account.findOne({ DisplayName: payload.userName }, "_id"))?._id;
23
payload.userId = oid?.toString();
24
if (!payload.userId) {
25
throw new Error(`invalid removeFromGuild request: ${String(req.body)}`);
26
}
27
}
21
28
const isKick = !account._id.equals(payload.userId);
22
29
if (isKick && !(await hasGuildPermission(guild, account._id, GuildPermission.Regulator))) {
23
30
res.status(400).json("Invalid permission");
@@ -90,6 +97,7 @@ export const removeFromGuildController: RequestHandler = async (req, res) => {
90
97
};
91
98
92
99
interface IRemoveFromGuildRequest {
93
userId: string;
100
userId?: string;
101
userName?: string; // U22.13.4 provides this instead of userId
94
102
kicker?: string;
95
103
}