From 924ff9b2d42ab83c173d0f614af056f0da92f845 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Thu, 13 Jun 2024 18:03:17 -1000 Subject: [PATCH] refactor(api): :truck: Change ApiRouteMetadata structure to be more consistent --- server/api/api/v1/statuses/:id/index.ts | 5 ++++- types/api.ts | 4 +++- utils/api.ts | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/server/api/api/v1/statuses/:id/index.ts b/server/api/api/v1/statuses/:id/index.ts index 49c79e5c..f3126342 100644 --- a/server/api/api/v1/statuses/:id/index.ts +++ b/server/api/api/v1/statuses/:id/index.ts @@ -25,7 +25,10 @@ export const meta = applyConfig({ route: "/api/v1/statuses/:id", auth: { required: false, - requiredOnMethods: ["DELETE", "PUT"], + methodOverrides: { + DELETE: true, + PUT: true, + }, }, permissions: { required: [RolePermissions.ViewNotes], diff --git a/types/api.ts b/types/api.ts index 66f1db51..4e33e5f2 100644 --- a/types/api.ts +++ b/types/api.ts @@ -13,7 +13,9 @@ export interface ApiRouteMetadata { route: string; auth: { required: boolean; - requiredOnMethods?: HttpVerb[]; + methodOverrides?: { + [Key in HttpVerb]?: boolean; + }; oauthPermissions?: string[]; }; permissions?: { diff --git a/utils/api.ts b/utils/api.ts index 2315fb80..2a2cfecd 100644 --- a/utils/api.ts +++ b/utils/api.ts @@ -158,7 +158,7 @@ const checkRouteNeedsAuth = ( ); } - if (authData.requiredOnMethods?.includes(context.req.method as HttpVerb)) { + if (authData.methodOverrides?.[context.req.method as HttpVerb]) { return context.json( { error: "Unauthorized",