XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

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
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +9 -1
Modified src/controllers/api/removeFromGuildController.ts +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 }