summary refs log tree commit diff
path: root/rtc/src/models/Event.ts
diff options
context:
space:
mode:
Diffstat (limited to 'rtc/src/models/Event.ts')
-rw-r--r--rtc/src/models/Event.ts540
1 files changed, 0 insertions, 540 deletions
diff --git a/rtc/src/models/Event.ts b/rtc/src/models/Event.ts
deleted file mode 100644
index 1564107d..00000000
--- a/rtc/src/models/Event.ts
+++ /dev/null
@@ -1,540 +0,0 @@
-import { ConnectedAccount, PublicUser, Relationship, User, UserSettings } from "./User";
-import { DMChannel, Channel } from "./Channel";
-import { Guild } from "./Guild";
-import { Member, PublicMember, UserGuildSettings } from "./Member";
-import { Emoji } from "./Emoji";
-import { Presence } from "./Activity";
-import { Role } from "./Role";
-import { Invite } from "./Invite";
-import { Message, PartialEmoji } from "./Message";
-import { VoiceState } from "./VoiceState";
-import { ApplicationCommand } from "./Application";
-import { Interaction } from "./Interaction";
-import { Schema, model, Types, Document } from "mongoose";
-import db from "../util/Database";
-
-export interface Event {
-	guild_id?: string;
-	user_id?: string;
-	channel_id?: string;
-	created_at?: Date;
-	event: EVENT;
-	data?: any;
-}
-
-export interface EventDocument extends Event, Document {}
-
-export const EventSchema = new Schema({
-	guild_id: String,
-	user_id: String,
-	channel_id: String,
-	created_at: { type: Date, required: true },
-	event: { type: String, required: true },
-	data: Object,
-});
-
-// @ts-ignore
-export const EventModel = db.model<EventDocument>("Event", EventSchema, "events");
-
-// ! Custom Events that shouldn't get sent to the client but processed by the server
-
-export interface InvalidatedEvent extends Event {
-	event: "INVALIDATED";
-}
-
-// ! END Custom Events that shouldn't get sent to the client but processed by the server
-
-export interface ReadyEventData {
-	v: number;
-	user: PublicUser & {
-		mobile: boolean;
-		desktop: boolean;
-		email: string | null;
-		flags: bigint;
-		mfa_enabled: boolean;
-		nsfw_allowed: boolean;
-		phone: string | null;
-		premium: boolean;
-		premium_type: number;
-		verified: boolean;
-		bot: boolean;
-	};
-	private_channels: DMChannel[]; // this will be empty for bots
-	session_id: string; // resuming
-	guilds: Guild[];
-	analytics_token?: string;
-	connected_accounts?: ConnectedAccount[];
-	consents?: {
-		personalization?: {
-			consented?: boolean;
-		};
-	};
-	country_code?: string; // e.g. DE
-	friend_suggestion_count?: number;
-	geo_ordered_rtc_regions?: string[]; // ["europe","russie","india","us-east","us-central"]
-	experiments?: [number, number, number, number, number][];
-	guild_experiments?: [
-		// ? what are guild_experiments?
-		// this is the structure of it:
-		number,
-		null,
-		number,
-		[[number, { e: number; s: number }[]]],
-		[number, [[number, [number, number]]]],
-		{ b: number; k: bigint[] }[]
-	][];
-	guild_join_requests?: []; // ? what is this? this is new
-	shard?: [number, number];
-	user_settings?: UserSettings;
-	relationships?: Relationship[]; // TODO
-	read_state: {
-		entries: []; // TODO
-		partial: boolean;
-		version: number;
-	};
-	user_guild_settings?: {
-		entries: UserGuildSettings[];
-		version: number;
-		partial: boolean;
-	};
-	application?: {
-		id: string;
-		flags: bigint;
-	};
-	merged_members?: Omit<Member, "settings" | "user">[][];
-	// probably all users who the user is in contact with
-	users?: {
-		avatar: string | null;
-		discriminator: string;
-		id: string;
-		username: string;
-		bot: boolean;
-		public_flags: bigint;
-	}[];
-}
-
-export interface ReadyEvent extends Event {
-	event: "READY";
-	data: ReadyEventData;
-}
-
-export interface ChannelCreateEvent extends Event {
-	event: "CHANNEL_CREATE";
-	data: Channel;
-}
-
-export interface ChannelUpdateEvent extends Event {
-	event: "CHANNEL_UPDATE";
-	data: Channel;
-}
-
-export interface ChannelDeleteEvent extends Event {
-	event: "CHANNEL_DELETE";
-	data: Channel;
-}
-
-export interface ChannelPinsUpdateEvent extends Event {
-	event: "CHANNEL_PINS_UPDATE";
-	data: {
-		guild_id?: string;
-		channel_id: string;
-		last_pin_timestamp?: number;
-	};
-}
-
-export interface GuildCreateEvent extends Event {
-	event: "GUILD_CREATE";
-	data: Guild;
-}
-
-export interface GuildUpdateEvent extends Event {
-	event: "GUILD_UPDATE";
-	data: Guild;
-}
-
-export interface GuildDeleteEvent extends Event {
-	event: "GUILD_DELETE";
-	data: {
-		id: string;
-		unavailable?: boolean;
-	};
-}
-
-export interface GuildBanAddEvent extends Event {
-	event: "GUILD_BAN_ADD";
-	data: {
-		guild_id: string;
-		user: User;
-	};
-}
-
-export interface GuildBanRemoveEvent extends Event {
-	event: "GUILD_BAN_REMOVE";
-	data: {
-		guild_id: string;
-		user: User;
-	};
-}
-
-export interface GuildEmojiUpdateEvent extends Event {
-	event: "GUILD_EMOJI_UPDATE";
-	data: {
-		guild_id: string;
-		emojis: Emoji[];
-	};
-}
-
-export interface GuildIntegrationUpdateEvent extends Event {
-	event: "GUILD_INTEGRATIONS_UPDATE";
-	data: {
-		guild_id: string;
-	};
-}
-
-export interface GuildMemberAddEvent extends Event {
-	event: "GUILD_MEMBER_ADD";
-	data: PublicMember & {
-		guild_id: string;
-	};
-}
-
-export interface GuildMemberRemoveEvent extends Event {
-	event: "GUILD_MEMBER_REMOVE";
-	data: {
-		guild_id: string;
-		user: User;
-	};
-}
-
-export interface GuildMemberUpdateEvent extends Event {
-	event: "GUILD_MEMBER_UPDATE";
-	data: {
-		guild_id: string;
-		roles: string[];
-		user: User;
-		nick?: string;
-		joined_at?: Date;
-		premium_since?: number;
-		pending?: boolean;
-	};
-}
-
-export interface GuildMembersChunkEvent extends Event {
-	event: "GUILD_MEMBERS_CHUNK";
-	data: {
-		guild_id: string;
-		members: PublicMember[];
-		chunk_index: number;
-		chunk_count: number;
-		not_found: string[];
-		presences: Presence[];
-		nonce?: string;
-	};
-}
-
-export interface GuildRoleCreateEvent extends Event {
-	event: "GUILD_ROLE_CREATE";
-	data: {
-		guild_id: string;
-		role: Role;
-	};
-}
-
-export interface GuildRoleUpdateEvent extends Event {
-	event: "GUILD_ROLE_UPDATE";
-	data: {
-		guild_id: string;
-		role: Role;
-	};
-}
-
-export interface GuildRoleDeleteEvent extends Event {
-	event: "GUILD_ROLE_DELETE";
-	data: {
-		guild_id: string;
-		role_id: string;
-	};
-}
-
-export interface InviteCreateEvent extends Event {
-	event: "INVITE_CREATE";
-	data: Omit<Invite, "guild" | "channel"> & {
-		channel_id: string;
-		guild_id?: string;
-	};
-}
-
-export interface InviteDeleteEvent extends Event {
-	event: "INVITE_DELETE";
-	data: {
-		channel_id: string;
-		guild_id?: string;
-		code: string;
-	};
-}
-
-export type MessagePayload = Omit<Message, "author_id"> & {
-	channel_id: string;
-	guild_id?: string;
-	author: PublicUser;
-	member: PublicMember;
-	mentions: (PublicUser & { member: PublicMember })[];
-};
-
-export interface MessageCreateEvent extends Event {
-	event: "MESSAGE_CREATE";
-	data: MessagePayload;
-}
-
-export interface MessageUpdateEvent extends Event {
-	event: "MESSAGE_UPDATE";
-	data: MessagePayload;
-}
-
-export interface MessageDeleteEvent extends Event {
-	event: "MESSAGE_DELETE";
-	data: {
-		id: string;
-		channel_id: string;
-		guild_id?: string;
-	};
-}
-
-export interface MessageDeleteBulkEvent extends Event {
-	event: "MESSAGE_DELETE_BULK";
-	data: {
-		ids: string[];
-		channel_id: string;
-		guild_id?: string;
-	};
-}
-
-export interface MessageReactionAddEvent extends Event {
-	event: "MESSAGE_REACTION_ADD";
-	data: {
-		user_id: string;
-		channel_id: string;
-		message_id: string;
-		guild_id?: string;
-		member?: PublicMember;
-		emoji: PartialEmoji;
-	};
-}
-
-export interface MessageReactionRemoveEvent extends Event {
-	event: "MESSAGE_REACTION_REMOVE";
-	data: {
-		user_id: string;
-		channel_id: string;
-		message_id: string;
-		guild_id?: string;
-		emoji: PartialEmoji;
-	};
-}
-
-export interface MessageReactionRemoveAllEvent extends Event {
-	event: "MESSAGE_REACTION_REMOVE_ALL";
-	data: {
-		channel_id: string;
-		message_id: string;
-		guild_id?: string;
-	};
-}
-
-export interface MessageReactionRemoveEmojiEvent extends Event {
-	event: "MESSAGE_REACTION_REMOVE_EMOJI";
-	data: {
-		channel_id: string;
-		message_id: string;
-		guild_id?: string;
-		emoji: PartialEmoji;
-	};
-}
-
-export interface PresenceUpdateEvent extends Event {
-	event: "PRESENCE_UPDATE";
-	data: Presence;
-}
-
-export interface TypingStartEvent extends Event {
-	event: "TYPING_START";
-	data: {
-		channel_id: string;
-		user_id: string;
-		timestamp: number;
-		guild_id?: string;
-		member?: PublicMember;
-	};
-}
-
-export interface UserUpdateEvent extends Event {
-	event: "USER_UPDATE";
-	data: User;
-}
-
-export interface VoiceStateUpdateEvent extends Event {
-	event: "VOICE_STATE_UPDATE";
-	data: VoiceState & {
-		member: PublicMember;
-	};
-}
-
-export interface VoiceServerUpdateEvent extends Event {
-	event: "VOICE_SERVER_UPDATE";
-	data: {
-		token: string;
-		guild_id: string;
-		endpoint: string;
-	};
-}
-
-export interface WebhooksUpdateEvent extends Event {
-	event: "WEBHOOKS_UPDATE";
-	data: {
-		guild_id: string;
-		channel_id: string;
-	};
-}
-
-export type ApplicationCommandPayload = ApplicationCommand & {
-	guild_id: string;
-};
-
-export interface ApplicationCommandCreateEvent extends Event {
-	event: "APPLICATION_COMMAND_CREATE";
-	data: ApplicationCommandPayload;
-}
-
-export interface ApplicationCommandUpdateEvent extends Event {
-	event: "APPLICATION_COMMAND_UPDATE";
-	data: ApplicationCommandPayload;
-}
-
-export interface ApplicationCommandDeleteEvent extends Event {
-	event: "APPLICATION_COMMAND_DELETE";
-	data: ApplicationCommandPayload;
-}
-
-export interface InteractionCreateEvent extends Event {
-	event: "INTERACTION_CREATE";
-	data: Interaction;
-}
-
-export interface MessageAckEvent extends Event {
-	event: "MESSAGE_ACK";
-	data: {
-		channel_id: string;
-		message_id: string;
-		version?: number;
-		manual?: boolean;
-		mention_count?: number;
-	};
-}
-
-export interface RelationshipAddEvent extends Event {
-	event: "RELATIONSHIP_ADD";
-	data: Relationship & {
-		should_notify?: boolean;
-		user: PublicUser;
-	};
-}
-
-export interface RelationshipRemoveEvent extends Event {
-	event: "RELATIONSHIP_REMOVE";
-	data: Omit<Relationship, "nickname">;
-}
-
-// located in collection events
-
-export enum EVENTEnum {
-	Ready = "READY",
-	ChannelCreate = "CHANNEL_CREATE",
-	ChannelUpdate = "CHANNEL_UPDATE",
-	ChannelDelete = "CHANNEL_DELETE",
-	ChannelPinsUpdate = "CHANNEL_PINS_UPDATE",
-	GuildCreate = "GUILD_CREATE",
-	GuildUpdate = "GUILD_UPDATE",
-	GuildDelete = "GUILD_DELETE",
-	GuildBanAdd = "GUILD_BAN_ADD",
-	GuildBanRemove = "GUILD_BAN_REMOVE",
-	GuildEmojUpdate = "GUILD_EMOJI_UPDATE",
-	GuildIntegrationsUpdate = "GUILD_INTEGRATIONS_UPDATE",
-	GuildMemberAdd = "GUILD_MEMBER_ADD",
-	GuildMemberRempve = "GUILD_MEMBER_REMOVE",
-	GuildMemberUpdate = "GUILD_MEMBER_UPDATE",
-	GuildMemberSpeaking = "GUILD_MEMBER_SPEAKING",
-	GuildMembersChunk = "GUILD_MEMBERS_CHUNK",
-	GuildRoleCreate = "GUILD_ROLE_CREATE",
-	GuildRoleDelete = "GUILD_ROLE_DELETE",
-	GuildRoleUpdate = "GUILD_ROLE_UPDATE",
-	InviteCreate = "INVITE_CREATE",
-	InviteDelete = "INVITE_DELETE",
-	MessageCreate = "MESSAGE_CREATE",
-	MessageUpdate = "MESSAGE_UPDATE",
-	MessageDelete = "MESSAGE_DELETE",
-	MessageDeleteBulk = "MESSAGE_DELETE_BULK",
-	MessageReactionAdd = "MESSAGE_REACTION_ADD",
-	MessageReactionRemove = "MESSAGE_REACTION_REMOVE",
-	MessageReactionRemoveAll = "MESSAGE_REACTION_REMOVE_ALL",
-	MessageReactionRemoveEmoji = "MESSAGE_REACTION_REMOVE_EMOJI",
-	PresenceUpdate = "PRESENCE_UPDATE",
-	TypingStart = "TYPING_START",
-	UserUpdate = "USER_UPDATE",
-	WebhooksUpdate = "WEBHOOKS_UPDATE",
-	InteractionCreate = "INTERACTION_CREATE",
-	VoiceStateUpdate = "VOICE_STATE_UPDATE",
-	VoiceServerUpdate = "VOICE_SERVER_UPDATE",
-	ApplicationCommandCreate = "APPLICATION_COMMAND_CREATE",
-	ApplicationCommandUpdate = "APPLICATION_COMMAND_UPDATE",
-	ApplicationCommandDelete = "APPLICATION_COMMAND_DELETE",
-}
-
-export type EVENT =
-	| "READY"
-	| "CHANNEL_CREATE"
-	| "CHANNEL_UPDATE"
-	| "CHANNEL_DELETE"
-	| "CHANNEL_PINS_UPDATE"
-	| "GUILD_CREATE"
-	| "GUILD_UPDATE"
-	| "GUILD_DELETE"
-	| "GUILD_BAN_ADD"
-	| "GUILD_BAN_REMOVE"
-	| "GUILD_EMOJI_UPDATE"
-	| "GUILD_INTEGRATIONS_UPDATE"
-	| "GUILD_MEMBER_ADD"
-	| "GUILD_MEMBER_REMOVE"
-	| "GUILD_MEMBER_UPDATE"
-	| "GUILD_MEMBER_SPEAKING"
-	| "GUILD_MEMBERS_CHUNK"
-	| "GUILD_ROLE_CREATE"
-	| "GUILD_ROLE_DELETE"
-	| "GUILD_ROLE_UPDATE"
-	| "INVITE_CREATE"
-	| "INVITE_DELETE"
-	| "MESSAGE_CREATE"
-	| "MESSAGE_UPDATE"
-	| "MESSAGE_DELETE"
-	| "MESSAGE_DELETE_BULK"
-	| "MESSAGE_REACTION_ADD"
-	// TODO: add a new event: bulk add reaction:
-	// | "MESSAGE_REACTION_BULK_ADD"
-	| "MESSAGE_REACTION_REMOVE"
-	| "MESSAGE_REACTION_REMOVE_ALL"
-	| "MESSAGE_REACTION_REMOVE_EMOJI"
-	| "PRESENCE_UPDATE"
-	| "TYPING_START"
-	| "USER_UPDATE"
-	| "WEBHOOKS_UPDATE"
-	| "INTERACTION_CREATE"
-	| "VOICE_STATE_UPDATE"
-	| "VOICE_SERVER_UPDATE"
-	| "APPLICATION_COMMAND_CREATE"
-	| "APPLICATION_COMMAND_UPDATE"
-	| "APPLICATION_COMMAND_DELETE"
-	| "MESSAGE_ACK"
-	| "RELATIONSHIP_ADD"
-	| "RELATIONSHIP_REMOVE"
-	| CUSTOMEVENTS;
-
-export type CUSTOMEVENTS = "INVALIDATED";