chore: template attachments

This commit is contained in:
Catalin Pit
2025-07-07 13:31:55 +03:00
parent 30b240cba2
commit e19da93ce2
19 changed files with 583 additions and 195 deletions

View File

@ -1,26 +1,32 @@
import { findAttachments } from '@documenso/lib/server-only/attachment/find-attachments';
import { findDocumentAttachments } from '@documenso/lib/server-only/attachment/find-document-attachments';
import { findTemplateAttachments } from '@documenso/lib/server-only/attachment/find-template-attachments';
import { setDocumentAttachments } from '@documenso/lib/server-only/attachment/set-document-attachments';
import { setTemplateAttachments } from '@documenso/lib/server-only/attachment/set-template-attachments';
import { authenticatedProcedure, router } from '../trpc';
import {
ZGetDocumentAttachmentsResponseSchema,
ZGetDocumentAttachmentsSchema,
ZGetTemplateAttachmentsResponseSchema,
ZGetTemplateAttachmentsSchema,
ZSetDocumentAttachmentsResponseSchema,
ZSetDocumentAttachmentsSchema,
ZSetTemplateAttachmentsResponseSchema,
ZSetTemplateAttachmentsSchema,
} from './schema';
export const attachmentRouter = router({
/**
* @private
*/
getAttachments: authenticatedProcedure
getDocumentAttachments: authenticatedProcedure
.input(ZGetDocumentAttachmentsSchema)
.output(ZGetDocumentAttachmentsResponseSchema)
.query(async ({ input, ctx }) => {
const { documentId } = input;
const { user } = ctx;
const attachments = await findAttachments({
const attachments = await findDocumentAttachments({
documentId,
userId: user.id,
teamId: ctx.teamId,
@ -42,6 +48,40 @@ export const attachmentRouter = router({
attachments,
});
return updatedAttachments;
}),
/**
* @private
*/
getTemplateAttachments: authenticatedProcedure
.input(ZGetTemplateAttachmentsSchema)
.output(ZGetTemplateAttachmentsResponseSchema)
.query(async ({ input, ctx }) => {
const { templateId } = input;
const attachments = await findTemplateAttachments({
templateId,
userId: ctx.user.id,
teamId: ctx.teamId,
});
return attachments;
}),
/**
* @private
*/
setTemplateAttachments: authenticatedProcedure
.input(ZSetTemplateAttachmentsSchema)
.output(ZSetTemplateAttachmentsResponseSchema)
.mutation(async ({ input, ctx }) => {
const { templateId, attachments } = input;
const updatedAttachments = await setTemplateAttachments({
templateId,
attachments,
});
return updatedAttachments;
}),
});