summary refs log tree commit diff
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2022-08-13 22:14:22 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2022-08-15 06:13:50 +0200
commit6d3706c2c8efda6e170eac2081a60f41a09bb41f (patch)
treea40a7e505f9cf22a63d7bd1fa8c97b65e3122227
parentDo the funny thing (make user->invite cascade delet) (diff)
downloadserver-6d3706c2c8efda6e170eac2081a60f41a09bb41f.tar.xz
Fix rebase conflicts
-rw-r--r--gateway/src/opcodes/Identify.ts298
-rw-r--r--src/api/routes/applications/#id/bot/index.ts (renamed from api/src/routes/applications/#id/bot/index.ts)0
-rw-r--r--src/api/routes/applications/#id/index.ts (renamed from api/src/routes/applications/#id/index.ts)0
-rw-r--r--src/api/routes/applications/#id/skus.ts (renamed from api/src/routes/applications/#id/skus.ts)0
-rw-r--r--src/gateway/opcodes/Identify.ts4
-rw-r--r--src/util/migrations/mariadb/1660130586602-updated-applications.ts (renamed from util/src/migrations/mariadb/1660130586602-updated-applications.ts)0
-rw-r--r--src/util/migrations/mariadb/1660131942703-apps_nullable_team.ts (renamed from util/src/migrations/mariadb/1660131942703-apps_nullable_team.ts)0
-rw-r--r--src/util/migrations/mariadb/1660258393551-CodeCleanup3.ts232
-rw-r--r--src/util/migrations/postgres/1660130561959-updated-applications.ts (renamed from util/src/migrations/postgres/1660130561959-updated-applications.ts)0
-rw-r--r--src/util/migrations/sqlite/1660130536131-updated-applications.ts (renamed from util/src/migrations/sqlite/1660130536131-updated-applications.ts)0
-rw-r--r--util/src/migrations/mariadb/1660416072362-InvitersAreDeletable.ts56
-rw-r--r--util/src/migrations/postgres/1660416055566-InvitersAreDeletable.ts26
-rw-r--r--util/src/migrations/sqlite/1660416010862-InvitersAreDeletable.ts246
13 files changed, 2 insertions, 860 deletions
diff --git a/gateway/src/opcodes/Identify.ts b/gateway/src/opcodes/Identify.ts
deleted file mode 100644
index e62c1570..00000000
--- a/gateway/src/opcodes/Identify.ts
+++ /dev/null
@@ -1,298 +0,0 @@
-import { WebSocket, Payload } from "@fosscord/gateway";
-import {
-	checkToken,
-	Intents,
-	Member,
-	ReadyEventData,
-	User,
-	Session,
-	EVENTEnum,
-	Config,
-	PublicMember,
-	PublicUser,
-	PrivateUserProjection,
-	ReadState,
-	Application,
-	emitEvent,
-	SessionsReplace,
-	PrivateSessionProjection,
-	MemberPrivateProjection,
-	PresenceUpdateEvent,
-	UserSettings,
-	IdentifySchema,
-} from "@fosscord/util";
-import { Send } from "../util/Send";
-import { CLOSECODES, OPCODES } from "../util/Constants";
-import { genSessionId } from "../util/SessionUtils";
-import { setupListener } from "../listener/listener";
-// import experiments from "./experiments.json";
-const experiments: any = [];
-import { check } from "./instanceOf";
-import { Recipient } from "@fosscord/util";
-import { OrmUtils } from "@fosscord/util";
-
-// TODO: user sharding
-// TODO: check privileged intents, if defined in the config
-// TODO: check if already identified
-
-export async function onIdentify(this: WebSocket, data: Payload) {
-	clearTimeout(this.readyTimeout);
-	check.call(this, IdentifySchema, data.d);
-
-	const identify: IdentifySchema = data.d;
-
-	try {
-		const { jwtSecret } = Config.get().security;
-		var { decoded } = await checkToken(identify.token, jwtSecret); // will throw an error if invalid
-	} catch (error) {
-		console.error("invalid token", error);
-		return this.close(CLOSECODES.Authentication_failed);
-	}
-	this.user_id = decoded.id;
-
-	const session_id = genSessionId();
-	this.session_id = session_id; //Set the session of the WebSocket object
-	
-	const [user, read_states, members, recipients, session, application] =
-		await Promise.all([
-			User.findOneOrFail({
-				where: { id: this.user_id },
-				relations: ["relationships", "relationships.to", "settings"],
-				select: [...PrivateUserProjection, "relationships"],
-			}),
-			ReadState.find({ where: { user_id: this.user_id } }),
-			Member.find({
-				where: { id: this.user_id },
-				select: MemberPrivateProjection,
-				relations: [
-					"guild",
-					"guild.channels",
-					"guild.emojis",
-					"guild.emojis.user",
-					"guild.roles",
-					"guild.stickers",
-					"user",
-					"roles",
-				],
-			}),
-			Recipient.find({
-				where: { user_id: this.user_id, closed: false },
-				relations: [
-					"channel",
-					"channel.recipients",
-					"channel.recipients.user",
-				],
-				// TODO: public user selection
-			}),
-			// save the session and delete it when the websocket is closed
-			await OrmUtils.mergeDeep(new Session(), {
-				user_id: this.user_id,
-				session_id: session_id,
-				// TODO: check if status is only one of: online, dnd, offline, idle
-				status: identify.presence?.status || "offline", //does the session always start as online?
-				client_info: {
-					//TODO read from identity
-					client: "desktop",
-					os: identify.properties?.os,
-					version: 0,
-				},
-				activities: [],
-			}).save(),
-			Application.findOne({ where: { id: this.user_id } }),
-		]);
-
-	if (!user) return this.close(CLOSECODES.Authentication_failed);
-	if (!user.settings) { //settings may not exist after updating...
-		user.settings = new UserSettings();
-		user.settings.id = user.id;
-		await user.settings.save();
-	}
-
-	if (!identify.intents) identify.intents = BigInt("0x6ffffffff");
-	this.intents = new Intents(identify.intents);
-	if (identify.shard) {
-		this.shard_id = identify.shard[0];
-		this.shard_count = identify.shard[1];
-		if (
-			this.shard_count == null ||
-			this.shard_id == null ||
-			this.shard_id >= this.shard_count ||
-			this.shard_id < 0 ||
-			this.shard_count <= 0
-		) {
-			console.log(identify.shard);
-			return this.close(CLOSECODES.Invalid_shard);
-		}
-	}
-	let users: PublicUser[] = [];
-
-	const merged_members = members.map((x: Member) => {
-		return [
-			{
-				...x,
-				roles: x.roles.map((x) => x.id),
-				settings: undefined,
-				guild: undefined,
-			},
-		];
-	}) as PublicMember[][];
-	let guilds = members.map((x) => ({ ...x.guild, joined_at: x.joined_at }));
-
-	// @ts-ignore
-	guilds = guilds.map((guild) => {
-		if (user.bot) {
-			setTimeout(() => {
-				Send(this, {
-					op: OPCODES.Dispatch,
-					t: EVENTEnum.GuildCreate,
-					s: this.sequence++,
-					d: guild,
-				});
-			}, 500);
-			return { id: guild.id, unavailable: true };
-		}
-
-		return guild;
-	});
-
-	const user_guild_settings_entries = members.map((x) => x.settings);
-
-	const channels = recipients.map((x) => {
-		// @ts-ignore
-		x.channel.recipients = x.channel.recipients?.map((x) => x.user);
-		//TODO is this needed? check if users in group dm that are not friends are sent in the READY event
-		users = users.concat(x.channel.recipients as unknown as User[]);
-		if (x.channel.isDm()) {
-			x.channel.recipients = x.channel.recipients!.filter(
-				(x) => x.id !== this.user_id
-			);
-		}
-		return x.channel;
-	});
-
-	for (let relation of user.relationships) {
-		const related_user = relation.to;
-		const public_related_user = {
-			username: related_user.username,
-			discriminator: related_user.discriminator,
-			id: related_user.id,
-			public_flags: related_user.public_flags,
-			avatar: related_user.avatar,
-			bot: related_user.bot,
-			bio: related_user.bio,
-			premium_since: user.premium_since
-		};
-		users.push(public_related_user);
-	}
-
-	setImmediate(async () => {
-		// run in seperate "promise context" because ready payload is not dependent on those events
-		emitEvent({
-			event: "SESSIONS_REPLACE",
-			user_id: this.user_id,
-			data: await Session.find({
-				where: { user_id: this.user_id },
-				select: PrivateSessionProjection,
-			}),
-		} as SessionsReplace);
-		emitEvent({
-			event: "PRESENCE_UPDATE",
-			user_id: this.user_id,
-			data: {
-				user: await User.getPublicUser(this.user_id),
-				activities: session.activities,
-				client_status: session?.client_info,
-				status: session.status,
-			},
-		} as PresenceUpdateEvent);
-	});
-
-	read_states.forEach((s: any) => {
-		s.id = s.channel_id;
-		delete s.user_id;
-		delete s.channel_id;
-	});
-
-	const privateUser = {
-		avatar: user.avatar,
-		mobile: user.mobile,
-		desktop: user.desktop,
-		discriminator: user.discriminator,
-		email: user.email,
-		flags: user.flags,
-		id: user.id,
-		mfa_enabled: user.mfa_enabled,
-		nsfw_allowed: user.nsfw_allowed,
-		phone: user.phone,
-		premium: user.premium,
-		premium_type: user.premium_type,
-		public_flags: user.public_flags,
-		username: user.username,
-		verified: user.verified,
-		bot: user.bot,
-		accent_color: user.accent_color || 0,
-		banner: user.banner,
-		bio: user.bio,
-		premium_since: user.premium_since
-	};
-
-	const d: ReadyEventData = {
-		v: 8,
-		application: {id: application?.id??'', flags: application?.flags??0}, //TODO: check this code!
-		user: privateUser,
-		user_settings: user.settings,
-		// @ts-ignore
-		guilds: guilds.map((x) => {
-			// @ts-ignore
-			x.guild_hashes = {}; // @ts-ignore
-			x.guild_scheduled_events = []; // @ts-ignore
-			x.threads = [];
-			return x;
-		}),
-		guild_experiments: [], // TODO
-		geo_ordered_rtc_regions: [], // TODO
-		relationships: user.relationships.map((x) => x.toPublicRelationship()),
-		read_state: {
-			entries: read_states,
-			partial: false,
-			version: 304128,
-		},
-		user_guild_settings: {
-			entries: user_guild_settings_entries,
-			partial: false, // TODO partial
-			version: 642,
-		},
-		private_channels: channels,
-		session_id: session_id,
-		analytics_token: "", // TODO
-		connected_accounts: [], // TODO
-		consents: {
-			personalization: {
-				consented: false, // TODO
-			},
-		},
-		country_code: user.settings.locale,
-		friend_suggestion_count: 0, // TODO
-		// @ts-ignore
-		experiments: experiments, // TODO
-		guild_join_requests: [], // TODO what is this?
-		users: users.filter((x) => x).unique(),
-		merged_members: merged_members,
-		// shard // TODO: only for user sharding
-	};
-
-	// TODO: send real proper data structure
-	await Send(this, {
-		op: OPCODES.Dispatch,
-		t: EVENTEnum.Ready,
-		s: this.sequence++,
-		d,
-	});
-
-	//TODO send READY_SUPPLEMENTAL
-	//TODO send GUILD_MEMBER_LIST_UPDATE
-	//TODO send SESSIONS_REPLACE
-	//TODO send VOICE_STATE_UPDATE to let the client know if another device is already connected to a voice channel
-
-	await setupListener.call(this);
-}
diff --git a/api/src/routes/applications/#id/bot/index.ts b/src/api/routes/applications/#id/bot/index.ts
index 5cae5215..5cae5215 100644
--- a/api/src/routes/applications/#id/bot/index.ts
+++ b/src/api/routes/applications/#id/bot/index.ts
diff --git a/api/src/routes/applications/#id/index.ts b/src/api/routes/applications/#id/index.ts
index 0aced582..0aced582 100644
--- a/api/src/routes/applications/#id/index.ts
+++ b/src/api/routes/applications/#id/index.ts
diff --git a/api/src/routes/applications/#id/skus.ts b/src/api/routes/applications/#id/skus.ts
index 5b667f36..5b667f36 100644
--- a/api/src/routes/applications/#id/skus.ts
+++ b/src/api/routes/applications/#id/skus.ts
diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts
index 4f17ab70..d5dae7b0 100644
--- a/src/gateway/opcodes/Identify.ts
+++ b/src/gateway/opcodes/Identify.ts
@@ -108,7 +108,7 @@ export async function onIdentify(this: WebSocket, data: Payload) {
 		await user.settings.save();
 	}
 
-	if (!identify.intents) identify.intents = "0x6ffffffff"
+	if (!identify.intents) identify.intents = "30064771071";
 	this.intents = new Intents(identify.intents);
 	if (identify.shard) {
 		this.shard_id = identify.shard[0];
@@ -238,7 +238,7 @@ export async function onIdentify(this: WebSocket, data: Payload) {
 
 	const d: ReadyEventData = {
 		v: 8,
-		application: {id: application?.id??'', flags: application?.flags??''}, //TODO: check this code!
+		application: {id: application?.id??'', flags: application?.flags??0}, //TODO: check this code!
 		user: privateUser,
 		user_settings: user.settings,
 		// @ts-ignore
diff --git a/util/src/migrations/mariadb/1660130586602-updated-applications.ts b/src/util/migrations/mariadb/1660130586602-updated-applications.ts
index ec574416..ec574416 100644
--- a/util/src/migrations/mariadb/1660130586602-updated-applications.ts
+++ b/src/util/migrations/mariadb/1660130586602-updated-applications.ts
diff --git a/util/src/migrations/mariadb/1660131942703-apps_nullable_team.ts b/src/util/migrations/mariadb/1660131942703-apps_nullable_team.ts
index ac445772..ac445772 100644
--- a/util/src/migrations/mariadb/1660131942703-apps_nullable_team.ts
+++ b/src/util/migrations/mariadb/1660131942703-apps_nullable_team.ts
diff --git a/src/util/migrations/mariadb/1660258393551-CodeCleanup3.ts b/src/util/migrations/mariadb/1660258393551-CodeCleanup3.ts
deleted file mode 100644
index 87d075e4..00000000
--- a/src/util/migrations/mariadb/1660258393551-CodeCleanup3.ts
+++ /dev/null
@@ -1,232 +0,0 @@
-import { MigrationInterface, QueryRunner } from "typeorm";
-
-export class CodeCleanup31660258393551 implements MigrationInterface {
-    name = 'CodeCleanup31660258393551'
-
-    public async up(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP FOREIGN KEY \`FK_2ce5a55796fe4c2f77ece57a647\`
-        `);
-        await queryRunner.query(`
-            DROP INDEX \`REL_2ce5a55796fe4c2f77ece57a64\` ON \`applications\`
-        `);
-        await queryRunner.query(`
-            CREATE TABLE \`user_settings\` (
-                \`id\` varchar(255) NOT NULL,
-                \`afk_timeout\` int NULL,
-                \`allow_accessibility_detection\` tinyint NULL,
-                \`animate_emoji\` tinyint NULL,
-                \`animate_stickers\` int NULL,
-                \`contact_sync_enabled\` tinyint NULL,
-                \`convert_emoticons\` tinyint NULL,
-                \`custom_status\` text NULL,
-                \`default_guilds_restricted\` tinyint NULL,
-                \`detect_platform_accounts\` tinyint NULL,
-                \`developer_mode\` tinyint NULL,
-                \`disable_games_tab\` tinyint NULL,
-                \`enable_tts_command\` tinyint NULL,
-                \`explicit_content_filter\` int NULL,
-                \`friend_source_flags\` text NULL,
-                \`gateway_connected\` tinyint NULL,
-                \`gif_auto_play\` tinyint NULL,
-                \`guild_folders\` text NULL,
-                \`guild_positions\` text NULL,
-                \`inline_attachment_media\` tinyint NULL,
-                \`inline_embed_media\` tinyint NULL,
-                \`locale\` varchar(255) NULL,
-                \`message_display_compact\` tinyint NULL,
-                \`native_phone_integration_enabled\` tinyint NULL,
-                \`render_embeds\` tinyint NULL,
-                \`render_reactions\` tinyint NULL,
-                \`restricted_guilds\` text NULL,
-                \`show_current_game\` tinyint NULL,
-                \`status\` varchar(255) NULL,
-                \`stream_notifications_enabled\` tinyint NULL,
-                \`theme\` varchar(255) NULL,
-                \`timezone_offset\` int NULL,
-                PRIMARY KEY (\`id\`)
-            ) ENGINE = InnoDB
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`users\` DROP COLUMN \`settings\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`type\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`hook\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`redirect_uris\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`rpc_application_state\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`store_application_state\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`verification_state\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`interactions_endpoint_url\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`integration_public\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`integration_require_code_grant\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`discoverability_state\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`discovery_eligibility_flags\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`tags\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`install_params\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`bot_user_id\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`guilds\`
-            ADD \`premium_progress_bar_enabled\` tinyint NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`rpc_origins\` text NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`primary_sku_id\` varchar(255) NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`slug\` varchar(255) NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`guild_id\` varchar(255) NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` CHANGE \`description\` \`description\` varchar(255) NOT NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`flags\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`flags\` varchar(255) NOT NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD CONSTRAINT \`FK_e5bf78cdbbe9ba91062d74c5aba\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION
-        `);
-    }
-
-    public async down(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP FOREIGN KEY \`FK_e5bf78cdbbe9ba91062d74c5aba\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`flags\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`flags\` int NOT NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` CHANGE \`description\` \`description\` varchar(255) NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`guild_id\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`slug\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`primary_sku_id\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\` DROP COLUMN \`rpc_origins\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`guilds\` DROP COLUMN \`premium_progress_bar_enabled\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`bot_user_id\` varchar(255) NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`install_params\` text NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`tags\` text NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`discovery_eligibility_flags\` int NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`discoverability_state\` int NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`integration_require_code_grant\` tinyint NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`integration_public\` tinyint NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`interactions_endpoint_url\` varchar(255) NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`verification_state\` int NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`store_application_state\` int NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`rpc_application_state\` int NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`redirect_uris\` text NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`hook\` tinyint NOT NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD \`type\` text NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`users\`
-            ADD \`settings\` text NOT NULL
-        `);
-        await queryRunner.query(`
-            DROP TABLE \`user_settings\`
-        `);
-        await queryRunner.query(`
-            CREATE UNIQUE INDEX \`REL_2ce5a55796fe4c2f77ece57a64\` ON \`applications\` (\`bot_user_id\`)
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`applications\`
-            ADD CONSTRAINT \`FK_2ce5a55796fe4c2f77ece57a647\` FOREIGN KEY (\`bot_user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION
-        `);
-    }
-
-}
diff --git a/util/src/migrations/postgres/1660130561959-updated-applications.ts b/src/util/migrations/postgres/1660130561959-updated-applications.ts
index 8fab54c7..8fab54c7 100644
--- a/util/src/migrations/postgres/1660130561959-updated-applications.ts
+++ b/src/util/migrations/postgres/1660130561959-updated-applications.ts
diff --git a/util/src/migrations/sqlite/1660130536131-updated-applications.ts b/src/util/migrations/sqlite/1660130536131-updated-applications.ts
index b8cbcc33..b8cbcc33 100644
--- a/util/src/migrations/sqlite/1660130536131-updated-applications.ts
+++ b/src/util/migrations/sqlite/1660130536131-updated-applications.ts
diff --git a/util/src/migrations/mariadb/1660416072362-InvitersAreDeletable.ts b/util/src/migrations/mariadb/1660416072362-InvitersAreDeletable.ts
deleted file mode 100644
index 8374eafb..00000000
--- a/util/src/migrations/mariadb/1660416072362-InvitersAreDeletable.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { MigrationInterface, QueryRunner } from "typeorm";
-
-export class InvitersAreDeletable1660416072362 implements MigrationInterface {
-    name = 'InvitersAreDeletable1660416072362'
-
-    public async up(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            ALTER TABLE \`invites\` DROP FOREIGN KEY \`FK_15c35422032e0b22b4ada95f48f\`
-        `);
-        await queryRunner.query(`
-            DROP INDEX \`IDX_76ba283779c8441fd5ff819c8c\` ON \`users\`
-        `);
-        await queryRunner.query(`
-            CREATE TABLE \`plugin_config\` (
-                \`key\` varchar(255) NOT NULL,
-                \`value\` text NULL,
-                PRIMARY KEY (\`key\`)
-            ) ENGINE = InnoDB
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`channels\`
-            ADD \`flags\` int NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`channels\`
-            ADD \`default_thread_rate_limit_per_user\` int NULL
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`invites\`
-            ADD CONSTRAINT \`FK_15c35422032e0b22b4ada95f48f\` FOREIGN KEY (\`inviter_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION
-        `);
-    }
-
-    public async down(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            ALTER TABLE \`invites\` DROP FOREIGN KEY \`FK_15c35422032e0b22b4ada95f48f\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`channels\` DROP COLUMN \`default_thread_rate_limit_per_user\`
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`channels\` DROP COLUMN \`flags\`
-        `);
-        await queryRunner.query(`
-            DROP TABLE \`plugin_config\`
-        `);
-        await queryRunner.query(`
-            CREATE UNIQUE INDEX \`IDX_76ba283779c8441fd5ff819c8c\` ON \`users\` (\`settingsId\`)
-        `);
-        await queryRunner.query(`
-            ALTER TABLE \`invites\`
-            ADD CONSTRAINT \`FK_15c35422032e0b22b4ada95f48f\` FOREIGN KEY (\`inviter_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION
-        `);
-    }
-
-}
diff --git a/util/src/migrations/postgres/1660416055566-InvitersAreDeletable.ts b/util/src/migrations/postgres/1660416055566-InvitersAreDeletable.ts
deleted file mode 100644
index e6101318..00000000
--- a/util/src/migrations/postgres/1660416055566-InvitersAreDeletable.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { MigrationInterface, QueryRunner } from "typeorm";
-
-export class InvitersAreDeletable1660416055566 implements MigrationInterface {
-    name = 'InvitersAreDeletable1660416055566'
-
-    public async up(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            ALTER TABLE "invites" DROP CONSTRAINT "FK_15c35422032e0b22b4ada95f48f"
-        `);
-        await queryRunner.query(`
-            ALTER TABLE "invites"
-            ADD CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY ("inviter_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION
-        `);
-    }
-
-    public async down(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            ALTER TABLE "invites" DROP CONSTRAINT "FK_15c35422032e0b22b4ada95f48f"
-        `);
-        await queryRunner.query(`
-            ALTER TABLE "invites"
-            ADD CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY ("inviter_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION
-        `);
-    }
-
-}
diff --git a/util/src/migrations/sqlite/1660416010862-InvitersAreDeletable.ts b/util/src/migrations/sqlite/1660416010862-InvitersAreDeletable.ts
deleted file mode 100644
index 9b29e119..00000000
--- a/util/src/migrations/sqlite/1660416010862-InvitersAreDeletable.ts
+++ /dev/null
@@ -1,246 +0,0 @@
-import { MigrationInterface, QueryRunner } from "typeorm";
-
-export class InvitersAreDeletable1660416010862 implements MigrationInterface {
-    name = 'InvitersAreDeletable1660416010862'
-
-    public async up(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            CREATE TABLE "temporary_invites" (
-                "code" varchar PRIMARY KEY NOT NULL,
-                "temporary" boolean NOT NULL,
-                "uses" integer NOT NULL,
-                "max_uses" integer NOT NULL,
-                "max_age" integer NOT NULL,
-                "created_at" datetime NOT NULL,
-                "expires_at" datetime NOT NULL,
-                "guild_id" varchar,
-                "channel_id" varchar,
-                "inviter_id" varchar,
-                "target_user_id" varchar,
-                "target_user_type" integer,
-                "vanity_url" boolean,
-                CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY ("target_user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION
-            )
-        `);
-        await queryRunner.query(`
-            INSERT INTO "temporary_invites"(
-                    "code",
-                    "temporary",
-                    "uses",
-                    "max_uses",
-                    "max_age",
-                    "created_at",
-                    "expires_at",
-                    "guild_id",
-                    "channel_id",
-                    "inviter_id",
-                    "target_user_id",
-                    "target_user_type",
-                    "vanity_url"
-                )
-            SELECT "code",
-                "temporary",
-                "uses",
-                "max_uses",
-                "max_age",
-                "created_at",
-                "expires_at",
-                "guild_id",
-                "channel_id",
-                "inviter_id",
-                "target_user_id",
-                "target_user_type",
-                "vanity_url"
-            FROM "invites"
-        `);
-        await queryRunner.query(`
-            DROP TABLE "invites"
-        `);
-        await queryRunner.query(`
-            ALTER TABLE "temporary_invites"
-                RENAME TO "invites"
-        `);
-        await queryRunner.query(`
-            CREATE TABLE "temporary_invites" (
-                "code" varchar PRIMARY KEY NOT NULL,
-                "temporary" boolean NOT NULL,
-                "uses" integer NOT NULL,
-                "max_uses" integer NOT NULL,
-                "max_age" integer NOT NULL,
-                "created_at" datetime NOT NULL,
-                "expires_at" datetime NOT NULL,
-                "guild_id" varchar,
-                "channel_id" varchar,
-                "inviter_id" varchar,
-                "target_user_id" varchar,
-                "target_user_type" integer,
-                "vanity_url" boolean,
-                CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY ("target_user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY ("inviter_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION
-            )
-        `);
-        await queryRunner.query(`
-            INSERT INTO "temporary_invites"(
-                    "code",
-                    "temporary",
-                    "uses",
-                    "max_uses",
-                    "max_age",
-                    "created_at",
-                    "expires_at",
-                    "guild_id",
-                    "channel_id",
-                    "inviter_id",
-                    "target_user_id",
-                    "target_user_type",
-                    "vanity_url"
-                )
-            SELECT "code",
-                "temporary",
-                "uses",
-                "max_uses",
-                "max_age",
-                "created_at",
-                "expires_at",
-                "guild_id",
-                "channel_id",
-                "inviter_id",
-                "target_user_id",
-                "target_user_type",
-                "vanity_url"
-            FROM "invites"
-        `);
-        await queryRunner.query(`
-            DROP TABLE "invites"
-        `);
-        await queryRunner.query(`
-            ALTER TABLE "temporary_invites"
-                RENAME TO "invites"
-        `);
-    }
-
-    public async down(queryRunner: QueryRunner): Promise<void> {
-        await queryRunner.query(`
-            ALTER TABLE "invites"
-                RENAME TO "temporary_invites"
-        `);
-        await queryRunner.query(`
-            CREATE TABLE "invites" (
-                "code" varchar PRIMARY KEY NOT NULL,
-                "temporary" boolean NOT NULL,
-                "uses" integer NOT NULL,
-                "max_uses" integer NOT NULL,
-                "max_age" integer NOT NULL,
-                "created_at" datetime NOT NULL,
-                "expires_at" datetime NOT NULL,
-                "guild_id" varchar,
-                "channel_id" varchar,
-                "inviter_id" varchar,
-                "target_user_id" varchar,
-                "target_user_type" integer,
-                "vanity_url" boolean,
-                CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY ("target_user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION
-            )
-        `);
-        await queryRunner.query(`
-            INSERT INTO "invites"(
-                    "code",
-                    "temporary",
-                    "uses",
-                    "max_uses",
-                    "max_age",
-                    "created_at",
-                    "expires_at",
-                    "guild_id",
-                    "channel_id",
-                    "inviter_id",
-                    "target_user_id",
-                    "target_user_type",
-                    "vanity_url"
-                )
-            SELECT "code",
-                "temporary",
-                "uses",
-                "max_uses",
-                "max_age",
-                "created_at",
-                "expires_at",
-                "guild_id",
-                "channel_id",
-                "inviter_id",
-                "target_user_id",
-                "target_user_type",
-                "vanity_url"
-            FROM "temporary_invites"
-        `);
-        await queryRunner.query(`
-            DROP TABLE "temporary_invites"
-        `);
-        await queryRunner.query(`
-            ALTER TABLE "invites"
-                RENAME TO "temporary_invites"
-        `);
-        await queryRunner.query(`
-            CREATE TABLE "invites" (
-                "code" varchar PRIMARY KEY NOT NULL,
-                "temporary" boolean NOT NULL,
-                "uses" integer NOT NULL,
-                "max_uses" integer NOT NULL,
-                "max_age" integer NOT NULL,
-                "created_at" datetime NOT NULL,
-                "expires_at" datetime NOT NULL,
-                "guild_id" varchar,
-                "channel_id" varchar,
-                "inviter_id" varchar,
-                "target_user_id" varchar,
-                "target_user_type" integer,
-                "vanity_url" boolean,
-                CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY ("target_user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY ("inviter_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION,
-                CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION,
-                CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION
-            )
-        `);
-        await queryRunner.query(`
-            INSERT INTO "invites"(
-                    "code",
-                    "temporary",
-                    "uses",
-                    "max_uses",
-                    "max_age",
-                    "created_at",
-                    "expires_at",
-                    "guild_id",
-                    "channel_id",
-                    "inviter_id",
-                    "target_user_id",
-                    "target_user_type",
-                    "vanity_url"
-                )
-            SELECT "code",
-                "temporary",
-                "uses",
-                "max_uses",
-                "max_age",
-                "created_at",
-                "expires_at",
-                "guild_id",
-                "channel_id",
-                "inviter_id",
-                "target_user_id",
-                "target_user_type",
-                "vanity_url"
-            FROM "temporary_invites"
-        `);
-        await queryRunner.query(`
-            DROP TABLE "temporary_invites"
-        `);
-    }
-
-}