返回提交历史
Modified
src/controllers/api/contributeGuildClassController.ts
+33
-1
XFEstudio/XFESpaceNinjaServer
feat: ascension ceremony inbox message (#1284)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1284
5a56c2e9
代码差异
1 个文件
+33
-1
@@ -1,7 +1,8 @@
1
1
import { toMongoDate } from "@/src/helpers/inventoryHelpers";
2
2
import { getJSONfromString } from "@/src/helpers/stringHelpers";
3
import { Guild } from "@/src/models/guildModel";
3
import { Guild, GuildMember } from "@/src/models/guildModel";
4
4
import { config } from "@/src/services/configService";
5
import { createMessage } from "@/src/services/inboxService";
5
6
import { getInventory } from "@/src/services/inventoryService";
6
7
import { getAccountIdForRequest } from "@/src/services/loginService";
7
8
import { RequestHandler } from "express";
@@ -35,6 +36,37 @@ export const contributeGuildClassController: RequestHandler = async (req, res) =
35
36
guild.Class = guild.CeremonyClass!;
36
37
guild.CeremonyClass = undefined;
37
38
guild.CeremonyResetDate = new Date(Date.now() + (config.fastClanAscension ? 5_000 : 72 * 3600_000));
39
if (!config.fastClanAscension) {
40
// Send message to all active guild members
41
const members = await GuildMember.find({ guildId: payload.GuildId, status: 0 }, "accountId");
42
for (const member of members) {
43
// somewhat unfaithful as on live the "msg" is not a loctag, but since we don't have the string, we'll let the client fill it in with "arg".
44
await createMessage(member.accountId.toString(), [
45
{
46
sndr: guild.Name,
47
msg: "/Lotus/Language/Clan/Clan_AscensionCeremonyInProgressDetails",
48
arg: [
49
{
50
Key: "RESETDATE",
51
Tag:
52
guild.CeremonyResetDate.getUTCMonth() +
53
"/" +
54
guild.CeremonyResetDate.getUTCDate() +
55
"/" +
56
(guild.CeremonyResetDate.getUTCFullYear() % 100) +
57
" " +
58
guild.CeremonyResetDate.getUTCHours().toString().padStart(2, "0") +
59
":" +
60
guild.CeremonyResetDate.getUTCMinutes().toString().padStart(2, "0")
61
}
62
],
63
sub: "/Lotus/Language/Clan/Clan_AscensionCeremonyInProgress",
64
icon: "/Lotus/Interface/Graphics/ClanTileImages/ClanEnterDojo.png",
65
highPriority: true
66
}
67
]);
68
}
69
}
38
70
}
39
71
40
72
await guild.save();