fix: update create envelope item endpoint to use formdata

This commit is contained in:
David Nguyen
2025-11-05 22:10:17 +11:00
parent fc2e9af6a0
commit db2f912a08
10 changed files with 84 additions and 127 deletions

View File

@ -23,7 +23,7 @@ type EnvelopeRenderOverrideSettings = {
type EnvelopeRenderItem = TEnvelope['envelopeItems'][number];
type EnvelopeRenderProviderValue = {
getPdfBuffer: (documentDataId: string) => FileData | null;
getPdfBuffer: (envelopeItemId: string) => FileData | null;
envelopeItems: EnvelopeRenderItem[];
currentEnvelopeItem: EnvelopeRenderItem | null;
setCurrentEnvelopeItem: (envelopeItemId: string) => void;
@ -103,14 +103,14 @@ export const EnvelopeRenderProvider = ({
);
const loadEnvelopeItemPdfFile = async (envelopeItem: EnvelopeRenderItem) => {
if (files[envelopeItem.documentDataId]?.status === 'loading') {
if (files[envelopeItem.id]?.status === 'loading') {
return;
}
if (!files[envelopeItem.documentDataId]) {
if (!files[envelopeItem.id]) {
setFiles((prev) => ({
...prev,
[envelopeItem.documentDataId]: {
[envelopeItem.id]: {
status: 'loading',
},
}));
@ -129,7 +129,7 @@ export const EnvelopeRenderProvider = ({
setFiles((prev) => ({
...prev,
[envelopeItem.documentDataId]: {
[envelopeItem.id]: {
file: new Uint8Array(file),
status: 'loaded',
},
@ -139,7 +139,7 @@ export const EnvelopeRenderProvider = ({
setFiles((prev) => ({
...prev,
[envelopeItem.documentDataId]: {
[envelopeItem.id]: {
status: 'error',
},
}));
@ -147,8 +147,8 @@ export const EnvelopeRenderProvider = ({
};
const getPdfBuffer = useCallback(
(documentDataId: string) => {
return files[documentDataId] || null;
(envelopeItemId: string) => {
return files[envelopeItemId] || null;
},
[files],
);
@ -168,7 +168,7 @@ export const EnvelopeRenderProvider = ({
// Look for any missing pdf files and load them.
useEffect(() => {
const missingFiles = envelope.envelopeItems.filter((item) => !files[item.documentDataId]);
const missingFiles = envelope.envelopeItems.filter((item) => !files[item.id]);
for (const item of missingFiles) {
void loadEnvelopeItemPdfFile(item);

View File

@ -74,7 +74,6 @@ export const ZEnvelopeForSigningResponse = z.object({
envelopeId: true,
id: true,
title: true,
documentDataId: true,
order: true,
}).array(),

View File

@ -6,8 +6,8 @@ import { EnvelopeSchema } from '@documenso/prisma/generated/zod/modelSchema/Enve
import { TeamSchema } from '@documenso/prisma/generated/zod/modelSchema/TeamSchema';
import TemplateDirectLinkSchema from '@documenso/prisma/generated/zod/modelSchema/TemplateDirectLinkSchema';
import { ZFieldSchema } from './field';
import { ZRecipientLiteSchema } from './recipient';
import { ZEnvelopeFieldSchema } from './field';
import { ZEnvelopeRecipientLiteSchema } from './recipient';
/**
* The full envelope response schema.
@ -56,19 +56,12 @@ export const ZEnvelopeSchema = EnvelopeSchema.pick({
emailId: true,
emailReplyTo: true,
}),
recipients: ZRecipientLiteSchema.omit({
documentId: true,
templateId: true,
}).array(),
fields: ZFieldSchema.omit({
documentId: true,
templateId: true,
}).array(),
recipients: ZEnvelopeRecipientLiteSchema.array(),
fields: ZEnvelopeFieldSchema.array(),
envelopeItems: EnvelopeItemSchema.pick({
envelopeId: true,
id: true,
title: true,
documentDataId: true,
order: true,
}).array(),
directLink: TemplateDirectLinkSchema.pick({