summary refs log tree commit diff
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/Server.ts6
-rw-r--r--src/api/routes/v0/applications/#id/skus.ts (renamed from src/api/routes/applications/#id/skus.ts)0
-rw-r--r--src/api/routes/v0/applications/detectable.ts (renamed from src/api/routes/applications/detectable.ts)0
-rw-r--r--src/api/routes/v0/channels/#channel_id/webhooks.ts25
-rw-r--r--src/api/routes/v0/experiments.ts (renamed from src/api/routes/experiments.ts)0
-rw-r--r--src/api/routes/v0/guilds/#guild_id/integrations.ts (renamed from src/api/routes/guilds/#guild_id/integrations.ts)0
-rw-r--r--src/api/routes/v0/guilds/#guild_id/member-verification.ts (renamed from src/api/routes/guilds/#guild_id/member-verification.ts)0
-rw-r--r--src/api/routes/v0/guilds/#guild_id/premium.ts (renamed from src/api/routes/guilds/#guild_id/premium.ts)0
-rw-r--r--src/api/routes/v0/guilds/#guild_id/webhooks.ts (renamed from src/api/routes/guilds/#guild_id/webhooks.ts)0
-rw-r--r--src/api/routes/v0/oauth2/tokens.ts (renamed from src/api/routes/oauth2/tokens.ts)0
-rw-r--r--src/api/routes/v0/outbound-promotions.ts (renamed from src/api/routes/outbound-promotions.ts)0
-rw-r--r--src/api/routes/v0/science.ts (renamed from src/api/routes/science.ts)0
-rw-r--r--src/api/routes/v0/stage-instances.ts (renamed from src/api/routes/stage-instances.ts)0
-rw-r--r--src/api/routes/v0/teams.ts (renamed from src/api/routes/teams.ts)0
-rw-r--r--src/api/routes/v0/template.ts.disabled (renamed from src/api/routes/template.ts.disabled)0
-rw-r--r--src/api/routes/v0/track.ts (renamed from src/api/routes/track.ts)0
-rw-r--r--src/api/routes/v0/users/@me/activities/statistics/applications.ts (renamed from src/api/routes/users/@me/activities/statistics/applications.ts)0
-rw-r--r--src/api/routes/v0/users/@me/affinities/guilds.ts (renamed from src/api/routes/users/@me/affinities/guilds.ts)0
-rw-r--r--src/api/routes/v0/users/@me/affinities/users.ts (renamed from src/api/routes/users/@me/affinities/users.ts)0
-rw-r--r--src/api/routes/v0/users/@me/applications/#app_id/entitlements.ts (renamed from src/api/routes/users/@me/applications/#app_id/entitlements.ts)0
-rw-r--r--src/api/routes/v0/users/@me/billing/country-code.ts (renamed from src/api/routes/users/@me/billing/country-code.ts)0
-rw-r--r--src/api/routes/v0/users/@me/billing/payment-sources.ts (renamed from src/api/routes/users/@me/billing/payment-sources.ts)0
-rw-r--r--src/api/routes/v0/users/@me/billing/subscriptions.ts (renamed from src/api/routes/users/@me/billing/subscriptions.ts)0
-rw-r--r--src/api/routes/v0/users/@me/connections.ts (renamed from src/api/routes/users/@me/connections.ts)0
-rw-r--r--src/api/routes/v0/users/@me/devices.ts (renamed from src/api/routes/users/@me/devices.ts)0
-rw-r--r--src/api/routes/v0/users/@me/entitlements.ts (renamed from src/api/routes/users/@me/entitlements.ts)0
-rw-r--r--src/api/routes/v0/users/@me/guilds/premium/subscription-slots.ts (renamed from src/api/routes/users/@me/guilds/premium/subscription-slots.ts)0
-rw-r--r--src/api/routes/v0/users/@me/library.ts (renamed from src/api/routes/users/@me/library.ts)0
-rw-r--r--src/api/routes/v9/-/healthz.ts (renamed from src/api/routes/-/healthz.ts)0
-rw-r--r--src/api/routes/v9/-/readyz.ts (renamed from src/api/routes/-/readyz.ts)0
-rw-r--r--src/api/routes/v9/applications/#id/bot/index.ts (renamed from src/api/routes/applications/#id/bot/index.ts)0
-rw-r--r--src/api/routes/v9/applications/#id/entitlements.ts (renamed from src/api/routes/applications/#id/entitlements.ts)0
-rw-r--r--src/api/routes/v9/applications/#id/index.ts (renamed from src/api/routes/applications/#id/index.ts)0
-rw-r--r--src/api/routes/v9/applications/index.ts (renamed from src/api/routes/applications/index.ts)0
-rw-r--r--src/api/routes/v9/auth/generate-registration-tokens.ts (renamed from src/api/routes/auth/generate-registration-tokens.ts)0
-rw-r--r--src/api/routes/v9/auth/location-metadata.ts (renamed from src/api/routes/auth/location-metadata.ts)0
-rw-r--r--src/api/routes/v9/auth/login.ts (renamed from src/api/routes/auth/login.ts)0
-rw-r--r--src/api/routes/v9/auth/logout.ts (renamed from src/api/routes/auth/logout.ts)0
-rw-r--r--src/api/routes/v9/auth/mfa/totp.ts (renamed from src/api/routes/auth/mfa/totp.ts)0
-rw-r--r--src/api/routes/v9/auth/register.ts (renamed from src/api/routes/auth/register.ts)0
-rw-r--r--src/api/routes/v9/auth/verify/view-backup-codes-challenge.ts (renamed from src/api/routes/auth/verify/view-backup-codes-challenge.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/followers.ts (renamed from src/api/routes/channels/#channel_id/followers.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/index.ts (renamed from src/api/routes/channels/#channel_id/index.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/invites.ts (renamed from src/api/routes/channels/#channel_id/invites.ts)2
-rw-r--r--src/api/routes/v9/channels/#channel_id/messages/#message_id/ack.ts (renamed from src/api/routes/channels/#channel_id/messages/#message_id/ack.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/messages/#message_id/crosspost.ts (renamed from src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/messages/#message_id/index.ts (renamed from src/api/routes/channels/#channel_id/messages/#message_id/index.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/messages/#message_id/reactions.ts (renamed from src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/messages/bulk-delete.ts (renamed from src/api/routes/channels/#channel_id/messages/bulk-delete.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/messages/index.ts (renamed from src/api/routes/channels/#channel_id/messages/index.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/permissions.ts (renamed from src/api/routes/channels/#channel_id/permissions.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/pins.ts (renamed from src/api/routes/channels/#channel_id/pins.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/purge.ts (renamed from src/api/routes/channels/#channel_id/purge.ts)2
-rw-r--r--src/api/routes/v9/channels/#channel_id/recipients.ts (renamed from src/api/routes/channels/#channel_id/recipients.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/typing.ts (renamed from src/api/routes/channels/#channel_id/typing.ts)0
-rw-r--r--src/api/routes/v9/channels/#channel_id/webhooks.ts (renamed from src/api/routes/channels/#channel_id/webhooks.ts)7
-rw-r--r--src/api/routes/v9/discoverable-guilds.ts (renamed from src/api/routes/discoverable-guilds.ts)0
-rw-r--r--src/api/routes/v9/discovery.ts (renamed from src/api/routes/discovery.ts)0
-rw-r--r--src/api/routes/v9/download/index.ts (renamed from src/api/routes/download/index.ts)0
-rw-r--r--src/api/routes/v9/gateway/bot.ts (renamed from src/api/routes/gateway/bot.ts)0
-rw-r--r--src/api/routes/v9/gateway/index.ts (renamed from src/api/routes/gateway/index.ts)0
-rw-r--r--src/api/routes/v9/gifs/search.ts (renamed from src/api/routes/gifs/search.ts)0
-rw-r--r--src/api/routes/v9/gifs/trending-gifs.ts (renamed from src/api/routes/gifs/trending-gifs.ts)0
-rw-r--r--src/api/routes/v9/gifs/trending.ts (renamed from src/api/routes/gifs/trending.ts)0
-rw-r--r--src/api/routes/v9/guild-recommendations.ts (renamed from src/api/routes/guild-recommendations.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/audit-logs.ts (renamed from src/api/routes/guilds/#guild_id/audit-logs.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/bans.ts (renamed from src/api/routes/guilds/#guild_id/bans.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/channels.ts (renamed from src/api/routes/guilds/#guild_id/channels.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/delete.ts (renamed from src/api/routes/guilds/#guild_id/delete.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/discovery-requirements.ts (renamed from src/api/routes/guilds/#guild_id/discovery-requirements.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/emojis.ts (renamed from src/api/routes/guilds/#guild_id/emojis.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/index.ts (renamed from src/api/routes/guilds/#guild_id/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/invites.ts (renamed from src/api/routes/guilds/#guild_id/invites.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/members/#member_id/index.ts (renamed from src/api/routes/guilds/#guild_id/members/#member_id/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/members/#member_id/nick.ts (renamed from src/api/routes/guilds/#guild_id/members/#member_id/nick.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts (renamed from src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/members/index.ts (renamed from src/api/routes/guilds/#guild_id/members/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/messages/search.ts (renamed from src/api/routes/guilds/#guild_id/messages/search.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/profile/index.ts (renamed from src/api/routes/guilds/#guild_id/profile/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/prune.ts (renamed from src/api/routes/guilds/#guild_id/prune.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/regions.ts (renamed from src/api/routes/guilds/#guild_id/regions.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/roles/#role_id/index.ts (renamed from src/api/routes/guilds/#guild_id/roles/#role_id/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/roles/index.ts (renamed from src/api/routes/guilds/#guild_id/roles/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/stickers.ts (renamed from src/api/routes/guilds/#guild_id/stickers.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/templates.ts (renamed from src/api/routes/guilds/#guild_id/templates.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/vanity-url.ts (renamed from src/api/routes/guilds/#guild_id/vanity-url.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/voice-states/#user_id/index.ts (renamed from src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/welcome-screen.ts (renamed from src/api/routes/guilds/#guild_id/welcome-screen.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/widget.json.ts (renamed from src/api/routes/guilds/#guild_id/widget.json.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/widget.png.ts (renamed from src/api/routes/guilds/#guild_id/widget.png.ts)0
-rw-r--r--src/api/routes/v9/guilds/#guild_id/widget.ts (renamed from src/api/routes/guilds/#guild_id/widget.ts)0
-rw-r--r--src/api/routes/v9/guilds/index.ts (renamed from src/api/routes/guilds/index.ts)0
-rw-r--r--src/api/routes/v9/guilds/templates/index.ts (renamed from src/api/routes/guilds/templates/index.ts)0
-rw-r--r--src/api/routes/v9/invites/index.ts (renamed from src/api/routes/invites/index.ts)0
-rw-r--r--src/api/routes/v9/oauth2/authorize.ts (renamed from src/api/routes/oauth2/authorize.ts)0
-rw-r--r--src/api/routes/v9/partners/#guild_id/requirements.ts (renamed from src/api/routes/partners/#guild_id/requirements.ts)0
-rw-r--r--src/api/routes/v9/ping.ts (renamed from src/api/routes/ping.ts)0
-rw-r--r--src/api/routes/v9/policies/instance/domains.ts (renamed from src/api/routes/policies/instance/domains.ts)0
-rw-r--r--src/api/routes/v9/policies/instance/index.ts (renamed from src/api/routes/policies/instance/index.ts)0
-rw-r--r--src/api/routes/v9/policies/instance/limits.ts (renamed from src/api/routes/policies/instance/limits.ts)0
-rw-r--r--src/api/routes/v9/policies/stats.ts (renamed from src/api/routes/policies/stats.ts)0
-rw-r--r--src/api/routes/v9/scheduled-maintenances/upcoming_json.ts (renamed from src/api/routes/scheduled-maintenances/upcoming_json.ts)0
-rw-r--r--src/api/routes/v9/sticker-packs/index.ts (renamed from src/api/routes/sticker-packs/index.ts)0
-rw-r--r--src/api/routes/v9/stickers/#sticker_id/index.ts (renamed from src/api/routes/stickers/#sticker_id/index.ts)0
-rw-r--r--src/api/routes/v9/stop.ts (renamed from src/api/routes/stop.ts)0
-rw-r--r--src/api/routes/v9/store/published-listings/applications.ts (renamed from src/api/routes/store/published-listings/applications.ts)0
-rw-r--r--src/api/routes/v9/store/published-listings/applications/#id/subscription-plans.ts (renamed from src/api/routes/store/published-listings/applications/#id/subscription-plans.ts)0
-rw-r--r--src/api/routes/v9/store/published-listings/skus.ts (renamed from src/api/routes/store/published-listings/skus.ts)0
-rw-r--r--src/api/routes/v9/store/published-listings/skus/#sku_id/subscription-plans.ts (renamed from src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts)0
-rw-r--r--src/api/routes/v9/updates.ts (renamed from src/api/routes/updates.ts)0
-rw-r--r--src/api/routes/v9/users/#id/delete.ts (renamed from src/api/routes/users/#id/delete.ts)1
-rw-r--r--src/api/routes/v9/users/#id/index.ts (renamed from src/api/routes/users/#id/index.ts)0
-rw-r--r--src/api/routes/v9/users/#id/profile.ts (renamed from src/api/routes/users/#id/profile.ts)0
-rw-r--r--src/api/routes/v9/users/#id/relationships.ts (renamed from src/api/routes/users/#id/relationships.ts)0
-rw-r--r--src/api/routes/v9/users/@me/channels.ts (renamed from src/api/routes/users/@me/channels.ts)0
-rw-r--r--src/api/routes/v9/users/@me/delete.ts (renamed from src/api/routes/users/@me/delete.ts)0
-rw-r--r--src/api/routes/v9/users/@me/disable.ts (renamed from src/api/routes/users/@me/disable.ts)0
-rw-r--r--src/api/routes/v9/users/@me/email-settings.ts (renamed from src/api/routes/users/@me/email-settings.ts)0
-rw-r--r--src/api/routes/v9/users/@me/guilds.ts (renamed from src/api/routes/users/@me/guilds.ts)0
-rw-r--r--src/api/routes/v9/users/@me/guilds/#guild_id/settings.ts (renamed from src/api/routes/users/@me/guilds/#guild_id/settings.ts)0
-rw-r--r--src/api/routes/v9/users/@me/index.ts (renamed from src/api/routes/users/@me/index.ts)0
-rw-r--r--src/api/routes/v9/users/@me/mfa/codes-verification.ts (renamed from src/api/routes/users/@me/mfa/codes-verification.ts)0
-rw-r--r--src/api/routes/v9/users/@me/mfa/codes.ts (renamed from src/api/routes/users/@me/mfa/codes.ts)0
-rw-r--r--src/api/routes/v9/users/@me/mfa/totp/disable.ts (renamed from src/api/routes/users/@me/mfa/totp/disable.ts)0
-rw-r--r--src/api/routes/v9/users/@me/mfa/totp/enable.ts (renamed from src/api/routes/users/@me/mfa/totp/enable.ts)0
-rw-r--r--src/api/routes/v9/users/@me/notes.ts (renamed from src/api/routes/users/@me/notes.ts)0
-rw-r--r--src/api/routes/v9/users/@me/relationships.ts (renamed from src/api/routes/users/@me/relationships.ts)0
-rw-r--r--src/api/routes/v9/users/@me/settings.ts (renamed from src/api/routes/users/@me/settings.ts)0
-rw-r--r--src/api/routes/v9/voice/regions.ts (renamed from src/api/routes/voice/regions.ts)0
129 files changed, 29 insertions, 14 deletions
diff --git a/src/api/Server.ts b/src/api/Server.ts
index 1a0ea6b2..f74505f6 100644
--- a/src/api/Server.ts
+++ b/src/api/Server.ts
@@ -88,11 +88,7 @@ export class FosscordServer extends Server {
 
 		//app.use("/__development", )
 		//app.use("/__internals", )
-		app.use("/api/v6", api);
-		app.use("/api/v7", api);
-		app.use("/api/v8", api);
-		app.use("/api/v9", api);
-		app.use("/api", api); // allow unversioned requests
+		app.use("/api", api); //versioning happens based on route folder name
 
 		this.app.use(ErrorHandler);
 		TestClient(this.app);
diff --git a/src/api/routes/applications/#id/skus.ts b/src/api/routes/v0/applications/#id/skus.ts
index 2383e6f7..2383e6f7 100644
--- a/src/api/routes/applications/#id/skus.ts
+++ b/src/api/routes/v0/applications/#id/skus.ts
diff --git a/src/api/routes/applications/detectable.ts b/src/api/routes/v0/applications/detectable.ts
index 28ce42da..28ce42da 100644
--- a/src/api/routes/applications/detectable.ts
+++ b/src/api/routes/v0/applications/detectable.ts
diff --git a/src/api/routes/v0/channels/#channel_id/webhooks.ts b/src/api/routes/v0/channels/#channel_id/webhooks.ts
new file mode 100644
index 00000000..737ed6a8
--- /dev/null
+++ b/src/api/routes/v0/channels/#channel_id/webhooks.ts
@@ -0,0 +1,25 @@
+import { Router, Response, Request } from "express";
+import { route } from "@fosscord/api";
+import {
+	Channel,
+	Config,
+	handleFile,
+	trimSpecial,
+	User,
+	Webhook,
+	WebhookCreateSchema,
+	WebhookType,
+} from "@fosscord/util";
+import { HTTPError } from "lambert-server";
+import { isTextChannel } from "./messages/index";
+import { DiscordApiErrors } from "@fosscord/util";
+import crypto from "crypto";
+
+const router: Router = Router();
+
+//TODO: implement webhooks
+router.get("/", route({}), async (req: Request, res: Response) => {
+	res.json([]);
+});
+
+export default router;
diff --git a/src/api/routes/experiments.ts b/src/api/routes/v0/experiments.ts
index b2b7d724..b2b7d724 100644
--- a/src/api/routes/experiments.ts
+++ b/src/api/routes/v0/experiments.ts
diff --git a/src/api/routes/guilds/#guild_id/integrations.ts b/src/api/routes/v0/guilds/#guild_id/integrations.ts
index a8e78062..a8e78062 100644
--- a/src/api/routes/guilds/#guild_id/integrations.ts
+++ b/src/api/routes/v0/guilds/#guild_id/integrations.ts
diff --git a/src/api/routes/guilds/#guild_id/member-verification.ts b/src/api/routes/v0/guilds/#guild_id/member-verification.ts
index c2f946b2..c2f946b2 100644
--- a/src/api/routes/guilds/#guild_id/member-verification.ts
+++ b/src/api/routes/v0/guilds/#guild_id/member-verification.ts
diff --git a/src/api/routes/guilds/#guild_id/premium.ts b/src/api/routes/v0/guilds/#guild_id/premium.ts
index 75361ac6..75361ac6 100644
--- a/src/api/routes/guilds/#guild_id/premium.ts
+++ b/src/api/routes/v0/guilds/#guild_id/premium.ts
diff --git a/src/api/routes/guilds/#guild_id/webhooks.ts b/src/api/routes/v0/guilds/#guild_id/webhooks.ts
index 9c4e8a8d..9c4e8a8d 100644
--- a/src/api/routes/guilds/#guild_id/webhooks.ts
+++ b/src/api/routes/v0/guilds/#guild_id/webhooks.ts
diff --git a/src/api/routes/oauth2/tokens.ts b/src/api/routes/v0/oauth2/tokens.ts
index bd284221..bd284221 100644
--- a/src/api/routes/oauth2/tokens.ts
+++ b/src/api/routes/v0/oauth2/tokens.ts
diff --git a/src/api/routes/outbound-promotions.ts b/src/api/routes/v0/outbound-promotions.ts
index 411e95bf..411e95bf 100644
--- a/src/api/routes/outbound-promotions.ts
+++ b/src/api/routes/v0/outbound-promotions.ts
diff --git a/src/api/routes/science.ts b/src/api/routes/v0/science.ts
index 8556a3ad..8556a3ad 100644
--- a/src/api/routes/science.ts
+++ b/src/api/routes/v0/science.ts
diff --git a/src/api/routes/stage-instances.ts b/src/api/routes/v0/stage-instances.ts
index 411e95bf..411e95bf 100644
--- a/src/api/routes/stage-instances.ts
+++ b/src/api/routes/v0/stage-instances.ts
diff --git a/src/api/routes/teams.ts b/src/api/routes/v0/teams.ts
index 7ce3abcb..7ce3abcb 100644
--- a/src/api/routes/teams.ts
+++ b/src/api/routes/v0/teams.ts
diff --git a/src/api/routes/template.ts.disabled b/src/api/routes/v0/template.ts.disabled
index fcc59ef4..fcc59ef4 100644
--- a/src/api/routes/template.ts.disabled
+++ b/src/api/routes/v0/template.ts.disabled
diff --git a/src/api/routes/track.ts b/src/api/routes/v0/track.ts
index 8556a3ad..8556a3ad 100644
--- a/src/api/routes/track.ts
+++ b/src/api/routes/v0/track.ts
diff --git a/src/api/routes/users/@me/activities/statistics/applications.ts b/src/api/routes/v0/users/@me/activities/statistics/applications.ts
index 014df8af..014df8af 100644
--- a/src/api/routes/users/@me/activities/statistics/applications.ts
+++ b/src/api/routes/v0/users/@me/activities/statistics/applications.ts
diff --git a/src/api/routes/users/@me/affinities/guilds.ts b/src/api/routes/v0/users/@me/affinities/guilds.ts
index 8d744744..8d744744 100644
--- a/src/api/routes/users/@me/affinities/guilds.ts
+++ b/src/api/routes/v0/users/@me/affinities/guilds.ts
diff --git a/src/api/routes/users/@me/affinities/users.ts b/src/api/routes/v0/users/@me/affinities/users.ts
index 6d4e4991..6d4e4991 100644
--- a/src/api/routes/users/@me/affinities/users.ts
+++ b/src/api/routes/v0/users/@me/affinities/users.ts
diff --git a/src/api/routes/users/@me/applications/#app_id/entitlements.ts b/src/api/routes/v0/users/@me/applications/#app_id/entitlements.ts
index 411e95bf..411e95bf 100644
--- a/src/api/routes/users/@me/applications/#app_id/entitlements.ts
+++ b/src/api/routes/v0/users/@me/applications/#app_id/entitlements.ts
diff --git a/src/api/routes/users/@me/billing/country-code.ts b/src/api/routes/v0/users/@me/billing/country-code.ts
index 33d40796..33d40796 100644
--- a/src/api/routes/users/@me/billing/country-code.ts
+++ b/src/api/routes/v0/users/@me/billing/country-code.ts
diff --git a/src/api/routes/users/@me/billing/payment-sources.ts b/src/api/routes/v0/users/@me/billing/payment-sources.ts
index 014df8af..014df8af 100644
--- a/src/api/routes/users/@me/billing/payment-sources.ts
+++ b/src/api/routes/v0/users/@me/billing/payment-sources.ts
diff --git a/src/api/routes/users/@me/billing/subscriptions.ts b/src/api/routes/v0/users/@me/billing/subscriptions.ts
index 411e95bf..411e95bf 100644
--- a/src/api/routes/users/@me/billing/subscriptions.ts
+++ b/src/api/routes/v0/users/@me/billing/subscriptions.ts
diff --git a/src/api/routes/users/@me/connections.ts b/src/api/routes/v0/users/@me/connections.ts
index 411e95bf..411e95bf 100644
--- a/src/api/routes/users/@me/connections.ts
+++ b/src/api/routes/v0/users/@me/connections.ts
diff --git a/src/api/routes/users/@me/devices.ts b/src/api/routes/v0/users/@me/devices.ts
index 8556a3ad..8556a3ad 100644
--- a/src/api/routes/users/@me/devices.ts
+++ b/src/api/routes/v0/users/@me/devices.ts
diff --git a/src/api/routes/users/@me/entitlements.ts b/src/api/routes/v0/users/@me/entitlements.ts
index 341e2b4c..341e2b4c 100644
--- a/src/api/routes/users/@me/entitlements.ts
+++ b/src/api/routes/v0/users/@me/entitlements.ts
diff --git a/src/api/routes/users/@me/guilds/premium/subscription-slots.ts b/src/api/routes/v0/users/@me/guilds/premium/subscription-slots.ts
index 014df8af..014df8af 100644
--- a/src/api/routes/users/@me/guilds/premium/subscription-slots.ts
+++ b/src/api/routes/v0/users/@me/guilds/premium/subscription-slots.ts
diff --git a/src/api/routes/users/@me/library.ts b/src/api/routes/v0/users/@me/library.ts
index 7ac13bae..7ac13bae 100644
--- a/src/api/routes/users/@me/library.ts
+++ b/src/api/routes/v0/users/@me/library.ts
diff --git a/src/api/routes/-/healthz.ts b/src/api/routes/v9/-/healthz.ts
index d9d1c026..d9d1c026 100644
--- a/src/api/routes/-/healthz.ts
+++ b/src/api/routes/v9/-/healthz.ts
diff --git a/src/api/routes/-/readyz.ts b/src/api/routes/v9/-/readyz.ts
index d9d1c026..d9d1c026 100644
--- a/src/api/routes/-/readyz.ts
+++ b/src/api/routes/v9/-/readyz.ts
diff --git a/src/api/routes/applications/#id/bot/index.ts b/src/api/routes/v9/applications/#id/bot/index.ts
index c4cfccd8..c4cfccd8 100644
--- a/src/api/routes/applications/#id/bot/index.ts
+++ b/src/api/routes/v9/applications/#id/bot/index.ts
diff --git a/src/api/routes/applications/#id/entitlements.ts b/src/api/routes/v9/applications/#id/entitlements.ts
index cfcfe40f..cfcfe40f 100644
--- a/src/api/routes/applications/#id/entitlements.ts
+++ b/src/api/routes/v9/applications/#id/entitlements.ts
diff --git a/src/api/routes/applications/#id/index.ts b/src/api/routes/v9/applications/#id/index.ts
index 11cd5a56..11cd5a56 100644
--- a/src/api/routes/applications/#id/index.ts
+++ b/src/api/routes/v9/applications/#id/index.ts
diff --git a/src/api/routes/applications/index.ts b/src/api/routes/v9/applications/index.ts
index a6b35bfa..a6b35bfa 100644
--- a/src/api/routes/applications/index.ts
+++ b/src/api/routes/v9/applications/index.ts
diff --git a/src/api/routes/auth/generate-registration-tokens.ts b/src/api/routes/v9/auth/generate-registration-tokens.ts
index ba40bd9a..ba40bd9a 100644
--- a/src/api/routes/auth/generate-registration-tokens.ts
+++ b/src/api/routes/v9/auth/generate-registration-tokens.ts
diff --git a/src/api/routes/auth/location-metadata.ts b/src/api/routes/v9/auth/location-metadata.ts
index 0ae946ed..0ae946ed 100644
--- a/src/api/routes/auth/location-metadata.ts
+++ b/src/api/routes/v9/auth/location-metadata.ts
diff --git a/src/api/routes/auth/login.ts b/src/api/routes/v9/auth/login.ts
index 7434fa35..7434fa35 100644
--- a/src/api/routes/auth/login.ts
+++ b/src/api/routes/v9/auth/login.ts
diff --git a/src/api/routes/auth/logout.ts b/src/api/routes/v9/auth/logout.ts
index e1bdbea3..e1bdbea3 100644
--- a/src/api/routes/auth/logout.ts
+++ b/src/api/routes/v9/auth/logout.ts
diff --git a/src/api/routes/auth/mfa/totp.ts b/src/api/routes/v9/auth/mfa/totp.ts
index 83cf7648..83cf7648 100644
--- a/src/api/routes/auth/mfa/totp.ts
+++ b/src/api/routes/v9/auth/mfa/totp.ts
diff --git a/src/api/routes/auth/register.ts b/src/api/routes/v9/auth/register.ts
index 3d968114..3d968114 100644
--- a/src/api/routes/auth/register.ts
+++ b/src/api/routes/v9/auth/register.ts
diff --git a/src/api/routes/auth/verify/view-backup-codes-challenge.ts b/src/api/routes/v9/auth/verify/view-backup-codes-challenge.ts
index 65f0a57c..65f0a57c 100644
--- a/src/api/routes/auth/verify/view-backup-codes-challenge.ts
+++ b/src/api/routes/v9/auth/verify/view-backup-codes-challenge.ts
diff --git a/src/api/routes/channels/#channel_id/followers.ts b/src/api/routes/v9/channels/#channel_id/followers.ts
index 641af4f8..641af4f8 100644
--- a/src/api/routes/channels/#channel_id/followers.ts
+++ b/src/api/routes/v9/channels/#channel_id/followers.ts
diff --git a/src/api/routes/channels/#channel_id/index.ts b/src/api/routes/v9/channels/#channel_id/index.ts
index a164fff6..a164fff6 100644
--- a/src/api/routes/channels/#channel_id/index.ts
+++ b/src/api/routes/v9/channels/#channel_id/index.ts
diff --git a/src/api/routes/channels/#channel_id/invites.ts b/src/api/routes/v9/channels/#channel_id/invites.ts
index c8d56fa4..afa5201b 100644
--- a/src/api/routes/channels/#channel_id/invites.ts
+++ b/src/api/routes/v9/channels/#channel_id/invites.ts
@@ -11,7 +11,7 @@ import {
 	Guild,
 	PublicInviteRelation,
 } from "@fosscord/util";
-import { isTextChannel } from "./messages";
+import { isTextChannel } from "../../../v0/channels/#channel_id/messages";
 
 const router: Router = Router();
 
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts b/src/api/routes/v9/channels/#channel_id/messages/#message_id/ack.ts
index 1a30143f..1a30143f 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
+++ b/src/api/routes/v9/channels/#channel_id/messages/#message_id/ack.ts
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts b/src/api/routes/v9/channels/#channel_id/messages/#message_id/crosspost.ts
index d8b55ccd..d8b55ccd 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
+++ b/src/api/routes/v9/channels/#channel_id/messages/#message_id/crosspost.ts
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/v9/channels/#channel_id/messages/#message_id/index.ts
index d57d9a1b..d57d9a1b 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
+++ b/src/api/routes/v9/channels/#channel_id/messages/#message_id/index.ts
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts b/src/api/routes/v9/channels/#channel_id/messages/#message_id/reactions.ts
index 9f774682..9f774682 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
+++ b/src/api/routes/v9/channels/#channel_id/messages/#message_id/reactions.ts
diff --git a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts b/src/api/routes/v9/channels/#channel_id/messages/bulk-delete.ts
index 553ab17e..553ab17e 100644
--- a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
+++ b/src/api/routes/v9/channels/#channel_id/messages/bulk-delete.ts
diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/v9/channels/#channel_id/messages/index.ts
index 2968437d..2968437d 100644
--- a/src/api/routes/channels/#channel_id/messages/index.ts
+++ b/src/api/routes/v9/channels/#channel_id/messages/index.ts
diff --git a/src/api/routes/channels/#channel_id/permissions.ts b/src/api/routes/v9/channels/#channel_id/permissions.ts
index b08cd0c8..b08cd0c8 100644
--- a/src/api/routes/channels/#channel_id/permissions.ts
+++ b/src/api/routes/v9/channels/#channel_id/permissions.ts
diff --git a/src/api/routes/channels/#channel_id/pins.ts b/src/api/routes/v9/channels/#channel_id/pins.ts
index d3f6960a..d3f6960a 100644
--- a/src/api/routes/channels/#channel_id/pins.ts
+++ b/src/api/routes/v9/channels/#channel_id/pins.ts
diff --git a/src/api/routes/channels/#channel_id/purge.ts b/src/api/routes/v9/channels/#channel_id/purge.ts
index a9f88662..0be9ab7c 100644
--- a/src/api/routes/channels/#channel_id/purge.ts
+++ b/src/api/routes/v9/channels/#channel_id/purge.ts
@@ -1,6 +1,6 @@
 import { HTTPError } from "lambert-server";
 import { route } from "@fosscord/api";
-import { isTextChannel } from "./messages";
+import { isTextChannel } from "../../../v0/channels/#channel_id/messages";
 import { FindManyOptions, Between, Not } from "typeorm";
 import {
 	Channel,
diff --git a/src/api/routes/channels/#channel_id/recipients.ts b/src/api/routes/v9/channels/#channel_id/recipients.ts
index cc7e5756..cc7e5756 100644
--- a/src/api/routes/channels/#channel_id/recipients.ts
+++ b/src/api/routes/v9/channels/#channel_id/recipients.ts
diff --git a/src/api/routes/channels/#channel_id/typing.ts b/src/api/routes/v9/channels/#channel_id/typing.ts
index 03f76205..03f76205 100644
--- a/src/api/routes/channels/#channel_id/typing.ts
+++ b/src/api/routes/v9/channels/#channel_id/typing.ts
diff --git a/src/api/routes/channels/#channel_id/webhooks.ts b/src/api/routes/v9/channels/#channel_id/webhooks.ts
index f303ef80..f2923f95 100644
--- a/src/api/routes/channels/#channel_id/webhooks.ts
+++ b/src/api/routes/v9/channels/#channel_id/webhooks.ts
@@ -11,17 +11,12 @@ import {
 	WebhookType,
 } from "@fosscord/util";
 import { HTTPError } from "lambert-server";
-import { isTextChannel } from "./messages/index";
+import { isTextChannel } from "../../../v0/channels/#channel_id/messages/index";
 import { DiscordApiErrors } from "@fosscord/util";
 import crypto from "crypto";
 
 const router: Router = Router();
 
-//TODO: implement webhooks
-router.get("/", route({}), async (req: Request, res: Response) => {
-	res.json([]);
-});
-
 // TODO: use Image Data Type for avatar instead of String
 router.post(
 	"/",
diff --git a/src/api/routes/discoverable-guilds.ts b/src/api/routes/v9/discoverable-guilds.ts
index 428ca605..428ca605 100644
--- a/src/api/routes/discoverable-guilds.ts
+++ b/src/api/routes/v9/discoverable-guilds.ts
diff --git a/src/api/routes/discovery.ts b/src/api/routes/v9/discovery.ts
index 90450035..90450035 100644
--- a/src/api/routes/discovery.ts
+++ b/src/api/routes/v9/discovery.ts
diff --git a/src/api/routes/download/index.ts b/src/api/routes/v9/download/index.ts
index 1c135f25..1c135f25 100644
--- a/src/api/routes/download/index.ts
+++ b/src/api/routes/v9/download/index.ts
diff --git a/src/api/routes/gateway/bot.ts b/src/api/routes/v9/gateway/bot.ts
index 2e26d019..2e26d019 100644
--- a/src/api/routes/gateway/bot.ts
+++ b/src/api/routes/v9/gateway/bot.ts
diff --git a/src/api/routes/gateway/index.ts b/src/api/routes/v9/gateway/index.ts
index a6ed9dc4..a6ed9dc4 100644
--- a/src/api/routes/gateway/index.ts
+++ b/src/api/routes/v9/gateway/index.ts
diff --git a/src/api/routes/gifs/search.ts b/src/api/routes/v9/gifs/search.ts
index 54352215..54352215 100644
--- a/src/api/routes/gifs/search.ts
+++ b/src/api/routes/v9/gifs/search.ts
diff --git a/src/api/routes/gifs/trending-gifs.ts b/src/api/routes/v9/gifs/trending-gifs.ts
index e4b28e24..e4b28e24 100644
--- a/src/api/routes/gifs/trending-gifs.ts
+++ b/src/api/routes/v9/gifs/trending-gifs.ts
diff --git a/src/api/routes/gifs/trending.ts b/src/api/routes/v9/gifs/trending.ts
index 58044ea5..58044ea5 100644
--- a/src/api/routes/gifs/trending.ts
+++ b/src/api/routes/v9/gifs/trending.ts
diff --git a/src/api/routes/guild-recommendations.ts b/src/api/routes/v9/guild-recommendations.ts
index 8bf1e508..8bf1e508 100644
--- a/src/api/routes/guild-recommendations.ts
+++ b/src/api/routes/v9/guild-recommendations.ts
diff --git a/src/api/routes/guilds/#guild_id/audit-logs.ts b/src/api/routes/v9/guilds/#guild_id/audit-logs.ts
index 76a11f6b..76a11f6b 100644
--- a/src/api/routes/guilds/#guild_id/audit-logs.ts
+++ b/src/api/routes/v9/guilds/#guild_id/audit-logs.ts
diff --git a/src/api/routes/guilds/#guild_id/bans.ts b/src/api/routes/v9/guilds/#guild_id/bans.ts
index 930985d7..930985d7 100644
--- a/src/api/routes/guilds/#guild_id/bans.ts
+++ b/src/api/routes/v9/guilds/#guild_id/bans.ts
diff --git a/src/api/routes/guilds/#guild_id/channels.ts b/src/api/routes/v9/guilds/#guild_id/channels.ts
index eae93607..eae93607 100644
--- a/src/api/routes/guilds/#guild_id/channels.ts
+++ b/src/api/routes/v9/guilds/#guild_id/channels.ts
diff --git a/src/api/routes/guilds/#guild_id/delete.ts b/src/api/routes/v9/guilds/#guild_id/delete.ts
index b951e4f4..b951e4f4 100644
--- a/src/api/routes/guilds/#guild_id/delete.ts
+++ b/src/api/routes/v9/guilds/#guild_id/delete.ts
diff --git a/src/api/routes/guilds/#guild_id/discovery-requirements.ts b/src/api/routes/v9/guilds/#guild_id/discovery-requirements.ts
index 7e63c06b..7e63c06b 100644
--- a/src/api/routes/guilds/#guild_id/discovery-requirements.ts
+++ b/src/api/routes/v9/guilds/#guild_id/discovery-requirements.ts
diff --git a/src/api/routes/guilds/#guild_id/emojis.ts b/src/api/routes/v9/guilds/#guild_id/emojis.ts
index 6e8570eb..6e8570eb 100644
--- a/src/api/routes/guilds/#guild_id/emojis.ts
+++ b/src/api/routes/v9/guilds/#guild_id/emojis.ts
diff --git a/src/api/routes/guilds/#guild_id/index.ts b/src/api/routes/v9/guilds/#guild_id/index.ts
index 79c20678..79c20678 100644
--- a/src/api/routes/guilds/#guild_id/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/index.ts
diff --git a/src/api/routes/guilds/#guild_id/invites.ts b/src/api/routes/v9/guilds/#guild_id/invites.ts
index 4d033e9c..4d033e9c 100644
--- a/src/api/routes/guilds/#guild_id/invites.ts
+++ b/src/api/routes/v9/guilds/#guild_id/invites.ts
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/v9/guilds/#guild_id/members/#member_id/index.ts
index 0fcdd57c..0fcdd57c 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/members/#member_id/index.ts
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts b/src/api/routes/v9/guilds/#guild_id/members/#member_id/nick.ts
index 20443821..20443821 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
+++ b/src/api/routes/v9/guilds/#guild_id/members/#member_id/nick.ts
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts b/src/api/routes/v9/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
index c0383912..c0383912 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
diff --git a/src/api/routes/guilds/#guild_id/members/index.ts b/src/api/routes/v9/guilds/#guild_id/members/index.ts
index b516b9e9..b516b9e9 100644
--- a/src/api/routes/guilds/#guild_id/members/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/members/index.ts
diff --git a/src/api/routes/guilds/#guild_id/messages/search.ts b/src/api/routes/v9/guilds/#guild_id/messages/search.ts
index 88488871..88488871 100644
--- a/src/api/routes/guilds/#guild_id/messages/search.ts
+++ b/src/api/routes/v9/guilds/#guild_id/messages/search.ts
diff --git a/src/api/routes/guilds/#guild_id/profile/index.ts b/src/api/routes/v9/guilds/#guild_id/profile/index.ts
index 20a7fa95..20a7fa95 100644
--- a/src/api/routes/guilds/#guild_id/profile/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/profile/index.ts
diff --git a/src/api/routes/guilds/#guild_id/prune.ts b/src/api/routes/v9/guilds/#guild_id/prune.ts
index 8089ad84..8089ad84 100644
--- a/src/api/routes/guilds/#guild_id/prune.ts
+++ b/src/api/routes/v9/guilds/#guild_id/prune.ts
diff --git a/src/api/routes/guilds/#guild_id/regions.ts b/src/api/routes/v9/guilds/#guild_id/regions.ts
index 0b275ea4..0b275ea4 100644
--- a/src/api/routes/guilds/#guild_id/regions.ts
+++ b/src/api/routes/v9/guilds/#guild_id/regions.ts
diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts b/src/api/routes/v9/guilds/#guild_id/roles/#role_id/index.ts
index 84648703..84648703 100644
--- a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/roles/#role_id/index.ts
diff --git a/src/api/routes/guilds/#guild_id/roles/index.ts b/src/api/routes/v9/guilds/#guild_id/roles/index.ts
index 4cd47cf3..4cd47cf3 100644
--- a/src/api/routes/guilds/#guild_id/roles/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/roles/index.ts
diff --git a/src/api/routes/guilds/#guild_id/stickers.ts b/src/api/routes/v9/guilds/#guild_id/stickers.ts
index 3b1f5f8e..3b1f5f8e 100644
--- a/src/api/routes/guilds/#guild_id/stickers.ts
+++ b/src/api/routes/v9/guilds/#guild_id/stickers.ts
diff --git a/src/api/routes/guilds/#guild_id/templates.ts b/src/api/routes/v9/guilds/#guild_id/templates.ts
index 3b5eddaa..3b5eddaa 100644
--- a/src/api/routes/guilds/#guild_id/templates.ts
+++ b/src/api/routes/v9/guilds/#guild_id/templates.ts
diff --git a/src/api/routes/guilds/#guild_id/vanity-url.ts b/src/api/routes/v9/guilds/#guild_id/vanity-url.ts
index 9a96b066..9a96b066 100644
--- a/src/api/routes/guilds/#guild_id/vanity-url.ts
+++ b/src/api/routes/v9/guilds/#guild_id/vanity-url.ts
diff --git a/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts b/src/api/routes/v9/guilds/#guild_id/voice-states/#user_id/index.ts
index af03a07e..af03a07e 100644
--- a/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
+++ b/src/api/routes/v9/guilds/#guild_id/voice-states/#user_id/index.ts
diff --git a/src/api/routes/guilds/#guild_id/welcome-screen.ts b/src/api/routes/v9/guilds/#guild_id/welcome-screen.ts
index 80ab138b..80ab138b 100644
--- a/src/api/routes/guilds/#guild_id/welcome-screen.ts
+++ b/src/api/routes/v9/guilds/#guild_id/welcome-screen.ts
diff --git a/src/api/routes/guilds/#guild_id/widget.json.ts b/src/api/routes/v9/guilds/#guild_id/widget.json.ts
index 2c3124a2..2c3124a2 100644
--- a/src/api/routes/guilds/#guild_id/widget.json.ts
+++ b/src/api/routes/v9/guilds/#guild_id/widget.json.ts
diff --git a/src/api/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/v9/guilds/#guild_id/widget.png.ts
index eaec8f07..eaec8f07 100644
--- a/src/api/routes/guilds/#guild_id/widget.png.ts
+++ b/src/api/routes/v9/guilds/#guild_id/widget.png.ts
diff --git a/src/api/routes/guilds/#guild_id/widget.ts b/src/api/routes/v9/guilds/#guild_id/widget.ts
index 108339e1..108339e1 100644
--- a/src/api/routes/guilds/#guild_id/widget.ts
+++ b/src/api/routes/v9/guilds/#guild_id/widget.ts
diff --git a/src/api/routes/guilds/index.ts b/src/api/routes/v9/guilds/index.ts
index 69575aea..69575aea 100644
--- a/src/api/routes/guilds/index.ts
+++ b/src/api/routes/v9/guilds/index.ts
diff --git a/src/api/routes/guilds/templates/index.ts b/src/api/routes/v9/guilds/templates/index.ts
index 240bf074..240bf074 100644
--- a/src/api/routes/guilds/templates/index.ts
+++ b/src/api/routes/v9/guilds/templates/index.ts
diff --git a/src/api/routes/invites/index.ts b/src/api/routes/v9/invites/index.ts
index ce0ba982..ce0ba982 100644
--- a/src/api/routes/invites/index.ts
+++ b/src/api/routes/v9/invites/index.ts
diff --git a/src/api/routes/oauth2/authorize.ts b/src/api/routes/v9/oauth2/authorize.ts
index 6374972e..6374972e 100644
--- a/src/api/routes/oauth2/authorize.ts
+++ b/src/api/routes/v9/oauth2/authorize.ts
diff --git a/src/api/routes/partners/#guild_id/requirements.ts b/src/api/routes/v9/partners/#guild_id/requirements.ts
index 7e63c06b..7e63c06b 100644
--- a/src/api/routes/partners/#guild_id/requirements.ts
+++ b/src/api/routes/v9/partners/#guild_id/requirements.ts
diff --git a/src/api/routes/ping.ts b/src/api/routes/v9/ping.ts
index 3c1da2c3..3c1da2c3 100644
--- a/src/api/routes/ping.ts
+++ b/src/api/routes/v9/ping.ts
diff --git a/src/api/routes/policies/instance/domains.ts b/src/api/routes/v9/policies/instance/domains.ts
index f22eac17..f22eac17 100644
--- a/src/api/routes/policies/instance/domains.ts
+++ b/src/api/routes/v9/policies/instance/domains.ts
diff --git a/src/api/routes/policies/instance/index.ts b/src/api/routes/v9/policies/instance/index.ts
index 1c1afa09..1c1afa09 100644
--- a/src/api/routes/policies/instance/index.ts
+++ b/src/api/routes/v9/policies/instance/index.ts
diff --git a/src/api/routes/policies/instance/limits.ts b/src/api/routes/v9/policies/instance/limits.ts
index 06f14f83..06f14f83 100644
--- a/src/api/routes/policies/instance/limits.ts
+++ b/src/api/routes/v9/policies/instance/limits.ts
diff --git a/src/api/routes/policies/stats.ts b/src/api/routes/v9/policies/stats.ts
index dc4652fc..dc4652fc 100644
--- a/src/api/routes/policies/stats.ts
+++ b/src/api/routes/v9/policies/stats.ts
diff --git a/src/api/routes/scheduled-maintenances/upcoming_json.ts b/src/api/routes/v9/scheduled-maintenances/upcoming_json.ts
index e42723a1..e42723a1 100644
--- a/src/api/routes/scheduled-maintenances/upcoming_json.ts
+++ b/src/api/routes/v9/scheduled-maintenances/upcoming_json.ts
diff --git a/src/api/routes/sticker-packs/index.ts b/src/api/routes/v9/sticker-packs/index.ts
index e6560d12..e6560d12 100644
--- a/src/api/routes/sticker-packs/index.ts
+++ b/src/api/routes/v9/sticker-packs/index.ts
diff --git a/src/api/routes/stickers/#sticker_id/index.ts b/src/api/routes/v9/stickers/#sticker_id/index.ts
index b484a7a1..b484a7a1 100644
--- a/src/api/routes/stickers/#sticker_id/index.ts
+++ b/src/api/routes/v9/stickers/#sticker_id/index.ts
diff --git a/src/api/routes/stop.ts b/src/api/routes/v9/stop.ts
index 3f49b360..3f49b360 100644
--- a/src/api/routes/stop.ts
+++ b/src/api/routes/v9/stop.ts
diff --git a/src/api/routes/store/published-listings/applications.ts b/src/api/routes/v9/store/published-listings/applications.ts
index 6156f43e..6156f43e 100644
--- a/src/api/routes/store/published-listings/applications.ts
+++ b/src/api/routes/v9/store/published-listings/applications.ts
diff --git a/src/api/routes/store/published-listings/applications/#id/subscription-plans.ts b/src/api/routes/v9/store/published-listings/applications/#id/subscription-plans.ts
index 845cdfe7..845cdfe7 100644
--- a/src/api/routes/store/published-listings/applications/#id/subscription-plans.ts
+++ b/src/api/routes/v9/store/published-listings/applications/#id/subscription-plans.ts
diff --git a/src/api/routes/store/published-listings/skus.ts b/src/api/routes/v9/store/published-listings/skus.ts
index 6156f43e..6156f43e 100644
--- a/src/api/routes/store/published-listings/skus.ts
+++ b/src/api/routes/v9/store/published-listings/skus.ts
diff --git a/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts b/src/api/routes/v9/store/published-listings/skus/#sku_id/subscription-plans.ts
index 6b49e959..6b49e959 100644
--- a/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
+++ b/src/api/routes/v9/store/published-listings/skus/#sku_id/subscription-plans.ts
diff --git a/src/api/routes/updates.ts b/src/api/routes/v9/updates.ts
index 7e9128f4..7e9128f4 100644
--- a/src/api/routes/updates.ts
+++ b/src/api/routes/v9/updates.ts
diff --git a/src/api/routes/users/#id/delete.ts b/src/api/routes/v9/users/#id/delete.ts
index 2c08635b..6112e943 100644
--- a/src/api/routes/users/#id/delete.ts
+++ b/src/api/routes/v9/users/#id/delete.ts
@@ -15,7 +15,6 @@ router.post(
 	"/",
 	route({ right: "MANAGE_USERS" }),
 	async (req: Request, res: Response) => {
-		
 		let user = await User.findOneOrFail({
 			where: { id: req.params.id },
 			select: [...PrivateUserProjection, "data"],
diff --git a/src/api/routes/users/#id/index.ts b/src/api/routes/v9/users/#id/index.ts
index bdb1060f..bdb1060f 100644
--- a/src/api/routes/users/#id/index.ts
+++ b/src/api/routes/v9/users/#id/index.ts
diff --git a/src/api/routes/users/#id/profile.ts b/src/api/routes/v9/users/#id/profile.ts
index 5c649056..5c649056 100644
--- a/src/api/routes/users/#id/profile.ts
+++ b/src/api/routes/v9/users/#id/profile.ts
diff --git a/src/api/routes/users/#id/relationships.ts b/src/api/routes/v9/users/#id/relationships.ts
index c6480567..c6480567 100644
--- a/src/api/routes/users/#id/relationships.ts
+++ b/src/api/routes/v9/users/#id/relationships.ts
diff --git a/src/api/routes/users/@me/channels.ts b/src/api/routes/v9/users/@me/channels.ts
index 237be102..237be102 100644
--- a/src/api/routes/users/@me/channels.ts
+++ b/src/api/routes/v9/users/@me/channels.ts
diff --git a/src/api/routes/users/@me/delete.ts b/src/api/routes/v9/users/@me/delete.ts
index a9f8167c..a9f8167c 100644
--- a/src/api/routes/users/@me/delete.ts
+++ b/src/api/routes/v9/users/@me/delete.ts
diff --git a/src/api/routes/users/@me/disable.ts b/src/api/routes/v9/users/@me/disable.ts
index 313a888f..313a888f 100644
--- a/src/api/routes/users/@me/disable.ts
+++ b/src/api/routes/v9/users/@me/disable.ts
diff --git a/src/api/routes/users/@me/email-settings.ts b/src/api/routes/v9/users/@me/email-settings.ts
index a2834b89..a2834b89 100644
--- a/src/api/routes/users/@me/email-settings.ts
+++ b/src/api/routes/v9/users/@me/email-settings.ts
diff --git a/src/api/routes/users/@me/guilds.ts b/src/api/routes/v9/users/@me/guilds.ts
index e12bf258..e12bf258 100644
--- a/src/api/routes/users/@me/guilds.ts
+++ b/src/api/routes/v9/users/@me/guilds.ts
diff --git a/src/api/routes/users/@me/guilds/#guild_id/settings.ts b/src/api/routes/v9/users/@me/guilds/#guild_id/settings.ts
index 436261d4..436261d4 100644
--- a/src/api/routes/users/@me/guilds/#guild_id/settings.ts
+++ b/src/api/routes/v9/users/@me/guilds/#guild_id/settings.ts
diff --git a/src/api/routes/users/@me/index.ts b/src/api/routes/v9/users/@me/index.ts
index 37356d9d..37356d9d 100644
--- a/src/api/routes/users/@me/index.ts
+++ b/src/api/routes/v9/users/@me/index.ts
diff --git a/src/api/routes/users/@me/mfa/codes-verification.ts b/src/api/routes/v9/users/@me/mfa/codes-verification.ts
index 3411605b..3411605b 100644
--- a/src/api/routes/users/@me/mfa/codes-verification.ts
+++ b/src/api/routes/v9/users/@me/mfa/codes-verification.ts
diff --git a/src/api/routes/users/@me/mfa/codes.ts b/src/api/routes/v9/users/@me/mfa/codes.ts
index 33053028..33053028 100644
--- a/src/api/routes/users/@me/mfa/codes.ts
+++ b/src/api/routes/v9/users/@me/mfa/codes.ts
diff --git a/src/api/routes/users/@me/mfa/totp/disable.ts b/src/api/routes/v9/users/@me/mfa/totp/disable.ts
index 7916e598..7916e598 100644
--- a/src/api/routes/users/@me/mfa/totp/disable.ts
+++ b/src/api/routes/v9/users/@me/mfa/totp/disable.ts
diff --git a/src/api/routes/users/@me/mfa/totp/enable.ts b/src/api/routes/v9/users/@me/mfa/totp/enable.ts
index 2c7044da..2c7044da 100644
--- a/src/api/routes/users/@me/mfa/totp/enable.ts
+++ b/src/api/routes/v9/users/@me/mfa/totp/enable.ts
diff --git a/src/api/routes/users/@me/notes.ts b/src/api/routes/v9/users/@me/notes.ts
index e54eb897..e54eb897 100644
--- a/src/api/routes/users/@me/notes.ts
+++ b/src/api/routes/v9/users/@me/notes.ts
diff --git a/src/api/routes/users/@me/relationships.ts b/src/api/routes/v9/users/@me/relationships.ts
index 3eec704b..3eec704b 100644
--- a/src/api/routes/users/@me/relationships.ts
+++ b/src/api/routes/v9/users/@me/relationships.ts
diff --git a/src/api/routes/users/@me/settings.ts b/src/api/routes/v9/users/@me/settings.ts
index cce366ac..cce366ac 100644
--- a/src/api/routes/users/@me/settings.ts
+++ b/src/api/routes/v9/users/@me/settings.ts
diff --git a/src/api/routes/voice/regions.ts b/src/api/routes/v9/voice/regions.ts
index 4de304ee..4de304ee 100644
--- a/src/api/routes/voice/regions.ts
+++ b/src/api/routes/v9/voice/regions.ts