// Metro module 5779 (f5780). import AuthenticationStore from "../../stores/AuthenticationStore"; import GuildMemberStore from "../../stores/GuildMemberStore"; import { GuildScheduledEventStatus, GuildScheduledEventUserResponses, GuildScheduledEventStatusDone } from "./GuildScheduledEventsConstants"; import { SecondaryIndexMap } from "../../_bundle/Module3813"; import Module12 from "../../_bundle/Module12"; import SnowflakeUtils from "../../utils/SnowflakeUtils"; import Module589 from "../../_bundle/Module589"; import Dispatcher from "../../Dispatcher"; function $mk76980($env) { return ({ id }) => { const r1 = $env[0]; const r8 = $env.$parent; r8[8].delete(id); delete r8[12][id]; if (r1) { delete r8[13][id]; } r8[9] = r8[9] + 1; }; } let saveEvent, addGuildEventUser, removeGuildEventUser, c3595_7, c3595_8, c3595_10, c3595_11, c3595_17; let env3595 = {}; export function scheduledEventSort(a0) { const id = a0.id; return `${a0 != null && a0?.status === GuildScheduledEventStatus.ACTIVE ? "\x00" : "\x01"}-${new Date(a0.scheduled_start_time).getTime()}-${id}`; } saveEvent = function saveEvent(a0) { c3595_8.set(a0.id, a0); env3595[9] = env3595[9] + 1; }; addGuildEventUser = function addGuildEventUser(a0, r2 = true, r3 = true) { let r0; const guild_scheduled_event_id = a0.guild_scheduled_event_id; if (env3595[12][guild_scheduled_event_id] == null) { env3595[12][guild_scheduled_event_id] = {}; } let guild_scheduled_event_exception_id = a0.guild_scheduled_event_exception_id; if (guild_scheduled_event_exception_id == null) { guild_scheduled_event_exception_id = c3595_11; } if (env3595[12][guild_scheduled_event_id][guild_scheduled_event_exception_id] == null) { env3595[12][guild_scheduled_event_id][guild_scheduled_event_exception_id] = {}; } env3595[12][guild_scheduled_event_id][guild_scheduled_event_exception_id][a0.user_id] = a0; if (r2) { let guild_scheduled_event_exception_id2 = a0.guild_scheduled_event_exception_id; if (guild_scheduled_event_exception_id2 == null) { guild_scheduled_event_exception_id2 = c3595_11; } const r27 = env3595[13][a0.guild_scheduled_event_id]; let r29 = r27 == null ? void 0 : r27[guild_scheduled_event_exception_id2]; if (r29 == null) { r29 = 0; } L22: { if (!(a0.guild_scheduled_event_exception_id != null && a0.response === GuildScheduledEventUserResponses.UNINTERESTED)) { const r35 = a0.guild_scheduled_event_exception_id == null; r0 = -1; if (!r35) { break L22; } r0 = a0.response === GuildScheduledEventUserResponses.INTERESTED ? 1 : -1; } else { r0 = 1; } } const guild_scheduled_event_id2 = a0.guild_scheduled_event_id; let guild_scheduled_event_exception_id3 = a0.guild_scheduled_event_exception_id; const r41 = r29 + r0; if (guild_scheduled_event_exception_id3 == null) { guild_scheduled_event_exception_id3 = c3595_11; } if (env3595[13][guild_scheduled_event_id2] == null) { env3595[13][guild_scheduled_event_id2] = {}; } env3595[13][guild_scheduled_event_id2][guild_scheduled_event_exception_id3] = r41; } if (r3) { env3595[9] = env3595[9] + 1; } }; removeGuildEventUser = function removeGuildEventUser(a0, r3 = true) { let r0; let guild_scheduled_event_exception_id = a0.guild_scheduled_event_exception_id; if (guild_scheduled_event_exception_id == null) { guild_scheduled_event_exception_id = c3595_11; } const r13 = env3595[12][a0.guild_scheduled_event_id]; const r2 = r13 == null; let r14 = void 0; if (!r2) { const r12 = r13[guild_scheduled_event_exception_id]; r14 = r12 == null ? void 0 : r12[a0.user_id]; } const r6 = r14 != null; const user_id = a0.user_id; const id = AuthenticationStore.getId(); if (!(r6 ? !r6 : user_id === id)) { const r24 = env3595[12][a0.guild_scheduled_event_id]; if (r24 != null) { const r25 = r24[guild_scheduled_event_exception_id]; if (r25 != null) { delete r25[a0.user_id]; } } let guild_scheduled_event_exception_id2 = a0.guild_scheduled_event_exception_id; if (guild_scheduled_event_exception_id2 == null) { guild_scheduled_event_exception_id2 = c3595_11; } const r31 = env3595[13][a0.guild_scheduled_event_id]; let r33 = r31 == null ? void 0 : r31[guild_scheduled_event_exception_id2]; if (r33 == null) { r33 = 0; } L24: { if (!(a0.guild_scheduled_event_exception_id != null && a0.response === GuildScheduledEventUserResponses.UNINTERESTED)) { const r39 = a0.guild_scheduled_event_exception_id == null; r0 = 1; if (!r39) { break L24; } r0 = a0.response === GuildScheduledEventUserResponses.INTERESTED ? -1 : 1; } else { r0 = -1; } } const guild_scheduled_event_id = a0.guild_scheduled_event_id; let guild_scheduled_event_exception_id3 = a0.guild_scheduled_event_exception_id; const r45 = r33 + r0; if (guild_scheduled_event_exception_id3 == null) { guild_scheduled_event_exception_id3 = c3595_11; } if (env3595[13][guild_scheduled_event_id] == null) { env3595[13][guild_scheduled_event_id] = {}; } env3595[13][guild_scheduled_event_id][guild_scheduled_event_exception_id3] = r45; if (r3) { env3595[9] = env3595[9] + 1; } } }; const handleGuildScheduledEventUpdateOrCreate = function handleGuildScheduledEventUpdateOrCreate({ guildScheduledEvent }) { c3595_8.set(guildScheduledEvent.id, guildScheduledEvent); env3595[9] = env3595[9] + 1; return true; }; const handleGuildScheduledEventExceptionCreateOrUpdate = function handleGuildScheduledEventExceptionCreateOrUpdate({ eventException }) { const r14 = c3595_8.get(eventException.event_id); if (r14 == null) { return false; } const r17 = r14.guild_scheduled_event_exceptions.findIndex((guild_scheduled_event_exception) => guild_scheduled_event_exception.event_exception_id === eventException.event_exception_id); const guild_scheduled_event_exceptions = [...r14.guild_scheduled_event_exceptions]; if (r17 < 0) { guild_scheduled_event_exceptions.push(eventException); } else { guild_scheduled_event_exceptions[r17] = eventException; } const r21 = { ...r14, guild_scheduled_event_exceptions }; c3595_8.set(r21.id, r21); env3595[9] = env3595[9] + 1; return true; }; c3595_7 = { EVENT: "event", EVENT_ACTIVE: "active", EVENT_UPCOMING: "event-upcoming", GUILD_EVENT: (a0) => `${a0}-${c3595_7.EVENT}`, GUILD_EVENT_ACTIVE: (a0) => `${a0}-${c3595_7.EVENT_ACTIVE}`, GUILD_EVENT_UPCOMING: (a0) => `${a0}-${c3595_7.EVENT_UPCOMING}`, CHANNEL_EVENT: (a0) => `${a0}-${c3595_7.EVENT}`, CHANNEL_EVENT_ACTIVE: (a0) => `${a0}-${c3595_7.EVENT_ACTIVE}`, CHANNEL_EVENT_UPCOMING: (a0) => `${a0}-${c3595_7.EVENT_UPCOMING}` }; c3595_8 = new SecondaryIndexMap(function scheduledEventIndex(a0) { const { guild_id, entity_id, channel_id } = a0; const r3 = [guild_id]; if (entity_id != null) { r3.push(entity_id); } r3.push(c3595_7.GUILD_EVENT(guild_id)); if (channel_id != null) { r3.push(c3595_7.CHANNEL_EVENT(channel_id)); } if (a0 != null && a0?.status === GuildScheduledEventStatus.ACTIVE) { r3.push(c3595_7.EVENT_ACTIVE); r3.push(c3595_7.GUILD_EVENT_ACTIVE(guild_id)); if (channel_id != null) { r3.push(c3595_7.CHANNEL_EVENT_ACTIVE(channel_id)); } } if (!GuildScheduledEventStatusDone.has(a0.status)) { r3.push(c3595_7.EVENT_UPCOMING); r3.push(c3595_7.GUILD_EVENT_UPCOMING(guild_id)); if (channel_id != null) { r3.push(c3595_7.CHANNEL_EVENT_UPCOMING(channel_id)); } } return r3; }, scheduledEventSort); env3595[9] = 0; c3595_10 = []; c3595_11 = "SERIES"; env3595[12] = {}; env3595[13] = {}; class GuildScheduledEventStore extends Module589.Store { static displayName = "GuildScheduledEventStore"; constructor() { super(...arguments); } initialize() { this.waitFor(AuthenticationStore, GuildMemberStore); } getGuildScheduledEvent(a0) { const r1 = a0 == null; let r2 = null; if (!r1) { let r7 = c3595_8.get(a0); if (r7 == null) { r7 = null; } r2 = r7; } return r2; } getGuildEventCountByIndex(a0) { return c3595_8.size(a0); } getGuildScheduledEventsForGuild(a0) { return a0 == null ? [] : c3595_8.values(a0); } getGuildScheduledEventsByIndex(a0) { return c3595_8.values(a0); } getRsvpVersion() { return env3595[9]; } getRsvp(a0, a1, a2) { if (a0 == null) { return null; } const r5 = a1 == null ? c3595_11 : a1; const r7 = env3595[12][a0]; const r2 = r7 == null; let r8 = void 0; if (!r2) { const r9 = r7[r5]; r8 = r9 == null ? void 0 : r9[a2]; } return r8; } isInterestedInEventRecurrence(a0, a1) { const id = AuthenticationStore.getId(); const rsvp = this.getRsvp(a0, null, id); const rsvp2 = this.getRsvp(a0, a1, id); const response = rsvp?.response; const INTERESTED = GuildScheduledEventUserResponses.INTERESTED; const response2 = rsvp2?.response; const INTERESTED2 = GuildScheduledEventUserResponses.INTERESTED; const response3 = rsvp2?.response; let r21 = response === INTERESTED; const UNINTERESTED = GuildScheduledEventUserResponses.UNINTERESTED; if (r21) { r21 = !(response3 === UNINTERESTED); } if (!r21) { r21 = response2 === INTERESTED2; } return r21; } getUserCount(a0, a1) { if (a0 == null) { return 0; } const r7 = env3595[13][a0]; let r4 = r7 == null ? void 0 : r7[c3595_11]; if (r4 == null) { r4 = 0; } let r11 = r4; if (a1 != null) { const r13 = env3595[13][a0]; let r5 = r13 == null ? void 0 : r13[a1]; if (r5 == null) { r5 = 0; } r11 = r4 - r5; } return r11; } hasUserCount(a0, a1) { const r4 = a1 == null ? c3595_11 : a1; const r6 = env3595[13][a0]; return (r6 == null ? void 0 : r6[r4]) != null; } isActive(a0) { let r0 = a0 != null; if (r0) { const r7 = c3595_8.get(a0); r0 = r7 != null && r7?.status === GuildScheduledEventStatus.ACTIVE; } return r0; } getActiveEventByChannel(a0) { if (a0 != null) { return this.getGuildScheduledEventsByIndex(c3595_7.CHANNEL_EVENT_ACTIVE(a0))[0]; } } getUsersForGuildEvent(a0, a1) { if (a0 == null) { return {}; } const r4 = a1 == null ? c3595_11 : a1; const r6 = env3595[12][a0]; let r7 = r6 == null ? void 0 : r6[r4]; if (r7 == null) { r7 = {}; } return r7; } } c3595_17 = GuildScheduledEventStore; const r102 = new GuildScheduledEventStore(Dispatcher, { CONNECTION_OPEN: function handleConnectionOpen({ guilds }) { c3595_8.clear(); env3595[9] = 0; env3595[12] = {}; env3595[13] = {}; c3595_10.forEach(saveEvent); guilds.forEach((guild) => guild.guild_scheduled_events.forEach((guild_scheduled_event) => { c3595_8.set(guild_scheduled_event.id, guild_scheduled_event); env3595[9] = env3595[9] + 1; })); return true; }, GUILD_CREATE: function handleGuildCreate({ guild }) { let env15147; const id = guild.id; const r3 = env15147 = { $parent: env3595 }; env15147[0] = false; c3595_8.values(c3595_7.GUILD_EVENT(id)).forEach($mk76980(r3)); guild.guild_scheduled_events.forEach((guild_scheduled_event) => { c3595_8.set(guild_scheduled_event.id, guild_scheduled_event); env3595[9] = env3595[9] + 1; }); return true; }, GUILD_DELETE: function handleGuildDelete(a0) { let env15148; const id = a0.guild.id; const r8 = env15148 = { $parent: env3595 }; env15148[0] = true; c3595_8.values(c3595_7.GUILD_EVENT(id)).forEach($mk76980(r8)); return true; }, FETCH_GUILD_EVENT: function handleFetchGuildEvent({ guildScheduledEvent }) { c3595_8.set(guildScheduledEvent.id, guildScheduledEvent); env3595[9] = env3595[9] + 1; }, FETCH_GUILD_EVENTS_FOR_GUILD: function handleFetchGuildEventsForGuild({ guildId, guildScheduledEvents }) { Module12.difference(c3595_8.values(c3595_7.GUILD_EVENT(guildId), true).map((item) => item.id), guildScheduledEvents.map((guildScheduledEvent) => guildScheduledEvent.id)).forEach((item) => { c3595_8.delete(item); delete env3595[12][item]; delete env3595[13][item]; env3595[9] = env3595[9] + 1; }); for (const item of guildScheduledEvents) { saveEvent(item); } return true; }, GUILD_SCHEDULED_EVENT_CREATE: handleGuildScheduledEventUpdateOrCreate, GUILD_SCHEDULED_EVENT_UPDATE: handleGuildScheduledEventUpdateOrCreate, GUILD_SCHEDULED_EVENT_DELETE: function handleGuildScheduledEventDelete(a0) { const id = a0.guildScheduledEvent.id; c3595_8.delete(id); delete env3595[12][id]; delete env3595[13][id]; env3595[9] = env3595[9] + 1; return true; }, GUILD_SCHEDULED_EVENT_USER_ADD: function handleRsvpCreate({ userId, guildEventId, guildId, guildEventExceptionId, response }) { let r12 = guildEventExceptionId; if (r12 == null) { r12 = c3595_11; } const r14 = env3595[12][guildEventId]; const r2 = r14 == null; let r5 = void 0; if (!r2) { const r15 = r14[r12]; r5 = r15 == null ? void 0 : r15[userId]; } if (r5 != null) { removeGuildEventUser(r5, false); } let member = GuildMemberStore.getMember(guildId, userId); if (member == null) { member = void 0; } addGuildEventUser({ user_id: userId, guild_scheduled_event_id: guildEventId, member, guild_scheduled_event_exception_id: guildEventExceptionId, response }); return true; }, GUILD_SCHEDULED_EVENT_USER_REMOVE: function handleRsvpDelete(a0) { removeGuildEventUser({ user_id: a0.userId, guild_scheduled_event_id: a0.guildEventId, guild_scheduled_event_exception_id: a0.guildEventExceptionId, response: a0.response }); }, GUILD_SCHEDULED_EVENT_RSVPS_FETCH_SUCESS: function handleFetchGuildEventsForUser(a0) { a0.guildScheduledEventUsers.forEach((guildScheduledEventUser) => { addGuildEventUser(guildScheduledEventUser, false, false); }); env3595[9] = env3595[9] + 1; return true; }, GUILD_SCHEDULED_EVENT_USERS_FETCH_SUCCESS: function handleFetchUsersForGuildEventSuccess(a0) { a0.guildScheduledEventUsers.forEach((guildScheduledEventUser) => { addGuildEventUser(guildScheduledEventUser, false, false); }); env3595[9] = env3595[9] + 1; return true; }, GUILD_SCHEDULED_EVENT_USER_COUNTS_FETCH_SUCCESS: function handleEventUserCountsFetchSuccess({ eventId, counts }) { const eventCount = counts.eventCount; if (env3595[13][eventId] == null) { env3595[13][eventId] = {}; } env3595[13][eventId][c3595_11] = eventCount; SnowflakeUtils.forEachKey(counts.recurrenceCounts, (a0) => { let r3 = a0; const r10 = counts.eventCount - counts.recurrenceCounts[a0]; if (a0 == null) { r3 = c3595_11; } if (env3595[13][eventId] == null) { env3595[13][eventId] = {}; } env3595[13][eventId][r3] = r10; }); }, INVITE_RESOLVE_SUCCESS: function handleInviteResolveSuccess(a0) { const guild_scheduled_event = a0.invite.guild_scheduled_event; let r9 = guild_scheduled_event != null; if (r9) { c3595_8.set(guild_scheduled_event.id, guild_scheduled_event); env3595[9] = env3595[9] + 1; r9 = true; } return r9; }, GUILD_SCHEDULED_EVENT_EXCEPTION_CREATE: handleGuildScheduledEventExceptionCreateOrUpdate, GUILD_SCHEDULED_EVENT_EXCEPTION_UPDATE: handleGuildScheduledEventExceptionCreateOrUpdate, GUILD_SCHEDULED_EVENT_EXCEPTION_DELETE: function handleGuildScheduledEventExceptionDelete({ eventException: eventException2 }) { const r12 = c3595_8.get(eventException2.event_id); if (r12 == null) { return false; } const r16 = { ...r12, guild_scheduled_event_exceptions: r12.guild_scheduled_event_exceptions.filter((guild_scheduled_event_exception) => guild_scheduled_event_exception.event_exception_id !== eventException2.event_exception_id) }; c3595_8.set(r16.id, r16); env3595[9] = env3595[9] + 1; return true; }, GUILD_SCHEDULED_EVENT_EXCEPTIONS_DELETE: function handleGuildScheduledEventExceptionsDelete({ eventId: eventId2 }) { const r11 = c3595_8.get(eventId2); let r12 = r11 != null; if (r12) { const r6 = { ...r11, guild_scheduled_event_exceptions: [] }; c3595_8.set(r6.id, r6); env3595[9] = env3595[9] + 1; r12 = true; } return r12; }, LOGOUT: function handleLogout() { c3595_8.clear(); return true; } }); export default r102; export { c3595_7 as StaticGuildEventIndexes }; export function isGuildScheduledEventActive(a0) { return a0 != null && a0?.status === GuildScheduledEventStatus.ACTIVE; } export function isEventUpcoming(a0) { return !GuildScheduledEventStatusDone.has(a0.status); } export function eventScheduledToStartWithin(a0, a1) { return new Date(a0.scheduled_start_time).getTime() < Date.now() + 1000 * a1; } export function isGuildEventEnded(a0) { return a0 != null && GuildScheduledEventStatusDone.has(a0.status); }