From 8a3c0d9a08d54d27725f3e09a50dbcdea2410e22 Mon Sep 17 00:00:00 2001 From: Fred KISSIE Date: Thu, 5 Mar 2026 17:51:55 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20add=20openapi=20schema=20t?= =?UTF-8?q?ypes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/routers/policy/getResourcePolicy.ts | 9 ++++++++- server/routers/policy/setResourcePolicyAccessControl.ts | 9 +++++++-- server/routers/policy/setResourcePolicyRules.ts | 5 ++++- server/routers/site/listSites.ts | 6 ++++-- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/server/routers/policy/getResourcePolicy.ts b/server/routers/policy/getResourcePolicy.ts index 02c370199..c5b567a16 100644 --- a/server/routers/policy/getResourcePolicy.ts +++ b/server/routers/policy/getResourcePolicy.ts @@ -28,7 +28,14 @@ const getResourcePolicySchema = z }) .or( z.strictObject({ - resourcePolicyId: z.coerce.number().int().positive() + resourcePolicyId: z.coerce + .number() + .int() + .positive() + .openapi({ + type: "integer", + description: "Resource policy ID" + }) }) ); diff --git a/server/routers/policy/setResourcePolicyAccessControl.ts b/server/routers/policy/setResourcePolicyAccessControl.ts index 1f91d8ccc..6c0e19b68 100644 --- a/server/routers/policy/setResourcePolicyAccessControl.ts +++ b/server/routers/policy/setResourcePolicyAccessControl.ts @@ -22,8 +22,13 @@ import { OpenAPITags, registry } from "@server/openApi"; const setResourcePolicyAcccessControlBodySchema = z.strictObject({ sso: z.boolean(), userIds: z.array(z.string()), - roleIds: z.array(z.int().positive()), - skipToIdpId: z.int().positive().optional().nullish() + roleIds: z.array(z.int().positive()).openapi({ + type: "array" + }), + skipToIdpId: z.int().positive().optional().nullable().openapi({ + type: "integer", + description: "Page number to retrieve" + }) }); const setResourcePolicyAccessControlParamsSchema = z.strictObject({ diff --git a/server/routers/policy/setResourcePolicyRules.ts b/server/routers/policy/setResourcePolicyRules.ts index 147a67814..61ed9bece 100644 --- a/server/routers/policy/setResourcePolicyRules.ts +++ b/server/routers/policy/setResourcePolicyRules.ts @@ -26,7 +26,10 @@ const ruleSchema = z.strictObject({ description: "rule match" }), value: z.string().min(1), - priority: z.int(), + priority: z.int().openapi({ + type: "integer", + description: "Rule priority" + }), enabled: z.boolean().optional() }); diff --git a/server/routers/site/listSites.ts b/server/routers/site/listSites.ts index 9ff7a6933..dc6b62ba8 100644 --- a/server/routers/site/listSites.ts +++ b/server/routers/site/listSites.ts @@ -97,7 +97,7 @@ const listSitesSchema = z.object({ page: z.coerce .number() // for prettier formatting .int() - .min(0) + .positive() .optional() .catch(1) .default(1) @@ -278,7 +278,9 @@ export async function listSites( // we need to add `as` so that drizzle filters the result as a subquery const countQuery = db.$count( - querySitesBase().where(and(...conditions)).as("filtered_sites") + querySitesBase() + .where(and(...conditions)) + .as("filtered_sites") ); const siteListQuery = baseQuery