diff --git a/src/api/Server.ts b/src/api/Server.ts
index 84503d6e..b8ec2f49 100644
--- a/src/api/Server.ts
+++ b/src/api/Server.ts
@@ -40,7 +40,8 @@ import { Monitoring } from "../util/monitoring/Monitoring";
import { BcryptWorkerPool } from "../util/util/workers/bcrypt/BcryptWorkerPool";
import { Authentication, CORS, ImageProxy, BodyParser, ErrorHandler, initRateLimits, initTranslation } from "./middlewares";
import { initInstance } from "./util/handlers/Instance";
-import { route, addPendingPoll } from "./util";
+import { addPendingPoll } from "./util";
+import { route } from "@spacebar/api/middlewares";
import { GifProviderManager } from "@spacebar/integrations/gifs";
const ASSETS_FOLDER = path.join(__dirname, "..", "..", "assets");
diff --git a/src/api/routes/-/healthz.ts b/src/api/routes/-/healthz.ts
index 17bf2996..9c91de18 100644
--- a/src/api/routes/-/healthz.ts
+++ b/src/api/routes/-/healthz.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { getDatabase } from "@spacebar/database";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/-/readyz.ts b/src/api/routes/-/readyz.ts
index 17bf2996..9c91de18 100644
--- a/src/api/routes/-/readyz.ts
+++ b/src/api/routes/-/readyz.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { getDatabase } from "@spacebar/database";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/applications/#application_id/bot/index.ts b/src/api/routes/applications/#application_id/bot/index.ts
index d4ef6096..07a6732e 100644
--- a/src/api/routes/applications/#application_id/bot/index.ts
+++ b/src/api/routes/applications/#application_id/bot/index.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { verifyToken } from "node-2fa";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, User } from "@spacebar/database";
import { DiscordApiErrors, FieldErrors, createAppBotUser, generateToken, handleFile } from "@spacebar/util";
import { BotModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/#application_id/commands/#command_id/index.ts b/src/api/routes/applications/#application_id/commands/#command_id/index.ts
index 8672e1c9..6fc4e28e 100644
--- a/src/api/routes/applications/#application_id/commands/#command_id/index.ts
+++ b/src/api/routes/applications/#application_id/commands/#command_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, ApplicationCommand } from "@spacebar/database";
import { FieldErrors, Snowflake } from "@spacebar/util";
import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/#application_id/commands/index.ts b/src/api/routes/applications/#application_id/commands/index.ts
index accd649b..4891a180 100644
--- a/src/api/routes/applications/#application_id/commands/index.ts
+++ b/src/api/routes/applications/#application_id/commands/index.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { IsNull } from "typeorm";
import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, ApplicationCommand } from "@spacebar/database";
import { FieldErrors, Snowflake } from "@spacebar/util";
diff --git a/src/api/routes/applications/#application_id/emojis.ts b/src/api/routes/applications/#application_id/emojis.ts
index ac27d681..8803727a 100644
--- a/src/api/routes/applications/#application_id/emojis.ts
+++ b/src/api/routes/applications/#application_id/emojis.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Emoji, Application } from "@spacebar/database";
import { Config, DiscordApiErrors, Snowflake, handleFile } from "@spacebar/util";
import { ApplicationEmojiModifySchema, EmojiCreateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/#application_id/entitlements.ts b/src/api/routes/applications/#application_id/entitlements.ts
index 07c89367..3f3a6eb0 100644
--- a/src/api/routes/applications/#application_id/entitlements.ts
+++ b/src/api/routes/applications/#application_id/entitlements.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts
index 96843255..6cbd4ae0 100644
--- a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts
+++ b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/#command_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, ApplicationCommand, Guild, Member } from "@spacebar/database";
import { FieldErrors, Snowflake } from "@spacebar/util";
import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts
index de160c3f..19444d3a 100644
--- a/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts
+++ b/src/api/routes/applications/#application_id/guilds/#guild_id/commands/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, ApplicationCommand, Guild, Member } from "@spacebar/database";
import { FieldErrors, Snowflake } from "@spacebar/util";
import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/#application_id/index.ts b/src/api/routes/applications/#application_id/index.ts
index 0ada6042..cbd1e92a 100644
--- a/src/api/routes/applications/#application_id/index.ts
+++ b/src/api/routes/applications/#application_id/index.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { verifyToken } from "node-2fa";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, Guild, User } from "@spacebar/database";
import { DiscordApiErrors, FieldErrors, handleFile } from "@spacebar/util";
import { ApplicationModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/#application_id/skus.ts b/src/api/routes/applications/#application_id/skus.ts
index 6f071469..64ea8a27 100644
--- a/src/api/routes/applications/#application_id/skus.ts
+++ b/src/api/routes/applications/#application_id/skus.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/applications/@me.ts b/src/api/routes/applications/@me.ts
index 65034ebd..2e75cd99 100644
--- a/src/api/routes/applications/@me.ts
+++ b/src/api/routes/applications/@me.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, Guild } from "@spacebar/database";
import { handleFile } from "@spacebar/util";
import { ApplicationModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/detectable.ts b/src/api/routes/applications/detectable.ts
index 6c7cc21a..86495d6d 100644
--- a/src/api/routes/applications/detectable.ts
+++ b/src/api/routes/applications/detectable.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { ApplicationDetectableResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/applications/index.ts b/src/api/routes/applications/index.ts
index 6eac6243..b20bdf79 100644
--- a/src/api/routes/applications/index.ts
+++ b/src/api/routes/applications/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application } from "@spacebar/database";
import { Config, createAppBotUser } from "@spacebar/util";
import { ApplicationCreateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/attachments/refresh-urls.ts b/src/api/routes/attachments/refresh-urls.ts
index b9e90ea2..d5aac180 100644
--- a/src/api/routes/attachments/refresh-urls.ts
+++ b/src/api/routes/attachments/refresh-urls.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { getUrlSignature, NewUrlSignatureData } from "@spacebar/util";
import { Request, Response, Router } from "express";
import { RefreshUrlsRequestSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/fingerprint.ts b/src/api/routes/auth/fingerprint.ts
index 8e18654c..d3e3321e 100644
--- a/src/api/routes/auth/fingerprint.ts
+++ b/src/api/routes/auth/fingerprint.ts
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { createHash } from "node:crypto";
import { Snowflake } from "@spacebar/util";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/auth/forgot.ts b/src/api/routes/auth/forgot.ts
index a21db720..4ee46ccb 100644
--- a/src/api/routes/auth/forgot.ts
+++ b/src/api/routes/auth/forgot.ts
@@ -17,7 +17,8 @@
*/
import { Request, Response, Router } from "express";
-import { route, verifyCaptcha } from "@spacebar/api/util";
+import { verifyCaptcha } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { Config, Email } from "@spacebar/util";
import { ForgotPasswordSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/generate-registration-tokens.ts b/src/api/routes/auth/generate-registration-tokens.ts
index d787e22a..2a94aeb2 100644
--- a/src/api/routes/auth/generate-registration-tokens.ts
+++ b/src/api/routes/auth/generate-registration-tokens.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ValidRegistrationToken } from "@spacebar/database";
import { Random } from "@spacebar/extensions";
import { Config } from "@spacebar/util";
diff --git a/src/api/routes/auth/location-metadata.ts b/src/api/routes/auth/location-metadata.ts
index 51f126a3..b00298bb 100644
--- a/src/api/routes/auth/location-metadata.ts
+++ b/src/api/routes/auth/location-metadata.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { IpDataClient } from "@spacebar/util";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/auth/login.ts b/src/api/routes/auth/login.ts
index b74414b5..0c1976f0 100644
--- a/src/api/routes/auth/login.ts
+++ b/src/api/routes/auth/login.ts
@@ -19,7 +19,8 @@
import crypto from "node:crypto";
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
-import { route, verifyCaptcha } from "@spacebar/api/util";
+import { verifyCaptcha } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { Config, FieldErrors, WebAuthn, generateToken, generateWebAuthnTicket } from "@spacebar/util";
import { LoginSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/logout.ts b/src/api/routes/auth/logout.ts
index cea15532..1d14d3ee 100644
--- a/src/api/routes/auth/logout.ts
+++ b/src/api/routes/auth/logout.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Session } from "@spacebar/database";
import { emitEvent } from "@spacebar/util";
diff --git a/src/api/routes/auth/mfa/totp.ts b/src/api/routes/auth/mfa/totp.ts
index 72a79db9..37cff655 100644
--- a/src/api/routes/auth/mfa/totp.ts
+++ b/src/api/routes/auth/mfa/totp.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { verifyToken } from "node-2fa";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { BackupCode, User } from "@spacebar/database";
import { generateToken } from "@spacebar/util";
import { TotpSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/mfa/webauthn.ts b/src/api/routes/auth/mfa/webauthn.ts
index 5d7af959..8c107a15 100644
--- a/src/api/routes/auth/mfa/webauthn.ts
+++ b/src/api/routes/auth/mfa/webauthn.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { ExpectedAssertionResult } from "fido2-lib";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { SecurityKey, User } from "@spacebar/database";
import { generateToken, verifyWebAuthnToken, WebAuthn } from "@spacebar/util";
import { WebAuthnTotpSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/register.ts b/src/api/routes/auth/register.ts
index 6d2133f0..ba2f6607 100644
--- a/src/api/routes/auth/register.ts
+++ b/src/api/routes/auth/register.ts
@@ -20,7 +20,8 @@ import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { MoreThan } from "typeorm";
-import { route, verifyCaptcha } from "@spacebar/api/util";
+import { verifyCaptcha } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Invite, User, ValidRegistrationToken } from "@spacebar/database";
import { Config, FieldErrors, generateToken, IpDataClient, AbuseIpDbClient } from "@spacebar/util";
import { RegisterSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/reset.ts b/src/api/routes/auth/reset.ts
index 9b087443..0270de90 100644
--- a/src/api/routes/auth/reset.ts
+++ b/src/api/routes/auth/reset.ts
@@ -18,7 +18,7 @@
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Session, User } from "@spacebar/database";
import { checkToken, Email, FieldErrors, generateToken } from "@spacebar/util";
import { PasswordResetSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/sessions.ts b/src/api/routes/auth/sessions.ts
index 0ea25a34..a566f776 100644
--- a/src/api/routes/auth/sessions.ts
+++ b/src/api/routes/auth/sessions.ts
@@ -19,7 +19,7 @@
import { createHash } from "node:crypto";
import { Request, Response, Router } from "express";
import { In } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { emitEvent } from "@spacebar/util";
import { SessionsLogoutSchema } from "@spacebar/schemas";
import { Session } from "@spacebar/database";
diff --git a/src/api/routes/auth/verify/index.ts b/src/api/routes/auth/verify/index.ts
index 59020b61..7630a77f 100644
--- a/src/api/routes/auth/verify/index.ts
+++ b/src/api/routes/auth/verify/index.ts
@@ -17,7 +17,8 @@
*/
import { Request, Response, Router } from "express";
-import { route, verifyCaptcha } from "@spacebar/api/util";
+import { verifyCaptcha } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { checkToken, Config, FieldErrors, generateToken } from "@spacebar/util";
diff --git a/src/api/routes/auth/verify/resend.ts b/src/api/routes/auth/verify/resend.ts
index 5aa0b6f8..574254d2 100644
--- a/src/api/routes/auth/verify/resend.ts
+++ b/src/api/routes/auth/verify/resend.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { Email } from "@spacebar/util";
diff --git a/src/api/routes/auth/verify/view-backup-codes-challenge.ts b/src/api/routes/auth/verify/view-backup-codes-challenge.ts
index 85b57bac..724ab6e8 100644
--- a/src/api/routes/auth/verify/view-backup-codes-challenge.ts
+++ b/src/api/routes/auth/verify/view-backup-codes-challenge.ts
@@ -18,7 +18,7 @@
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { FieldErrors } from "@spacebar/util";
import { BackupCodesChallengeSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/auth/whoami.ts b/src/api/routes/auth/whoami.ts
index 6dd4c084..fc4a6633 100644
--- a/src/api/routes/auth/whoami.ts
+++ b/src/api/routes/auth/whoami.ts
@@ -15,7 +15,7 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/beaker.ts b/src/api/routes/beaker.ts
index 7bd1adbe..88cc72c0 100644
--- a/src/api/routes/beaker.ts
+++ b/src/api/routes/beaker.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/channels/#channel_id/attachments.ts b/src/api/routes/channels/#channel_id/attachments.ts
index 7cdad8c6..c7a56b3b 100644
--- a/src/api/routes/channels/#channel_id/attachments.ts
+++ b/src/api/routes/channels/#channel_id/attachments.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, CloudAttachment } from "@spacebar/database";
import { Random } from "@spacebar/extensions";
import { Config, Permissions } from "@spacebar/util";
diff --git a/src/api/routes/channels/#channel_id/directory-entries.ts b/src/api/routes/channels/#channel_id/directory-entries.ts
index dc2ad1ba..fb073df5 100644
--- a/src/api/routes/channels/#channel_id/directory-entries.ts
+++ b/src/api/routes/channels/#channel_id/directory-entries.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { HubDirectoryEntriesResponse } from "@spacebar/schemas";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/channels/#channel_id/greet.ts b/src/api/routes/channels/#channel_id/greet.ts
index 51ff3583..836cf7ef 100644
--- a/src/api/routes/channels/#channel_id/greet.ts
+++ b/src/api/routes/channels/#channel_id/greet.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { In } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Message, Sticker } from "@spacebar/database";
import { emitEvent, MessageCreateEvent, Permissions } from "@spacebar/util";
import { GreetRequestSchema, MessageType } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/index.ts b/src/api/routes/channels/#channel_id/index.ts
index e6069b9f..486e8b39 100644
--- a/src/api/routes/channels/#channel_id/index.ts
+++ b/src/api/routes/channels/#channel_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Recipient } from "@spacebar/database";
import { ChannelDeleteEvent, ChannelUpdateEvent, emitEvent, handleFile, Config, FieldError, ErrorList, makeObjectErrorContent } from "@spacebar/util";
import { ChannelModifySchema, ChannelType } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/invites.ts b/src/api/routes/channels/#channel_id/invites.ts
index a6896cb7..984a3c81 100644
--- a/src/api/routes/channels/#channel_id/invites.ts
+++ b/src/api/routes/channels/#channel_id/invites.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Guild, Invite, PublicInviteRelation, User } from "@spacebar/database";
import { InviteCreateEvent, emitEvent } from "@spacebar/util";
import { InviteCreateSchema, isTextChannel } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
index d0e0adbc..bb1e12f0 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/ack.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ReadState } from "@spacebar/database";
import { emitEvent, getPermission, MessageAckEvent } from "@spacebar/util";
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
index 7ee337ff..b4acb20e 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
index a4d5a852..1dcd3678 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
@@ -19,7 +19,8 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import multer from "multer";
-import { handleMessage, postHandleMessage, route } from "@spacebar/api/util";
+import { handleMessage, postHandleMessage } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Attachment, Channel, Message } from "@spacebar/database";
import {
MessageCreateEvent,
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
index 6348737a..d1b4c048 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/reactions.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { In } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Emoji, Member, Message, User } from "@spacebar/database";
import { arrayRemove } from "@spacebar/extensions";
import {
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
index edd6f555..fb70b8f5 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
@@ -17,7 +17,8 @@
*/
import { Request, Response, Router } from "express";
-import { route, sendMessage } from "@spacebar/api/util";
+import { sendMessage } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Message, User } from "@spacebar/database";
import { emitEvent, MessageUpdateEvent } from "@spacebar/util";
import { MessageThreadCreationSchema, ChannelType, MessageType } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
index 96cad171..f976a4d7 100644
--- a/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
+++ b/src/api/routes/channels/#channel_id/messages/bulk-delete.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Message } from "@spacebar/database";
import { Config, emitEvent, getPermission, getRights, MessageDeleteBulkEvent } from "@spacebar/util";
import { In } from "typeorm";
diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts
index 63c76379..69ebef0b 100644
--- a/src/api/routes/channels/#channel_id/messages/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -16,7 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { handleMessage, postHandleMessage, route } from "@spacebar/api/util";
+import { handleMessage, postHandleMessage } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Attachment, Channel, Member, Message, ReadState, Relationship, User, ThreadMember, ThreadMemberFlags } from "@spacebar/database";
import {
Config,
diff --git a/src/api/routes/channels/#channel_id/messages/pins/index.ts b/src/api/routes/channels/#channel_id/messages/pins/index.ts
index 50d533c3..062084e5 100644
--- a/src/api/routes/channels/#channel_id/messages/pins/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/pins/index.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { IsNull, Not } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Message, User } from "@spacebar/database";
import { ChannelPinsUpdateEvent, Config, DiscordApiErrors, emitEvent, MessageCreateEvent, MessageUpdateEvent } from "@spacebar/util";
diff --git a/src/api/routes/channels/#channel_id/messages/search.ts b/src/api/routes/channels/#channel_id/messages/search.ts
index 4cb7b897..afba2506 100644
--- a/src/api/routes/channels/#channel_id/messages/search.ts
+++ b/src/api/routes/channels/#channel_id/messages/search.ts
@@ -21,7 +21,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { FindManyOptions, Like } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Message } from "@spacebar/database";
import { FieldErrors, getPermission } from "@spacebar/util";
diff --git a/src/api/routes/channels/#channel_id/permissions.ts b/src/api/routes/channels/#channel_id/permissions.ts
index 2f0a0de3..6776697d 100644
--- a/src/api/routes/channels/#channel_id/permissions.ts
+++ b/src/api/routes/channels/#channel_id/permissions.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Member, Role } from "@spacebar/database";
import { ChannelUpdateEvent, emitEvent } from "@spacebar/util";
import { ChannelPermissionOverwriteSchema, ChannelPermissionOverwrite, ChannelPermissionOverwriteType } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/pins.ts b/src/api/routes/channels/#channel_id/pins.ts
index c7aa9984..499e3a98 100644
--- a/src/api/routes/channels/#channel_id/pins.ts
+++ b/src/api/routes/channels/#channel_id/pins.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { IsNull, Not } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ChannelPinsUpdateEvent, Config, DiscordApiErrors, emitEvent, MessageCreateEvent, MessageUpdateEvent } from "@spacebar/util";
import { Message, User } from "@spacebar/database";
diff --git a/src/api/routes/channels/#channel_id/polls/#poll_id/answers/#answer_id.ts b/src/api/routes/channels/#channel_id/polls/#poll_id/answers/#answer_id.ts
index 849e8350..417dcd9f 100644
--- a/src/api/routes/channels/#channel_id/polls/#poll_id/answers/#answer_id.ts
+++ b/src/api/routes/channels/#channel_id/polls/#poll_id/answers/#answer_id.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Message, User } from "@spacebar/database";
import { DiscordApiErrors } from "@spacebar/util";
import { PollAnswerCount } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/polls/#poll_id/answers/@me.ts b/src/api/routes/channels/#channel_id/polls/#poll_id/answers/@me.ts
index 32f93a9a..e812a8fc 100644
--- a/src/api/routes/channels/#channel_id/polls/#poll_id/answers/@me.ts
+++ b/src/api/routes/channels/#channel_id/polls/#poll_id/answers/@me.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { PollAnswerCount, PollUserAnswersSchema } from "@spacebar/schemas";
import { Message } from "@spacebar/database";
import { DiscordApiErrors, emitEvent, ErrorList, FieldError, makeObjectErrorContent, MessagePollVoteAddEvent, MessagePollVoteRemoveEvent } from "@spacebar/util";
diff --git a/src/api/routes/channels/#channel_id/polls/#poll_id/expire.ts b/src/api/routes/channels/#channel_id/polls/#poll_id/expire.ts
index e4544db5..8e03a527 100644
--- a/src/api/routes/channels/#channel_id/polls/#poll_id/expire.ts
+++ b/src/api/routes/channels/#channel_id/polls/#poll_id/expire.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Message } from "@spacebar/database";
import { DiscordApiErrors, emitEvent, MessageUpdateEvent, pendingPolls } from "@spacebar/util";
import { generatePollResultsMessage, sendMessage } from "@spacebar/api/util";
diff --git a/src/api/routes/channels/#channel_id/post-data.ts b/src/api/routes/channels/#channel_id/post-data.ts
index 8e593d65..202cce99 100644
--- a/src/api/routes/channels/#channel_id/post-data.ts
+++ b/src/api/routes/channels/#channel_id/post-data.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { messageUpload } from "./messages";
import { In } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Member, Message } from "@spacebar/database";
import { PostDataSchema, PublicMessage } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/purge.ts b/src/api/routes/channels/#channel_id/purge.ts
index d1bef504..8b85de9a 100644
--- a/src/api/routes/channels/#channel_id/purge.ts
+++ b/src/api/routes/channels/#channel_id/purge.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { Between, FindManyOptions, FindOperator, Not } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Message } from "@spacebar/database";
import { MessageDeleteBulkEvent, emitEvent, getPermission, getRights } from "@spacebar/util";
import { isTextChannel, PurgeSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/recipients.ts b/src/api/routes/channels/#channel_id/recipients.ts
index 4acc1cb6..72ac12f7 100644
--- a/src/api/routes/channels/#channel_id/recipients.ts
+++ b/src/api/routes/channels/#channel_id/recipients.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Recipient, User } from "@spacebar/database";
import { ChannelRecipientAddEvent, DiscordApiErrors, DmChannelDTO, emitEvent } from "@spacebar/util";
import { ChannelType, PublicUserProjection } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/tags.ts b/src/api/routes/channels/#channel_id/tags.ts
index 8e9f2043..66e2cc23 100644
--- a/src/api/routes/channels/#channel_id/tags.ts
+++ b/src/api/routes/channels/#channel_id/tags.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Tag } from "@spacebar/database";
import { ChannelUpdateEvent, emitEvent } from "@spacebar/util";
import { TagCreateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/thread-members.ts b/src/api/routes/channels/#channel_id/thread-members.ts
index 837fb6c2..f1d2a6cf 100644
--- a/src/api/routes/channels/#channel_id/thread-members.ts
+++ b/src/api/routes/channels/#channel_id/thread-members.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { MoreThan } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Member, ThreadMember, ThreadMemberFlags } from "@spacebar/database";
import { emitEvent, Permissions, ThreadCreateEvent, ThreadDeleteEvent, ThreadMembersUpdateEvent } from "@spacebar/util";
import { ChannelType, Snowflake } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/threads.ts b/src/api/routes/channels/#channel_id/threads.ts
index 6fe4ff11..b992d700 100644
--- a/src/api/routes/channels/#channel_id/threads.ts
+++ b/src/api/routes/channels/#channel_id/threads.ts
@@ -19,7 +19,8 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { FindManyOptions, FindOptionsOrder, In, Like, ArrayContains, ArrayOverlap } from "typeorm";
-import { handleMessage, postHandleMessage, route, sendMessage } from "@spacebar/api/util";
+import { handleMessage, postHandleMessage, sendMessage } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Attachment, Channel, Member, Message, ReadState, ThreadMember, User } from "@spacebar/database";
import { emitEvent, uploadFile, MessageCreateEvent, FieldErrors, getPermission, ChannelFlags } from "@spacebar/util";
import { ChannelType, MessageType, ThreadCreationSchema, MessageCreateAttachment, MessageCreateCloudAttachment } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/#channel_id/typing.ts b/src/api/routes/channels/#channel_id/typing.ts
index 930672b0..224fc369 100644
--- a/src/api/routes/channels/#channel_id/typing.ts
+++ b/src/api/routes/channels/#channel_id/typing.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Member } from "@spacebar/database";
import { emitEvent, TypingStartEvent } from "@spacebar/util";
diff --git a/src/api/routes/channels/#channel_id/webhooks.ts b/src/api/routes/channels/#channel_id/webhooks.ts
index 5ad5d6e4..d38e18d7 100644
--- a/src/api/routes/channels/#channel_id/webhooks.ts
+++ b/src/api/routes/channels/#channel_id/webhooks.ts
@@ -19,7 +19,7 @@
import crypto from "node:crypto";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, Channel, User, Webhook } from "@spacebar/database";
import { Config, DiscordApiErrors, handleFile, ValidateName } from "@spacebar/util";
import { isTextChannel, WebhookCreateSchema, WebhookResponse, WebhookType } from "@spacebar/schemas";
diff --git a/src/api/routes/channels/preload-messages.ts b/src/api/routes/channels/preload-messages.ts
index 1a7548e7..8b860bc9 100644
--- a/src/api/routes/channels/preload-messages.ts
+++ b/src/api/routes/channels/preload-messages.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Message } from "@spacebar/database";
import { Config } from "@spacebar/util";
import { PreloadMessagesRequestSchema, PublicMessageArray } from "@spacebar/schemas";
diff --git a/src/api/routes/collectibles-categories.ts b/src/api/routes/collectibles-categories.ts
index c71fde1c..dcbadd2d 100644
--- a/src/api/routes/collectibles-categories.ts
+++ b/src/api/routes/collectibles-categories.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { CollectiblesCategoriesResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/collectibles-shop.ts b/src/api/routes/collectibles-shop.ts
index 3d69a974..b35ddf17 100644
--- a/src/api/routes/collectibles-shop.ts
+++ b/src/api/routes/collectibles-shop.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { CollectiblesShopResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/connections/#connection_name/#connection_id/refresh.ts b/src/api/routes/connections/#connection_name/#connection_id/refresh.ts
index 4488cc86..16a5a526 100644
--- a/src/api/routes/connections/#connection_name/#connection_id/refresh.ts
+++ b/src/api/routes/connections/#connection_name/#connection_id/refresh.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/connections/#connection_name/authorize.ts b/src/api/routes/connections/#connection_name/authorize.ts
index fadc2a61..dbc1c386 100644
--- a/src/api/routes/connections/#connection_name/authorize.ts
+++ b/src/api/routes/connections/#connection_name/authorize.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { ConnectionStore, FieldErrors } from "@spacebar/util";
diff --git a/src/api/routes/connections/#connection_name/callback.ts b/src/api/routes/connections/#connection_name/callback.ts
index a162b689..134b0d58 100644
--- a/src/api/routes/connections/#connection_name/callback.ts
+++ b/src/api/routes/connections/#connection_name/callback.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ConnectionStore, emitEvent, FieldErrors } from "@spacebar/util";
import { Request, Response, Router } from "express";
import { ConnectionCallbackSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/connections/index.ts b/src/api/routes/connections/index.ts
index cf6fcbd3..9735eccd 100644
--- a/src/api/routes/connections/index.ts
+++ b/src/api/routes/connections/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ConnectionConfig } from "@spacebar/util";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/discoverable-guilds.ts b/src/api/routes/discoverable-guilds.ts
index dc22126a..e79db8f1 100644
--- a/src/api/routes/discoverable-guilds.ts
+++ b/src/api/routes/discoverable-guilds.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { ArrayContains, In, Not } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member } from "@spacebar/database";
import { Config } from "@spacebar/util";
diff --git a/src/api/routes/discovery.ts b/src/api/routes/discovery.ts
index 48728403..46168178 100644
--- a/src/api/routes/discovery.ts
+++ b/src/api/routes/discovery.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Categories } from "@spacebar/database";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/download.ts b/src/api/routes/download.ts
index 3420bc1c..b6dd3578 100644
--- a/src/api/routes/download.ts
+++ b/src/api/routes/download.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ClientRelease } from "@spacebar/database";
import { FieldErrors } from "@spacebar/util";
diff --git a/src/api/routes/emojis/#emoji_id/source.ts b/src/api/routes/emojis/#emoji_id/source.ts
index d3c20f91..6948cb6f 100644
--- a/src/api/routes/emojis/#emoji_id/source.ts
+++ b/src/api/routes/emojis/#emoji_id/source.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, Emoji, Guild, Member } from "@spacebar/database";
import { DiscordApiErrors } from "@spacebar/util";
import { APIErrorResponse, EmojiGuild, EmojiSourceResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/experiments.ts b/src/api/routes/experiments.ts
index eb9d0849..22e0d832 100644
--- a/src/api/routes/experiments.ts
+++ b/src/api/routes/experiments.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/games/detectable.ts b/src/api/routes/games/detectable.ts
index 997bbb95..8e2db77c 100644
--- a/src/api/routes/games/detectable.ts
+++ b/src/api/routes/games/detectable.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { ApplicationDetectableResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/gateway/bot.ts b/src/api/routes/gateway/bot.ts
index e77c1914..23bb402e 100644
--- a/src/api/routes/gateway/bot.ts
+++ b/src/api/routes/gateway/bot.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Config } from "@spacebar/util";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/gateway/index.ts b/src/api/routes/gateway/index.ts
index d0bb8a3f..24efef91 100644
--- a/src/api/routes/gateway/index.ts
+++ b/src/api/routes/gateway/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Config } from "@spacebar/util";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/gifs/search.ts b/src/api/routes/gifs/search.ts
index 8e512979..ebab71e6 100644
--- a/src/api/routes/gifs/search.ts
+++ b/src/api/routes/gifs/search.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { GifMediaTypes } from "@spacebar/schemas";
import { GifProviderManager } from "@spacebar/integrations/gifs";
diff --git a/src/api/routes/gifs/trending-gifs.ts b/src/api/routes/gifs/trending-gifs.ts
index f40116d3..a759a041 100644
--- a/src/api/routes/gifs/trending-gifs.ts
+++ b/src/api/routes/gifs/trending-gifs.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { GifMediaTypes } from "@spacebar/schemas";
import { GifProviderManager } from "@spacebar/integrations/gifs";
diff --git a/src/api/routes/gifs/trending.ts b/src/api/routes/gifs/trending.ts
index 64c9cd47..2e24c77c 100644
--- a/src/api/routes/gifs/trending.ts
+++ b/src/api/routes/gifs/trending.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { TrendingGifsResponse } from "@spacebar/schemas";
import { GifProviderManager } from "@spacebar/integrations/gifs";
diff --git a/src/api/routes/guild-recommendations.ts b/src/api/routes/guild-recommendations.ts
index 9587e858..43efa669 100644
--- a/src/api/routes/guild-recommendations.ts
+++ b/src/api/routes/guild-recommendations.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { ArrayContains } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild } from "@spacebar/database";
import { Config } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/application-command-index.ts b/src/api/routes/guilds/#guild_id/application-command-index.ts
index e9342e90..758392fe 100644
--- a/src/api/routes/guilds/#guild_id/application-command-index.ts
+++ b/src/api/routes/guilds/#guild_id/application-command-index.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { IsNull } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, ApplicationCommand, Member } from "@spacebar/database";
import { Snowflake } from "@spacebar/util";
import { ApplicationCommandSchema, ApplicationCommandType } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/audit-logs.ts b/src/api/routes/guilds/#guild_id/audit-logs.ts
index ccbe4dc6..e8765a99 100644
--- a/src/api/routes/guilds/#guild_id/audit-logs.ts
+++ b/src/api/routes/guilds/#guild_id/audit-logs.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
//TODO: implement audit logs
diff --git a/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts b/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts
index dc4328d1..0ece7ade 100644
--- a/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts
+++ b/src/api/routes/guilds/#guild_id/auto-moderation/rules.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User, AutomodRule } from "@spacebar/database";
import { AutomodRuleSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/bans.ts b/src/api/routes/guilds/#guild_id/bans.ts
index c844d55b..82174665 100644
--- a/src/api/routes/guilds/#guild_id/bans.ts
+++ b/src/api/routes/guilds/#guild_id/bans.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Ban, Member, User } from "@spacebar/database";
import { DiscordApiErrors, GuildBanAddEvent, GuildBanRemoveEvent, emitEvent } from "@spacebar/util";
import { BanCreateSchema, BanRegistrySchema, GuildBanResponse, GuildBansResponse, PublicUser } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/bulk-ban.ts b/src/api/routes/guilds/#guild_id/bulk-ban.ts
index ab1affec..d0b75443 100644
--- a/src/api/routes/guilds/#guild_id/bulk-ban.ts
+++ b/src/api/routes/guilds/#guild_id/bulk-ban.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Ban, Member, User } from "@spacebar/database";
import { Config, DiscordApiErrors, GuildBanAddEvent, emitEvent } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/channels.ts b/src/api/routes/guilds/#guild_id/channels.ts
index 09bcaa54..2d8871eb 100644
--- a/src/api/routes/guilds/#guild_id/channels.ts
+++ b/src/api/routes/guilds/#guild_id/channels.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Guild } from "@spacebar/database";
import { ChannelUpdateEvent, emitEvent } from "@spacebar/util";
import { ChannelCreateSchema, ChannelReorderSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/delete.ts b/src/api/routes/guilds/#guild_id/delete.ts
index c306dd1b..d1966eba 100644
--- a/src/api/routes/guilds/#guild_id/delete.ts
+++ b/src/api/routes/guilds/#guild_id/delete.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild } from "@spacebar/database";
import { GuildDeleteEvent, emitEvent } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/discovery-requirements.ts b/src/api/routes/guilds/#guild_id/discovery-requirements.ts
index 4f6c320d..0601741b 100644
--- a/src/api/routes/guilds/#guild_id/discovery-requirements.ts
+++ b/src/api/routes/guilds/#guild_id/discovery-requirements.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/guilds/#guild_id/emojis.ts b/src/api/routes/guilds/#guild_id/emojis.ts
index bae89566..0f1b2104 100644
--- a/src/api/routes/guilds/#guild_id/emojis.ts
+++ b/src/api/routes/guilds/#guild_id/emojis.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Emoji, Member } from "@spacebar/database";
import { Config, DiscordApiErrors, GuildEmojisUpdateEvent, Snowflake, emitEvent, handleFile } from "@spacebar/util";
import { EmojiCreateSchema, EmojiModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts
index a3767d4c..a05bf466 100644
--- a/src/api/routes/guilds/#guild_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/index.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Guild, Member } from "@spacebar/database";
import { DiscordApiErrors, GuildUpdateEvent, Permissions, SpacebarApiErrors, emitEvent, getPermission, getRights, handleFile } from "@spacebar/util";
import { GuildCreateResponse, GuildUpdateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/integrations.ts b/src/api/routes/guilds/#guild_id/integrations.ts
index 2b367632..c49a729e 100644
--- a/src/api/routes/guilds/#guild_id/integrations.ts
+++ b/src/api/routes/guilds/#guild_id/integrations.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
//TODO: implement integrations list
diff --git a/src/api/routes/guilds/#guild_id/invites.ts b/src/api/routes/guilds/#guild_id/invites.ts
index 697df8db..89ac00c8 100644
--- a/src/api/routes/guilds/#guild_id/invites.ts
+++ b/src/api/routes/guilds/#guild_id/invites.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Invite, PublicInviteRelation } from "@spacebar/database";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/guilds/#guild_id/member-verification.ts b/src/api/routes/guilds/#guild_id/member-verification.ts
index 88d6c035..9a69a476 100644
--- a/src/api/routes/guilds/#guild_id/member-verification.ts
+++ b/src/api/routes/guilds/#guild_id/member-verification.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
index 929ae752..d6879818 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Emoji, Guild, Member, Role, Sticker } from "@spacebar/database";
import { Config, DiscordApiErrors, emitEvent, getPermission, getRights, GuildMemberUpdateEvent, handleFile } from "@spacebar/util";
import { MemberChangeSchema, PublicMemberProjection, PublicUserProjection } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
index 4d48aa2d..b3b8fd05 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/nick.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member } from "@spacebar/database";
import { getPermission, PermissionResolvable } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
index f27cf86b..a2bf998f 100644
--- a/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/#member_id/roles/#role_id/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member } from "@spacebar/database";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/guilds/#guild_id/members/index.ts b/src/api/routes/guilds/#guild_id/members/index.ts
index 8373265e..ba8f4b3b 100644
--- a/src/api/routes/guilds/#guild_id/members/index.ts
+++ b/src/api/routes/guilds/#guild_id/members/index.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { MoreThan } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member } from "@spacebar/database";
import { PublicMemberProjection } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/messages/search.ts b/src/api/routes/guilds/#guild_id/messages/search.ts
index ca6d40ed..8c6d29c8 100644
--- a/src/api/routes/guilds/#guild_id/messages/search.ts
+++ b/src/api/routes/guilds/#guild_id/messages/search.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { Between, FindManyOptions, FindOptionsWhere, In, LessThan, Like, MoreThan } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Member, Message } from "@spacebar/database";
import { FieldErrors, Snowflake, getPermission } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/premium.ts b/src/api/routes/guilds/#guild_id/premium.ts
index a5b57778..df4e4119 100644
--- a/src/api/routes/guilds/#guild_id/premium.ts
+++ b/src/api/routes/guilds/#guild_id/premium.ts
@@ -17,7 +17,7 @@
*/
import { Router, Request, Response } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
router.get("/subscriptions", route({}), (req: Request, res: Response) => {
diff --git a/src/api/routes/guilds/#guild_id/profile.ts b/src/api/routes/guilds/#guild_id/profile.ts
index 07d2a64b..7279c25a 100644
--- a/src/api/routes/guilds/#guild_id/profile.ts
+++ b/src/api/routes/guilds/#guild_id/profile.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild } from "@spacebar/database";
import { Request, Response, Router } from "express";
import { GuildProfileResponse, GuildVisibilityLevel } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/profile/index.ts b/src/api/routes/guilds/#guild_id/profile/index.ts
index 08ea7ee5..4df0ad97 100644
--- a/src/api/routes/guilds/#guild_id/profile/index.ts
+++ b/src/api/routes/guilds/#guild_id/profile/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member } from "@spacebar/database";
import { emitEvent, getPermission, getRights, GuildMemberUpdateEvent, handleFile, OrmUtils, Permissions } from "@spacebar/util";
import { MemberChangeProfileSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/prune.ts b/src/api/routes/guilds/#guild_id/prune.ts
index 6b8a1f56..bffb24d5 100644
--- a/src/api/routes/guilds/#guild_id/prune.ts
+++ b/src/api/routes/guilds/#guild_id/prune.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { IsNull, LessThan } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member } from "@spacebar/database";
import { Snowflake } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/regions.ts b/src/api/routes/guilds/#guild_id/regions.ts
index a924441c..025ea7c4 100644
--- a/src/api/routes/guilds/#guild_id/regions.ts
+++ b/src/api/routes/guilds/#guild_id/regions.ts
@@ -16,7 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { getVoiceRegions, route } from "@spacebar/api/util";
+import { getVoiceRegions } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Guild } from "@spacebar/database";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
index 823d14bd..42463c83 100644
--- a/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/roles/#role_id/index.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member, Role } from "@spacebar/database";
import { emitEvent, GuildRoleDeleteEvent, GuildRoleUpdateEvent, handleFile } from "@spacebar/util";
import { RoleModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts
index 7e05902e..418e9365 100644
--- a/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts
+++ b/src/api/routes/guilds/#guild_id/roles/#role_id/member-ids.ts
@@ -18,7 +18,7 @@
import { Router, Request, Response } from "express";
import { Member } from "@spacebar/database";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
index 8bf1fbd0..7628c682 100644
--- a/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
+++ b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts
@@ -17,7 +17,7 @@
*/
import { Router, Request, Response } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member } from "@spacebar/database";
import { arrayPartition } from "@spacebar/extensions";
import { DiscordApiErrors } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/roles/index.ts b/src/api/routes/guilds/#guild_id/roles/index.ts
index 403d886b..721c7586 100644
--- a/src/api/routes/guilds/#guild_id/roles/index.ts
+++ b/src/api/routes/guilds/#guild_id/roles/index.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { Not } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member, Role } from "@spacebar/database";
import { Config, DiscordApiErrors, emitEvent, GuildRoleCreateEvent, GuildRoleUpdateEvent, Snowflake } from "@spacebar/util";
import { RoleModifySchema, RolePositionUpdateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/roles/member-counts.ts b/src/api/routes/guilds/#guild_id/roles/member-counts.ts
index a823a37f..8aeba60b 100644
--- a/src/api/routes/guilds/#guild_id/roles/member-counts.ts
+++ b/src/api/routes/guilds/#guild_id/roles/member-counts.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { Role, Member } from "@spacebar/database";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/guilds/#guild_id/shield.svg.ts b/src/api/routes/guilds/#guild_id/shield.svg.ts
index 18803a9d..3f01ada1 100644
--- a/src/api/routes/guilds/#guild_id/shield.svg.ts
+++ b/src/api/routes/guilds/#guild_id/shield.svg.ts
@@ -20,7 +20,7 @@ import fs from "node:fs";
import path from "node:path";
import { makeBadge } from "badge-maker";
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member } from "@spacebar/database";
import { DiscordApiErrors } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/stickers.ts b/src/api/routes/guilds/#guild_id/stickers.ts
index ee45f01b..7b56d14f 100644
--- a/src/api/routes/guilds/#guild_id/stickers.ts
+++ b/src/api/routes/guilds/#guild_id/stickers.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import multer from "multer";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Member, Sticker } from "@spacebar/database";
import { GuildStickersUpdateEvent, Snowflake, emitEvent, uploadFile, Config, DiscordApiErrors } from "@spacebar/util";
import { ModifyGuildStickerSchema, StickerFormatType, StickerType } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/templates.ts b/src/api/routes/guilds/#guild_id/templates.ts
index 613ee516..eef49d6a 100644
--- a/src/api/routes/guilds/#guild_id/templates.ts
+++ b/src/api/routes/guilds/#guild_id/templates.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Template } from "@spacebar/database";
import { generateCode } from "@spacebar/extensions";
diff --git a/src/api/routes/guilds/#guild_id/vanity-url.ts b/src/api/routes/guilds/#guild_id/vanity-url.ts
index 8db0ac68..8881b182 100644
--- a/src/api/routes/guilds/#guild_id/vanity-url.ts
+++ b/src/api/routes/guilds/#guild_id/vanity-url.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Guild, Invite } from "@spacebar/database";
import { ChannelType, VanityUrlSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts b/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
index 5d0e60ad..a8df4a2e 100644
--- a/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
+++ b/src/api/routes/guilds/#guild_id/voice-states/#user_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Member, VoiceState } from "@spacebar/database";
import { DiscordApiErrors, emitEvent, getPermission, VoiceStateUpdateEvent } from "@spacebar/util";
import { ChannelType, VoiceStateUpdateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/webhooks.ts b/src/api/routes/guilds/#guild_id/webhooks.ts
index 3b29b24a..3ae2ad7e 100644
--- a/src/api/routes/guilds/#guild_id/webhooks.ts
+++ b/src/api/routes/guilds/#guild_id/webhooks.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Webhook } from "@spacebar/database";
import { Config } from "@spacebar/util";
import { WebhookResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/welcome-screen.ts b/src/api/routes/guilds/#guild_id/welcome-screen.ts
index 878d5c98..eac2d6cd 100644
--- a/src/api/routes/guilds/#guild_id/welcome-screen.ts
+++ b/src/api/routes/guilds/#guild_id/welcome-screen.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Guild, Member } from "@spacebar/database";
import { GuildUpdateWelcomeScreenSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/#guild_id/widget.json.ts b/src/api/routes/guilds/#guild_id/widget.json.ts
index 4f875c05..04f103dc 100644
--- a/src/api/routes/guilds/#guild_id/widget.json.ts
+++ b/src/api/routes/guilds/#guild_id/widget.json.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Guild, Member, Invite } from "@spacebar/database";
import { Random } from "@spacebar/extensions";
import { Config, DiscordApiErrors, Permissions } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/widget.png.ts b/src/api/routes/guilds/#guild_id/widget.png.ts
index 58465d45..f808aa99 100644
--- a/src/api/routes/guilds/#guild_id/widget.png.ts
+++ b/src/api/routes/guilds/#guild_id/widget.png.ts
@@ -22,7 +22,7 @@ import fs from "node:fs";
import path from "node:path";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { storage } from "@spacebar/cdn/util/Storage";
import { Guild } from "@spacebar/database";
import { DiscordApiErrors } from "@spacebar/util";
diff --git a/src/api/routes/guilds/#guild_id/widget.ts b/src/api/routes/guilds/#guild_id/widget.ts
index 397c6099..3349f6a8 100644
--- a/src/api/routes/guilds/#guild_id/widget.ts
+++ b/src/api/routes/guilds/#guild_id/widget.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild } from "@spacebar/database";
import { Request, Response, Router } from "express";
import { WidgetModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/automations/email-domain-lookup.ts b/src/api/routes/guilds/automations/email-domain-lookup.ts
index abf4f89f..1078ac53 100644
--- a/src/api/routes/guilds/automations/email-domain-lookup.ts
+++ b/src/api/routes/guilds/automations/email-domain-lookup.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { FieldErrors } from "@spacebar/util";
import emailProviders from "email-providers/all.json";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/guilds/index.ts b/src/api/routes/guilds/index.ts
index f4561691..231ba904 100644
--- a/src/api/routes/guilds/index.ts
+++ b/src/api/routes/guilds/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member } from "@spacebar/database";
import { Config, DiscordApiErrors, getRights } from "@spacebar/util";
import { GuildCreateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/guilds/templates/index.ts b/src/api/routes/guilds/templates/index.ts
index b203e15d..1f9b7042 100644
--- a/src/api/routes/guilds/templates/index.ts
+++ b/src/api/routes/guilds/templates/index.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member, Tag, Template } from "@spacebar/database";
import { Config, DiscordApiErrors } from "@spacebar/util";
import { ChannelType, GuildTemplateCreateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/hub-waitlist.ts b/src/api/routes/hub-waitlist.ts
index d95a7f9d..bae7c991 100644
--- a/src/api/routes/hub-waitlist.ts
+++ b/src/api/routes/hub-waitlist.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { HubWaitlistSignupResponse, HubWaitlistSignupSchema } from "@spacebar/schemas";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts b/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts
index d071bcb4..2de4d3da 100644
--- a/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts
+++ b/src/api/routes/interactions/#interaction_id/#interaction_token/callback.ts
@@ -18,7 +18,8 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { handleComps, route, sendMessage } from "@spacebar/api/util";
+import { handleComps, sendMessage } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Message, User } from "@spacebar/database";
import { InteractionCallbacksSchema, InteractionCallbackType, InteractionFailureReason, MessageType } from "@spacebar/schemas";
import { Config, emitEvent, InteractionSuccessEvent, MessageUpdateEvent, pendingInteractions, InteractionFailureEvent } from "@spacebar/util";
diff --git a/src/api/routes/interactions/index.ts b/src/api/routes/interactions/index.ts
index 4875d211..a44b38ee 100644
--- a/src/api/routes/interactions/index.ts
+++ b/src/api/routes/interactions/index.ts
@@ -19,7 +19,7 @@
import { randomBytes } from "node:crypto";
import { Request, Response, Router } from "express";
import { InteractionFailureReason, InteractionSchema, InteractionType } from "@spacebar/schemas";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member, Message } from "@spacebar/database";
import { Config, emitEvent, getPermission, InteractionCreateEvent, InteractionFailureEvent, Snowflake } from "@spacebar/util";
import { pendingInteractions } from "@spacebar/util/imports/Interactions";
diff --git a/src/api/routes/invites/index.ts b/src/api/routes/invites/index.ts
index 0728d77e..609ffc14 100644
--- a/src/api/routes/invites/index.ts
+++ b/src/api/routes/invites/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Ban, Guild, Invite, PublicInviteRelation } from "@spacebar/database";
import { Config, DiscordApiErrors, emitEvent, getPermission, InviteDeleteEvent } from "@spacebar/util";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/oauth2/applications/@me.ts b/src/api/routes/oauth2/applications/@me.ts
index 1fd4aa84..872cb5b2 100644
--- a/src/api/routes/oauth2/applications/@me.ts
+++ b/src/api/routes/oauth2/applications/@me.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application } from "@spacebar/database";
import { DiscordApiErrors } from "@spacebar/util";
import { PublicUserProjection } from "@spacebar/schemas";
diff --git a/src/api/routes/oauth2/authorize.ts b/src/api/routes/oauth2/authorize.ts
index 38a699b8..5e9a0cab 100644
--- a/src/api/routes/oauth2/authorize.ts
+++ b/src/api/routes/oauth2/authorize.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Application, Member, Role, User } from "@spacebar/database";
import { ApiError, DiscordApiErrors, FieldErrors, Permissions, getPermission } from "@spacebar/util";
import { ApplicationAuthorizeSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/oauth2/tokens.ts b/src/api/routes/oauth2/tokens.ts
index 96ba21e7..0bb98478 100644
--- a/src/api/routes/oauth2/tokens.ts
+++ b/src/api/routes/oauth2/tokens.ts
@@ -17,7 +17,7 @@
*/
import { Router, Request, Response } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
router.get("/", route({}), (req: Request, res: Response) => {
diff --git a/src/api/routes/outbound-promotions.ts b/src/api/routes/outbound-promotions.ts
index 18b7fbd9..a7b19b87 100644
--- a/src/api/routes/outbound-promotions.ts
+++ b/src/api/routes/outbound-promotions.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/partners/#guild_id/requirements.ts b/src/api/routes/partners/#guild_id/requirements.ts
index e0c0a4ae..a5f3d673 100644
--- a/src/api/routes/partners/#guild_id/requirements.ts
+++ b/src/api/routes/partners/#guild_id/requirements.ts
@@ -17,7 +17,7 @@
*/
import { Router, Request, Response } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/ping.ts b/src/api/routes/ping.ts
index c8118249..eea5d9fc 100644
--- a/src/api/routes/ping.ts
+++ b/src/api/routes/ping.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Config } from "@spacebar/util";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/policies/instance/config.ts b/src/api/routes/policies/instance/config.ts
index f1fc0d0f..2b0f1a64 100755
--- a/src/api/routes/policies/instance/config.ts
+++ b/src/api/routes/policies/instance/config.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Config, getRights } from "@spacebar/util";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/policies/instance/domains.ts b/src/api/routes/policies/instance/domains.ts
index b263bb23..c05f1d18 100644
--- a/src/api/routes/policies/instance/domains.ts
+++ b/src/api/routes/policies/instance/domains.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Config } from "@spacebar/util";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/policies/instance/index.ts b/src/api/routes/policies/instance/index.ts
index da3696c9..116e3512 100644
--- a/src/api/routes/policies/instance/index.ts
+++ b/src/api/routes/policies/instance/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Config } from "@spacebar/util";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/policies/instance/limits.ts b/src/api/routes/policies/instance/limits.ts
index 3005a6cd..018be038 100644
--- a/src/api/routes/policies/instance/limits.ts
+++ b/src/api/routes/policies/instance/limits.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Config } from "@spacebar/util";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/policies/stats.ts b/src/api/routes/policies/stats.ts
index 89a23878..5f9f91bb 100644
--- a/src/api/routes/policies/stats.ts
+++ b/src/api/routes/policies/stats.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member, Message, User } from "@spacebar/database";
import { Config, getRights } from "@spacebar/util";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/read-states/ack-bulk.ts b/src/api/routes/read-states/ack-bulk.ts
index 73364efa..5a1cef18 100644
--- a/src/api/routes/read-states/ack-bulk.ts
+++ b/src/api/routes/read-states/ack-bulk.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ReadState } from "@spacebar/database";
import { AckBulkSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/reporting/index.ts b/src/api/routes/reporting/index.ts
index b8c1057d..0b23cafd 100644
--- a/src/api/routes/reporting/index.ts
+++ b/src/api/routes/reporting/index.ts
@@ -20,7 +20,7 @@ import fs from "node:fs";
import path from "node:path";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ReportMenuType, ReportMenuTypeNames, CreateReportSchema } from "@spacebar/schemas";
import { FieldErrors } from "@spacebar/util";
diff --git a/src/api/routes/safety-hub/@me/index.ts b/src/api/routes/safety-hub/@me/index.ts
index 5e83d129..234b6ccd 100644
--- a/src/api/routes/safety-hub/@me/index.ts
+++ b/src/api/routes/safety-hub/@me/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { Request, Response, Router } from "express";
import { AccountStandingResponse, AccountStandingState, AppealEligibility } from "@spacebar/schemas";
diff --git a/src/api/routes/safety-hub/suspended/@me.ts b/src/api/routes/safety-hub/suspended/@me.ts
index 0c7684e9..8b179f73 100644
--- a/src/api/routes/safety-hub/suspended/@me.ts
+++ b/src/api/routes/safety-hub/suspended/@me.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { AccountStandingResponse, AccountStandingState, AppealEligibility } from "@spacebar/schemas";
diff --git a/src/api/routes/scheduled-maintenances/upcoming.json.ts b/src/api/routes/scheduled-maintenances/upcoming.json.ts
index a0d9e5e9..50581c40 100644
--- a/src/api/routes/scheduled-maintenances/upcoming.json.ts
+++ b/src/api/routes/scheduled-maintenances/upcoming.json.ts
@@ -17,7 +17,7 @@
*/
import { Router, Request, Response } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
router.get(
diff --git a/src/api/routes/science.ts b/src/api/routes/science.ts
index 3d609137..2a71d747 100644
--- a/src/api/routes/science.ts
+++ b/src/api/routes/science.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/stage-instances.ts b/src/api/routes/stage-instances.ts
index 18b7fbd9..a7b19b87 100644
--- a/src/api/routes/stage-instances.ts
+++ b/src/api/routes/stage-instances.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/sticker-packs/index.ts b/src/api/routes/sticker-packs/index.ts
index 6b1f9f12..0c756077 100644
--- a/src/api/routes/sticker-packs/index.ts
+++ b/src/api/routes/sticker-packs/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { StickerPack } from "@spacebar/database";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/stickers/#sticker_id/index.ts b/src/api/routes/stickers/#sticker_id/index.ts
index 0deec2f0..20426086 100644
--- a/src/api/routes/stickers/#sticker_id/index.ts
+++ b/src/api/routes/stickers/#sticker_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Sticker } from "@spacebar/database";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/stop.ts b/src/api/routes/stop.ts
index 574bf918..1177496a 100644
--- a/src/api/routes/stop.ts
+++ b/src/api/routes/stop.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { ProcessLifecycle } from "@spacebar/util/util/ProcessLifecycle";
diff --git a/src/api/routes/store/published-listings/applications/#application_id/index.ts b/src/api/routes/store/published-listings/applications/#application_id/index.ts
index f3f2bc19..b006d49e 100644
--- a/src/api/routes/store/published-listings/applications/#application_id/index.ts
+++ b/src/api/routes/store/published-listings/applications/#application_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/store/published-listings/applications/#application_id/subscription-plans.ts b/src/api/routes/store/published-listings/applications/#application_id/subscription-plans.ts
index 73b6b43c..cc6db763 100644
--- a/src/api/routes/store/published-listings/applications/#application_id/subscription-plans.ts
+++ b/src/api/routes/store/published-listings/applications/#application_id/subscription-plans.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/store/published-listings/skus.ts b/src/api/routes/store/published-listings/skus.ts
index 2c354b8b..879866f5 100644
--- a/src/api/routes/store/published-listings/skus.ts
+++ b/src/api/routes/store/published-listings/skus.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts b/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
index 1660c4aa..988129e7 100644
--- a/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
+++ b/src/api/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/teams.ts b/src/api/routes/teams.ts
index 4a668f52..f9ddb78a 100644
--- a/src/api/routes/teams.ts
+++ b/src/api/routes/teams.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Team, TeamMember, User } from "@spacebar/database";
import { TeamCreateSchema, TeamMemberRole, TeamMemberState } from "@spacebar/schemas";
diff --git a/src/api/routes/track.ts b/src/api/routes/track.ts
index 4306068c..d6cd8b19 100644
--- a/src/api/routes/track.ts
+++ b/src/api/routes/track.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/updates.ts b/src/api/routes/updates.ts
index 79b609df..47e1434a 100644
--- a/src/api/routes/updates.ts
+++ b/src/api/routes/updates.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ClientRelease } from "@spacebar/database";
import { FieldErrors } from "@spacebar/util";
diff --git a/src/api/routes/users/#user_id/delete.ts b/src/api/routes/users/#user_id/delete.ts
index ceedb3aa..8265141b 100644
--- a/src/api/routes/users/#user_id/delete.ts
+++ b/src/api/routes/users/#user_id/delete.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { Not } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Emoji, Guild, InstanceBan, Member, Recipient, Sticker, User, UserSettingsProtos } from "@spacebar/database";
import { ChannelDeleteEvent, ChannelRecipientRemoveEvent, emitEvent, UserDeleteEvent } from "@spacebar/util";
import { ChannelType, InstanceUserDeleteSchema, PrivateUserProjection } from "@spacebar/schemas";
diff --git a/src/api/routes/users/#user_id/index.ts b/src/api/routes/users/#user_id/index.ts
index a0d7ba6e..228c87bb 100644
--- a/src/api/routes/users/#user_id/index.ts
+++ b/src/api/routes/users/#user_id/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/users/#user_id/messages.ts b/src/api/routes/users/#user_id/messages.ts
index c15801c0..17512d9f 100644
--- a/src/api/routes/users/#user_id/messages.ts
+++ b/src/api/routes/users/#user_id/messages.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Message, User } from "@spacebar/database";
import { Config } from "@spacebar/util";
import { DmMessagesResponseSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/#user_id/profile.ts b/src/api/routes/users/#user_id/profile.ts
index e2f962d1..1db2a63d 100644
--- a/src/api/routes/users/#user_id/profile.ts
+++ b/src/api/routes/users/#user_id/profile.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { In } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Badge, Member, Relationship, User } from "@spacebar/database";
import { Config, emitEvent, FieldErrors, handleFile, UserUpdateEvent } from "@spacebar/util";
import { PartialConnectedAccountResponse, PrivateUserProjection, PublicUser, PublicUserProjection, RelationshipType, UserProfileModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/#user_id/relationships.ts b/src/api/routes/users/#user_id/relationships.ts
index 999542f6..b5fabe1c 100644
--- a/src/api/routes/users/#user_id/relationships.ts
+++ b/src/api/routes/users/#user_id/relationships.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { Request, Response, Router } from "express";
import { UserRelationsResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/activities/statistics/applications.ts b/src/api/routes/users/@me/activities/statistics/applications.ts
index 5d4c2537..478146a8 100644
--- a/src/api/routes/users/@me/activities/statistics/applications.ts
+++ b/src/api/routes/users/@me/activities/statistics/applications.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/affinities/guilds.ts b/src/api/routes/users/@me/affinities/guilds.ts
index 098c78a5..bf78e8db 100644
--- a/src/api/routes/users/@me/affinities/guilds.ts
+++ b/src/api/routes/users/@me/affinities/guilds.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/affinities/users.ts b/src/api/routes/users/@me/affinities/users.ts
index ffbdd4fe..fb04ffa6 100644
--- a/src/api/routes/users/@me/affinities/users.ts
+++ b/src/api/routes/users/@me/affinities/users.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/applications/#application_id/entitlements.ts b/src/api/routes/users/@me/applications/#application_id/entitlements.ts
index 18b7fbd9..a7b19b87 100644
--- a/src/api/routes/users/@me/applications/#application_id/entitlements.ts
+++ b/src/api/routes/users/@me/applications/#application_id/entitlements.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/billing/country-code.ts b/src/api/routes/users/@me/billing/country-code.ts
index c62d545c..76782e18 100644
--- a/src/api/routes/users/@me/billing/country-code.ts
+++ b/src/api/routes/users/@me/billing/country-code.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { IpDataClient } from "@spacebar/util";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/billing/location-info.ts b/src/api/routes/users/@me/billing/location-info.ts
index 6942aff6..c3fe8b55 100644
--- a/src/api/routes/users/@me/billing/location-info.ts
+++ b/src/api/routes/users/@me/billing/location-info.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { IpDataClient } from "@spacebar/util";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/billing/payment-sources.ts b/src/api/routes/users/@me/billing/payment-sources.ts
index b1a55106..3c6008cf 100644
--- a/src/api/routes/users/@me/billing/payment-sources.ts
+++ b/src/api/routes/users/@me/billing/payment-sources.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/billing/subscriptions.ts b/src/api/routes/users/@me/billing/subscriptions.ts
index 18b7fbd9..a7b19b87 100644
--- a/src/api/routes/users/@me/billing/subscriptions.ts
+++ b/src/api/routes/users/@me/billing/subscriptions.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/channels.ts b/src/api/routes/users/@me/channels.ts
index 9032103d..11cdb1d3 100644
--- a/src/api/routes/users/@me/channels.ts
+++ b/src/api/routes/users/@me/channels.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Recipient } from "@spacebar/database";
import { DmChannelDTO } from "@spacebar/util";
import { DmChannelCreateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/collectibles-marketing.ts b/src/api/routes/users/@me/collectibles-marketing.ts
index 1260eb82..1dd2c7ca 100644
--- a/src/api/routes/users/@me/collectibles-marketing.ts
+++ b/src/api/routes/users/@me/collectibles-marketing.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
import { CollectiblesMarketingResponse } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/collectibles-purchases.ts b/src/api/routes/users/@me/collectibles-purchases.ts
index 29c2edcb..bfbb969b 100644
--- a/src/api/routes/users/@me/collectibles-purchases.ts
+++ b/src/api/routes/users/@me/collectibles-purchases.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts b/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts
index a826c3f8..923e4e06 100644
--- a/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts
+++ b/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ConnectedAccount } from "@spacebar/database";
import { ApiError, ConnectionStore, DiscordApiErrors, FieldErrors, RefreshableConnection } from "@spacebar/util";
diff --git a/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts b/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts
index 857cc003..12094d3f 100644
--- a/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts
+++ b/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ConnectedAccount } from "@spacebar/database";
import { DiscordApiErrors, emitEvent } from "@spacebar/util";
import { ConnectionUpdateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/connections/index.ts b/src/api/routes/users/@me/connections/index.ts
index 012a3d6c..24b1eb55 100644
--- a/src/api/routes/users/@me/connections/index.ts
+++ b/src/api/routes/users/@me/connections/index.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { ConnectedAccount } from "@spacebar/database";
import { ConnectedAccountDTO } from "@spacebar/util";
diff --git a/src/api/routes/users/@me/delete.ts b/src/api/routes/users/@me/delete.ts
index 4007c436..e0887900 100644
--- a/src/api/routes/users/@me/delete.ts
+++ b/src/api/routes/users/@me/delete.ts
@@ -19,7 +19,7 @@
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member, User, UserSettingsProtos } from "@spacebar/database";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/devices.ts b/src/api/routes/users/@me/devices.ts
index c9f24976..a4108835 100644
--- a/src/api/routes/users/@me/devices.ts
+++ b/src/api/routes/users/@me/devices.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/disable.ts b/src/api/routes/users/@me/disable.ts
index 83f460c1..2eca7db1 100644
--- a/src/api/routes/users/@me/disable.ts
+++ b/src/api/routes/users/@me/disable.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
diff --git a/src/api/routes/users/@me/email-settings.ts b/src/api/routes/users/@me/email-settings.ts
index 6bab5f90..71223df6 100644
--- a/src/api/routes/users/@me/email-settings.ts
+++ b/src/api/routes/users/@me/email-settings.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/entitlements.ts b/src/api/routes/users/@me/entitlements.ts
index 1f420534..fc11e9a0 100644
--- a/src/api/routes/users/@me/entitlements.ts
+++ b/src/api/routes/users/@me/entitlements.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/guilds.ts b/src/api/routes/users/@me/guilds.ts
index 592bb722..fa9eb048 100644
--- a/src/api/routes/users/@me/guilds.ts
+++ b/src/api/routes/users/@me/guilds.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Guild, Member } from "@spacebar/database";
import { Config } from "@spacebar/util";
diff --git a/src/api/routes/users/@me/guilds/#guild_id/settings.ts b/src/api/routes/users/@me/guilds/#guild_id/settings.ts
index b3abd726..eb3694b5 100644
--- a/src/api/routes/users/@me/guilds/#guild_id/settings.ts
+++ b/src/api/routes/users/@me/guilds/#guild_id/settings.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Member } from "@spacebar/database";
import { OrmUtils } from "@spacebar/util";
import { UserGuildSettingsSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/guilds/premium/subscription-slots.ts b/src/api/routes/users/@me/guilds/premium/subscription-slots.ts
index 5d4c2537..478146a8 100644
--- a/src/api/routes/users/@me/guilds/premium/subscription-slots.ts
+++ b/src/api/routes/users/@me/guilds/premium/subscription-slots.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts
index 29a05ccb..2ed525e8 100644
--- a/src/api/routes/users/@me/index.ts
+++ b/src/api/routes/users/@me/index.ts
@@ -18,7 +18,7 @@
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User } from "@spacebar/database";
import { Config, emitEvent, FieldErrors, generateToken, handleFile, UserUpdateEvent } from "@spacebar/util";
import { DisplayNameStyle, PrivateUserProjection, UserModifySchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/library.ts b/src/api/routes/users/@me/library.ts
index 9c28cb98..4c7eb66a 100644
--- a/src/api/routes/users/@me/library.ts
+++ b/src/api/routes/users/@me/library.ts
@@ -17,7 +17,7 @@
*/
import { Router, Response, Request } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/mentions.ts b/src/api/routes/users/@me/mentions.ts
index c372abe8..30aceaa7 100644
--- a/src/api/routes/users/@me/mentions.ts
+++ b/src/api/routes/users/@me/mentions.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { In, LessThan, FindOptionsWhere } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Message, Member, Channel, Attachment } from "@spacebar/database";
import { Snowflake, Permissions, NewUrlUserSignatureData } from "@spacebar/util";
import { Stopwatch } from "@spacebar/extensions";
diff --git a/src/api/routes/users/@me/mfa/codes-verification.ts b/src/api/routes/users/@me/mfa/codes-verification.ts
index d84aa26a..b5fe6ca6 100644
--- a/src/api/routes/users/@me/mfa/codes-verification.ts
+++ b/src/api/routes/users/@me/mfa/codes-verification.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { BackupCode, generateMfaBackupCodes, User } from "@spacebar/database";
import { DiscordApiErrors } from "@spacebar/util";
import { CodesVerificationSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/mfa/codes.ts b/src/api/routes/users/@me/mfa/codes.ts
index 73cde9d4..0b92d499 100644
--- a/src/api/routes/users/@me/mfa/codes.ts
+++ b/src/api/routes/users/@me/mfa/codes.ts
@@ -18,7 +18,7 @@
import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { BackupCode, generateMfaBackupCodes, User } from "@spacebar/database";
import { FieldErrors } from "@spacebar/util";
import { MfaCodesSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/mfa/totp/disable.ts b/src/api/routes/users/@me/mfa/totp/disable.ts
index 6fa9f693..e3c911c0 100644
--- a/src/api/routes/users/@me/mfa/totp/disable.ts
+++ b/src/api/routes/users/@me/mfa/totp/disable.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { verifyToken } from "node-2fa";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { BackupCode, User } from "@spacebar/database";
import { generateToken } from "@spacebar/util";
import { TotpDisableSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/mfa/totp/enable.ts b/src/api/routes/users/@me/mfa/totp/enable.ts
index 472360c2..a55a9ff6 100644
--- a/src/api/routes/users/@me/mfa/totp/enable.ts
+++ b/src/api/routes/users/@me/mfa/totp/enable.ts
@@ -20,7 +20,7 @@ import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { verifyToken } from "node-2fa";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { User, generateMfaBackupCodes } from "@spacebar/database";
import { generateToken } from "@spacebar/util";
import { TotpEnableSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts b/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts
index 32e60af5..5f7ec708 100644
--- a/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts
+++ b/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { SecurityKey, User } from "@spacebar/database";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts b/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
index a7f1c20a..fb3f0652 100644
--- a/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
+++ b/src/api/routes/users/@me/mfa/webauthn/credentials/index.ts
@@ -20,7 +20,7 @@ import bcrypt from "bcrypt";
import { Request, Response, Router } from "express";
import { ExpectedAttestationResult } from "fido2-lib";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { SecurityKey, User } from "@spacebar/database";
import { DiscordApiErrors, FieldErrors, generateWebAuthnTicket, verifyWebAuthnToken, WebAuthn } from "@spacebar/util";
import { CreateWebAuthnCredentialSchema, GenerateWebAuthnCredentialsSchema, WebAuthnPostSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/notes.ts b/src/api/routes/users/@me/notes.ts
index 667bf163..8ab8bc5b 100644
--- a/src/api/routes/users/@me/notes.ts
+++ b/src/api/routes/users/@me/notes.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Note, User } from "@spacebar/database";
import { Snowflake, emitEvent } from "@spacebar/util";
diff --git a/src/api/routes/users/@me/relationships.ts b/src/api/routes/users/@me/relationships.ts
index 31951418..07aa59f4 100644
--- a/src/api/routes/users/@me/relationships.ts
+++ b/src/api/routes/users/@me/relationships.ts
@@ -18,7 +18,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Relationship, User } from "@spacebar/database";
import { Config, DiscordApiErrors, RelationshipAddEvent, RelationshipRemoveEvent, RelationshipUpdateEvent, emitEvent } from "@spacebar/util";
import { PublicUserProjection, RelationshipType, RelationshipPatchSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/settings-proto/1.ts b/src/api/routes/users/@me/settings-proto/1.ts
index e4879baa..b0164bc4 100644
--- a/src/api/routes/users/@me/settings-proto/1.ts
+++ b/src/api/routes/users/@me/settings-proto/1.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { PreloadedUserSettings } from "discord-protos";
import { JsonValue } from "@protobuf-ts/runtime";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { UserSettingsProtos } from "@spacebar/database";
import { emitEvent, OrmUtils } from "@spacebar/util";
import { SettingsProtoJsonResponse, SettingsProtoResponse, SettingsProtoUpdateJsonSchema, SettingsProtoUpdateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/settings-proto/2.ts b/src/api/routes/users/@me/settings-proto/2.ts
index d242ec35..aa9a0946 100644
--- a/src/api/routes/users/@me/settings-proto/2.ts
+++ b/src/api/routes/users/@me/settings-proto/2.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { FrecencyUserSettings } from "discord-protos";
import { JsonValue } from "@protobuf-ts/runtime";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { UserSettingsProtos } from "@spacebar/database";
import { emitEvent, OrmUtils } from "@spacebar/util";
import { SettingsProtoJsonResponse, SettingsProtoResponse, SettingsProtoUpdateJsonSchema, SettingsProtoUpdateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/users/@me/settings.ts b/src/api/routes/users/@me/settings.ts
index 6bbc8ea0..c4dfb5da 100644
--- a/src/api/routes/users/@me/settings.ts
+++ b/src/api/routes/users/@me/settings.ts
@@ -17,7 +17,7 @@
*/
import { Request, Response, Router } from "express";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Session, User, UserSettings } from "@spacebar/database";
import { emitEvent, PresenceUpdateEvent } from "@spacebar/util";
import { UserSettingsUpdateSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/voice/regions.ts b/src/api/routes/voice/regions.ts
index 4ef6d60f..dfde3082 100644
--- a/src/api/routes/voice/regions.ts
+++ b/src/api/routes/voice/regions.ts
@@ -16,7 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { getVoiceRegions, route } from "@spacebar/api/util";
+import { getVoiceRegions } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router: Router = Router({ mergeParams: true });
diff --git a/src/api/routes/warp/license.ts b/src/api/routes/warp/license.ts
index 0d92ed16..4b757f8a 100644
--- a/src/api/routes/warp/license.ts
+++ b/src/api/routes/warp/license.ts
@@ -16,7 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
diff --git a/src/api/routes/webhooks/#webhook_id/#webhook_token/github.ts b/src/api/routes/webhooks/#webhook_id/#webhook_token/github.ts
index 140d3618..ac0b7c35 100644
--- a/src/api/routes/webhooks/#webhook_id/#webhook_token/github.ts
+++ b/src/api/routes/webhooks/#webhook_id/#webhook_token/github.ts
@@ -1,6 +1,7 @@
import { NextFunction, Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
-import { getProxyUrl, route } from "@spacebar/api/util";
+import { getProxyUrl } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { EmbedType, WebhookExecuteSchema } from "@spacebar/schemas";
import { executeWebhook } from "../../../../util/handlers/Webhook";
diff --git a/src/api/routes/webhooks/#webhook_id/#webhook_token/index.ts b/src/api/routes/webhooks/#webhook_id/#webhook_token/index.ts
index 73763f0b..f5f31551 100644
--- a/src/api/routes/webhooks/#webhook_id/#webhook_token/index.ts
+++ b/src/api/routes/webhooks/#webhook_id/#webhook_token/index.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import multer from "multer";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Webhook, Message } from "@spacebar/database";
import { Config, DiscordApiErrors, emitEvent, handleFile, ValidateName, WebhooksUpdateEvent } from "@spacebar/util";
import { executeWebhook } from "@spacebar/api/util/handlers/Webhook";
diff --git a/src/api/routes/webhooks/#webhook_id/#webhook_token/messages/#message_id.ts b/src/api/routes/webhooks/#webhook_id/#webhook_token/messages/#message_id.ts
index 929719e5..5ada4aa0 100644
--- a/src/api/routes/webhooks/#webhook_id/#webhook_token/messages/#message_id.ts
+++ b/src/api/routes/webhooks/#webhook_id/#webhook_token/messages/#message_id.ts
@@ -19,7 +19,8 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import multer from "multer";
-import { handleMessage, postHandleMessage, route } from "@spacebar/api/util";
+import { handleMessage, postHandleMessage } from "@spacebar/api/util";
+import { route } from "@spacebar/api/middlewares";
import { Channel, Message, Webhook } from "@spacebar/database";
import { MessageDeleteEvent, MessageUpdateEvent, emitEvent, DiscordApiErrors } from "@spacebar/util";
import { ChannelType, PublicMessage, WebhookExecuteSchema } from "@spacebar/schemas";
diff --git a/src/api/routes/webhooks/#webhook_id/index.ts b/src/api/routes/webhooks/#webhook_id/index.ts
index 674fba81..5d402be3 100644
--- a/src/api/routes/webhooks/#webhook_id/index.ts
+++ b/src/api/routes/webhooks/#webhook_id/index.ts
@@ -19,7 +19,7 @@
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server/HTTPError";
import { In } from "typeorm";
-import { route } from "@spacebar/api/util/handlers/route";
+import { route } from "@spacebar/api/middlewares";
import { Webhook, Channel, Message } from "@spacebar/database";
import { Config, DiscordApiErrors, getPermission, WebhooksUpdateEvent, emitEvent, handleFile, ValidateName, MessageDeleteBulkEvent } from "@spacebar/util";
import { WebhookResponse, WebhookUpdateSchema } from "@spacebar/schemas";
|