Fix custom parser OpenAPI types and add structured default response schema

Agent-Logs-Url: https://github.com/fosrl/pangolin/sessions/73990123-9c27-444b-bc6e-77e890a0d57c

Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-05-17 06:38:44 +00:00
committed by GitHub
parent 82745c701a
commit 9cec711427
66 changed files with 98 additions and 76 deletions

View File

@@ -10,7 +10,7 @@ import { eq } from "drizzle-orm";
import { fromError } from "zod-validation-error";
const addRoleActionParamSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
const addRoleActionSchema = z.strictObject({

View File

@@ -10,11 +10,11 @@ import { eq } from "drizzle-orm";
import { fromError } from "zod-validation-error";
const addRoleSiteParamsSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
const addRoleSiteSchema = z.strictObject({
siteId: z.string().transform(Number).pipe(z.int().positive())
siteId: z.coerce.number().int().positive()
});
export async function addRoleSite(

View File

@@ -11,11 +11,11 @@ import { fromError } from "zod-validation-error";
import { OpenAPITags, registry } from "@server/openApi";
const deleteRoleSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
const deelteRoleBodySchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
registry.registerPath({

View File

@@ -11,7 +11,7 @@ import { fromError } from "zod-validation-error";
import { OpenAPITags, registry } from "@server/openApi";
const getRoleSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
registry.registerPath({

View File

@@ -10,7 +10,7 @@ import logger from "@server/logger";
import { fromError } from "zod-validation-error";
const listRoleActionsSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
export async function listRoleActions(

View File

@@ -10,7 +10,7 @@ import logger from "@server/logger";
import { fromError } from "zod-validation-error";
const listRoleResourcesSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
export async function listRoleResources(

View File

@@ -10,7 +10,7 @@ import logger from "@server/logger";
import { fromError } from "zod-validation-error";
const listRoleSitesSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
export async function listRoleSites(

View File

@@ -10,7 +10,7 @@ import logger from "@server/logger";
import { fromError } from "zod-validation-error";
const removeRoleActionParamsSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
const removeRoleActionSchema = z.strictObject({

View File

@@ -10,11 +10,11 @@ import logger from "@server/logger";
import { fromError } from "zod-validation-error";
const removeRoleResourceParamsSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
const removeRoleResourceSchema = z.strictObject({
resourceId: z.string().transform(Number).pipe(z.int().positive())
resourceId: z.coerce.number().int().positive()
});
export async function removeRoleResource(

View File

@@ -10,11 +10,11 @@ import logger from "@server/logger";
import { fromError } from "zod-validation-error";
const removeRoleSiteParamsSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
const removeRoleSiteSchema = z.strictObject({
siteId: z.string().transform(Number).pipe(z.int().positive())
siteId: z.coerce.number().int().positive()
});
export async function removeRoleSite(

View File

@@ -14,7 +14,7 @@ import { OpenAPITags, registry } from "@server/openApi";
import { tierMatrix } from "@server/lib/billing/tierMatrix";
const updateRoleParamsSchema = z.strictObject({
roleId: z.string().transform(Number).pipe(z.int().positive())
roleId: z.coerce.number().int().positive()
});
const sshSudoModeSchema = z.enum(["none", "full", "commands"]);