mirror of
https://github.com/documenso/documenso.git
synced 2025-11-19 11:12:06 +10:00
feat: expiry endpoint
This commit is contained in:
@ -2,6 +2,7 @@ import { TRPCError } from '@trpc/server';
|
||||
|
||||
import { completeDocumentWithToken } from '@documenso/lib/server-only/document/complete-document-with-token';
|
||||
import { rejectDocumentWithToken } from '@documenso/lib/server-only/document/reject-document-with-token';
|
||||
import { setRecipientExpiry } from '@documenso/lib/server-only/recipient/set-recipient-expiry';
|
||||
import { setRecipientsForDocument } from '@documenso/lib/server-only/recipient/set-recipients-for-document';
|
||||
import { setRecipientsForTemplate } from '@documenso/lib/server-only/recipient/set-recipients-for-template';
|
||||
import { extractNextApiRequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
||||
@ -12,6 +13,7 @@ import {
|
||||
ZAddTemplateSignersMutationSchema,
|
||||
ZCompleteDocumentWithTokenMutationSchema,
|
||||
ZRejectDocumentWithTokenMutationSchema,
|
||||
ZSetSignerExpirySchema,
|
||||
} from './schema';
|
||||
|
||||
export const recipientRouter = router({
|
||||
@ -45,6 +47,30 @@ export const recipientRouter = router({
|
||||
}
|
||||
}),
|
||||
|
||||
setSignerExpiry: authenticatedProcedure
|
||||
.input(ZSetSignerExpirySchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
try {
|
||||
const { documentId, signerId, expiry, teamId } = input;
|
||||
|
||||
return await setRecipientExpiry({
|
||||
documentId,
|
||||
recipientId: signerId,
|
||||
expiry,
|
||||
teamId,
|
||||
userId: ctx.user.id,
|
||||
requestMetadata: extractNextApiRequestMetadata(ctx.req),
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
|
||||
throw new TRPCError({
|
||||
code: 'BAD_REQUEST',
|
||||
message: "We're unable to set the expiry for this signer. Please try again later.",
|
||||
});
|
||||
}
|
||||
}),
|
||||
|
||||
addTemplateSigners: authenticatedProcedure
|
||||
.input(ZAddTemplateSignersMutationSchema)
|
||||
.mutation(async ({ input, ctx }) => {
|
||||
|
||||
@ -80,3 +80,12 @@ export const ZRejectDocumentWithTokenMutationSchema = z.object({
|
||||
export type TRejectDocumentWithTokenMutationSchema = z.infer<
|
||||
typeof ZRejectDocumentWithTokenMutationSchema
|
||||
>;
|
||||
|
||||
export const ZSetSignerExpirySchema = z.object({
|
||||
documentId: z.number(),
|
||||
signerId: z.number(),
|
||||
expiry: z.date(),
|
||||
teamId: z.number().optional(),
|
||||
});
|
||||
|
||||
export type TSetSignerExpirySchema = z.infer<typeof ZSetSignerExpirySchema>;
|
||||
|
||||
Reference in New Issue
Block a user