feat: add envelopes api

This commit is contained in:
David Nguyen
2025-10-28 12:13:26 +11:00
parent b0b07106b4
commit a66a56042c
50 changed files with 1002 additions and 701 deletions

View File

@ -8,8 +8,7 @@ import { removeSignedFieldWithToken } from '@documenso/lib/server-only/field/rem
import { setFieldsForDocument } from '@documenso/lib/server-only/field/set-fields-for-document';
import { setFieldsForTemplate } from '@documenso/lib/server-only/field/set-fields-for-template';
import { signFieldWithToken } from '@documenso/lib/server-only/field/sign-field-with-token';
import { updateDocumentFields } from '@documenso/lib/server-only/field/update-document-fields';
import { updateTemplateFields } from '@documenso/lib/server-only/field/update-template-fields';
import { updateEnvelopeFields } from '@documenso/lib/server-only/field/update-envelope-fields';
import { ZGenericSuccessResponse, ZSuccessResponseSchema } from '../document-router/schema';
import { authenticatedProcedure, procedure, router } from '../trpc';
@ -178,10 +177,14 @@ export const fieldRouter = router({
},
});
const updatedFields = await updateDocumentFields({
const updatedFields = await updateEnvelopeFields({
userId: ctx.user.id,
teamId,
documentId,
id: {
type: 'documentId',
id: documentId,
},
type: EnvelopeType.DOCUMENT,
fields: [field],
requestMetadata: ctx.metadata,
});
@ -214,10 +217,14 @@ export const fieldRouter = router({
},
});
return await updateDocumentFields({
return await updateEnvelopeFields({
userId: ctx.user.id,
teamId,
documentId,
id: {
type: 'documentId',
id: documentId,
},
type: EnvelopeType.DOCUMENT,
fields,
requestMetadata: ctx.metadata,
});
@ -431,11 +438,16 @@ export const fieldRouter = router({
},
});
const updatedFields = await updateTemplateFields({
const updatedFields = await updateEnvelopeFields({
userId: ctx.user.id,
teamId,
templateId,
id: {
type: 'templateId',
id: templateId,
},
type: EnvelopeType.TEMPLATE,
fields: [field],
requestMetadata: ctx.metadata,
});
return updatedFields.fields[0];
@ -466,11 +478,16 @@ export const fieldRouter = router({
},
});
return await updateTemplateFields({
return await updateEnvelopeFields({
userId: ctx.user.id,
teamId,
templateId,
id: {
type: 'templateId',
id: templateId,
},
type: EnvelopeType.TEMPLATE,
fields,
requestMetadata: ctx.metadata,
});
}),