feat: add support for attachments in template management

- Enhanced TemplateEditForm to include attachments in the template data.
- Updated createDocumentFromTemplate to handle attachment creation.
- Modified updateTemplate to manage attachment updates and deletions.
- Integrated attachments into ZTemplateSchema and ZAddTemplateSettingsFormSchema for validation.
- Improved getTemplateById to fetch attachments alongside other template data.
This commit is contained in:
Catalin Documenso
2025-05-06 15:48:52 +03:00
parent d10ec437cf
commit cec25ac719
9 changed files with 94 additions and 10 deletions

View File

@ -1,5 +1,6 @@
import type { z } from 'zod';
import { AttachmentSchema } from '@documenso/prisma/generated/zod/modelSchema/AttachmentSchema';
import { DocumentDataSchema } from '@documenso/prisma/generated/zod/modelSchema/DocumentDataSchema';
import TeamSchema from '@documenso/prisma/generated/zod/modelSchema/TeamSchema';
import { TemplateDirectLinkSchema } from '@documenso/prisma/generated/zod/modelSchema/TemplateDirectLinkSchema';
@ -62,6 +63,14 @@ export const ZTemplateSchema = TemplateSchema.pick({
}),
recipients: ZRecipientLiteSchema.array(),
fields: ZFieldSchema.array(),
attachments: AttachmentSchema.pick({
id: true,
label: true,
url: true,
type: true,
})
.array()
.optional(),
});
export type TTemplate = z.infer<typeof ZTemplateSchema>;