OpenAPI Generierung verbessert

This commit is contained in:
Moritz Utcke
2025-01-24 14:04:58 +07:00
parent bd60df1ef4
commit 6f3ddedd96
15 changed files with 1595 additions and 26 deletions

View File

@@ -1,4 +1,4 @@
import { OptionalNullable, VerbrauchsausweisWohnenClient, ZodOverlap } from "#components/Ausweis/types.js";
import { OptionalNullable, UUidWithPrefix, VerbrauchsausweisWohnenClient, ZodOverlap } from "#components/Ausweis/types.js";
import { exclude } from "#lib/exclude.js";
import { authorizationMiddleware } from "#lib/middleware/authorization.js";
import { prisma, VerbrauchsausweisWohnenSchema } from "@ibcornelsen/database/server";
@@ -61,9 +61,9 @@ export const GET = defineApiRoute({
}
},
output: ZodOverlap<OptionalNullable<VerbrauchsausweisWohnenClient>>(VerbrauchsausweisWohnenSchema.merge(z.object({
uid_aufnahme: z.string().uuid(),
uid_objekt: z.string().uuid(),
uid_benutzer: z.string().uuid().optional()
uid_aufnahme: UUidWithPrefix,
uid_objekt: UUidWithPrefix,
uid_benutzer: UUidWithPrefix.optional()
})).omit({
id: true,
aufnahme_id: true,

View File

@@ -1,4 +1,5 @@
import { authorizationMiddleware } from "#lib/middleware/authorization.js";
import { UUidWithPrefix } from "#components/Ausweis/types.js";
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
import { prisma, VerbrauchsausweisWohnenSchema } from "@ibcornelsen/database/server";
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
import { z } from "zod";
@@ -21,13 +22,14 @@ export const PUT = defineApiRoute({
uid: true,
aufnahme_id: true
}),
uid_aufnahme: z.string().uuid()
uid_aufnahme: UUidWithPrefix
}),
output: z.object({
uid: z.string().uuid(),
objekt_uid: z.string().uuid(),
aufnahme_uid: z.string().uuid(),
uid: UUidWithPrefix,
objekt_uid: UUidWithPrefix,
aufnahme_uid: UUidWithPrefix,
}),
headers: authorizationHeaders,
middleware: authorizationMiddleware,
async fetch(input, ctx, user) {
const aufnahme = await prisma.aufnahme.findUnique({