diff --git a/src/api/util/handlers/route.ts b/src/api/util/handlers/route.ts
index c245b411..5dcae953 100644
--- a/src/api/util/handlers/route.ts
+++ b/src/api/util/handlers/route.ts
@@ -10,7 +10,7 @@ import {
PermissionResolvable,
Permissions,
RightResolvable,
- Rights
+ Rights,
} from "@fosscord/util";
import { NextFunction, Request, Response } from "express";
import { AnyValidateFunction } from "ajv/dist/core";
@@ -23,7 +23,11 @@ declare global {
}
}
-export type RouteResponse = { status?: number; body?: `${string}Response`; headers?: Record<string, string> };
+export type RouteResponse = {
+ status?: number;
+ body?: `${string}Response`;
+ headers?: Record<string, string>;
+};
export interface RouteOptions {
permission?: PermissionResolvable;
@@ -48,11 +52,17 @@ export function route(opts: RouteOptions) {
return async (req: Request, res: Response, next: NextFunction) => {
if (opts.permission) {
const required = new Permissions(opts.permission);
- req.permission = await getPermission(req.user_id, req.params.guild_id, req.params.channel_id);
+ req.permission = await getPermission(
+ req.user_id,
+ req.params.guild_id,
+ req.params.channel_id,
+ );
// bitfield comparison: check if user lacks certain permission
if (!req.permission.has(required)) {
- throw DiscordApiErrors.MISSING_PERMISSIONS.withParams(opts.permission as string);
+ throw DiscordApiErrors.MISSING_PERMISSIONS.withParams(
+ opts.permission as string,
+ );
}
}
@@ -61,15 +71,26 @@ export function route(opts: RouteOptions) {
req.rights = await getRights(req.user_id);
if (!req.rights || !req.rights.has(required)) {
- throw FosscordApiErrors.MISSING_RIGHTS.withParams(opts.right as string);
+ throw FosscordApiErrors.MISSING_RIGHTS.withParams(
+ opts.right as string,
+ );
}
}
if (validate) {
const valid = validate(normalizeBody(req.body));
if (!valid) {
- const fields: Record<string, { code?: string; message: string }> = {};
- validate.errors?.forEach((x) => (fields[x.instancePath.slice(1)] = { code: x.keyword, message: x.message || "" }));
+ const fields: Record<
+ string,
+ { code?: string; message: string }
+ > = {};
+ validate.errors?.forEach(
+ (x) =>
+ (fields[x.instancePath.slice(1)] = {
+ code: x.keyword,
+ message: x.message || "",
+ }),
+ );
throw FieldErrors(fields);
}
}
|