feat(11.1-02): update prepare route to fetch agentInitialsData, add 422 guard, pass to preparePdf
- Fetch agentInitialsData alongside agentSignatureData in single DB query
- Add 422 guard returning { error: 'agent-initials-missing' } when agent-initials fields present but no initials saved
- Pass agentInitialsData as 6th arg to preparePdf()
This commit is contained in:
@@ -40,12 +40,13 @@ export async function POST(
|
||||
const sigFields = (doc.signatureFields as import('@/lib/db/schema').SignatureFieldData[]) ?? [];
|
||||
const textFields = body.textFillData ?? {};
|
||||
|
||||
// Fetch agent's saved signature for embedding at agent-signature field coordinates
|
||||
// Fetch agent's saved signature and initials for embedding at agent-owned field coordinates
|
||||
const agentUser = await db.query.users.findFirst({
|
||||
where: eq(users.id, session.user.id),
|
||||
columns: { agentSignatureData: true },
|
||||
columns: { agentSignatureData: true, agentInitialsData: true },
|
||||
});
|
||||
const agentSignatureData = agentUser?.agentSignatureData ?? null;
|
||||
const agentInitialsData = agentUser?.agentInitialsData ?? null;
|
||||
|
||||
// Guard: if document has agent-signature fields but no signature saved, block prepare
|
||||
const hasAgentSigFields = sigFields.some(f => getFieldType(f) === 'agent-signature');
|
||||
@@ -56,7 +57,16 @@ export async function POST(
|
||||
);
|
||||
}
|
||||
|
||||
await preparePdf(srcPath, destPath, textFields, sigFields, agentSignatureData);
|
||||
// Guard: agent-initials fields present but no initials saved
|
||||
const hasAgentInitialsFields = sigFields.some(f => getFieldType(f) === 'agent-initials');
|
||||
if (hasAgentInitialsFields && !agentInitialsData) {
|
||||
return Response.json(
|
||||
{ error: 'agent-initials-missing', message: 'No agent initials saved. Go to Profile to save your initials first.' },
|
||||
{ status: 422 }
|
||||
);
|
||||
}
|
||||
|
||||
await preparePdf(srcPath, destPath, textFields, sigFields, agentSignatureData, agentInitialsData);
|
||||
|
||||
const [updated] = await db
|
||||
.update(documents)
|
||||
|
||||
Reference in New Issue
Block a user