DRY up ZodError → FieldError mapping

Five journal API route handlers had the same inline lambda:

    parsed.error.issues.map((i) => ({
      field: i.path.join("."),
      message: i.message,
    }))

Pull it into `zodIssuesToFieldErrors(error)` next to FieldError in
`@trails-cool/api/errors.ts` and re-export it so all five handlers
share the same implementation. The path-flattening rule now lives in
one place, and new routes get it for free.

Public error-response shape is unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-04-19 11:45:09 +02:00
parent 079c3de90c
commit edd2cabf12
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
7 changed files with 23 additions and 8 deletions

View file

@ -4,6 +4,7 @@ export { ENDPOINTS } from "./endpoints.ts";
// Error schemas
export {
ApiErrorResponseSchema, FieldErrorSchema, ERROR_CODES,
zodIssuesToFieldErrors,
type ApiErrorResponse, type FieldError,
} from "./errors.ts";