import { NextRequest, NextResponse } from 'next/server'; import { withAuth } from '@/lib/api/helpers'; import { errorResponse, NotFoundError } from '@/lib/errors'; import { setValuesSchema } from '@/lib/validators/custom-fields'; import { getValues, setValues } from '@/lib/services/custom-fields.service'; export const GET = withAuth(async (_req: NextRequest, ctx, params) => { try { const { entityId } = params; if (!entityId) throw new NotFoundError('Entity'); const data = await getValues(entityId, ctx.portId); return NextResponse.json({ data }); } catch (error) { return errorResponse(error); } }); export const PUT = withAuth(async (req: NextRequest, ctx, params) => { try { const { entityId } = params; if (!entityId) throw new NotFoundError('Entity'); const body = await req.json(); const { values } = setValuesSchema.parse(body); const result = await setValues( entityId, ctx.portId, ctx.userId, values as Array<{ fieldId: string; value: unknown }>, { userId: ctx.userId, portId: ctx.portId, ipAddress: ctx.ipAddress, userAgent: ctx.userAgent, }, ); return NextResponse.json({ data: result }); } catch (error) { return errorResponse(error); } });