From 3a633682dbcabde9c57df83899998f45e52249a8 Mon Sep 17 00:00:00 2001 From: Davoski1 Date: Sat, 29 Aug 2026 18:02:08 +0100 Subject: [PATCH] fix(jobs): integrate zod schema middleware with validateWithFields in partial-release route (Issue #115) --- __tests__/partial-release.test.ts | 18 ++++++++++++++++++ src/routes/jobs.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/__tests__/partial-release.test.ts b/__tests__/partial-release.test.ts index d213862..472e5b9 100644 --- a/__tests__/partial-release.test.ts +++ b/__tests__/partial-release.test.ts @@ -114,6 +114,9 @@ describe("POST /api/jobs/:contractId/milestones/:index/partial-release", () => { message: "amount must be a positive integer", }, ], + fields: { + amount: "amount must be a positive integer", + }, }); }); @@ -132,6 +135,9 @@ describe("POST /api/jobs/:contractId/milestones/:index/partial-release", () => { message: "amount must be a positive integer", }, ], + fields: { + amount: "amount must be a positive integer", + }, }); }); @@ -150,6 +156,9 @@ describe("POST /api/jobs/:contractId/milestones/:index/partial-release", () => { message: "amount must be a positive integer", }, ], + fields: { + amount: "amount must be a positive integer", + }, }); }); @@ -168,6 +177,9 @@ describe("POST /api/jobs/:contractId/milestones/:index/partial-release", () => { message: "amount must be a positive integer", }, ], + fields: { + amount: "amount must be a positive integer", + }, }); }); @@ -186,6 +198,9 @@ describe("POST /api/jobs/:contractId/milestones/:index/partial-release", () => { message: "sourceAddress is required", }, ], + fields: { + sourceAddress: "sourceAddress is required", + }, }); }); @@ -204,6 +219,9 @@ describe("POST /api/jobs/:contractId/milestones/:index/partial-release", () => { message: "sourceAddress must be a valid Stellar account address (G...)", }, ], + fields: { + sourceAddress: "sourceAddress must be a valid Stellar account address (G...)", + }, }); }); diff --git a/src/routes/jobs.ts b/src/routes/jobs.ts index 33403f9..3d108fc 100644 --- a/src/routes/jobs.ts +++ b/src/routes/jobs.ts @@ -1019,7 +1019,7 @@ router.post( validate(contractMilestoneParamsSchema, "params", (req) => logger.warn("Invalid params for partial-release", { params: req.params }), ), - validate(partialReleaseBodySchema, "body", (req) => + validateWithFields(partialReleaseBodySchema, "body", (req) => logger.warn("Invalid body for partial-release", { body: req.body }), ), async (req: Request, res: Response) => {