2023-10-06 22:54:24 +00:00
|
|
|
import { z } from 'zod';
|
|
|
|
|
|
2024-05-09 12:35:32 +05:30
|
|
|
import { URL_REGEX } from '@documenso/lib/constants/url-regex';
|
2024-02-20 19:11:12 +00:00
|
|
|
import { RecipientRole } from '@documenso/prisma/client';
|
|
|
|
|
|
2023-10-06 22:54:24 +00:00
|
|
|
export const ZCreateTemplateMutationSchema = z.object({
|
2024-02-08 12:33:20 +11:00
|
|
|
title: z.string().min(1).trim(),
|
|
|
|
|
teamId: z.number().optional(),
|
2023-10-06 22:54:24 +00:00
|
|
|
templateDocumentDataId: z.string().min(1),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const ZCreateDocumentFromTemplateMutationSchema = z.object({
|
|
|
|
|
templateId: z.number(),
|
2024-02-26 10:31:24 +11:00
|
|
|
teamId: z.number().optional(),
|
2024-02-20 19:11:12 +00:00
|
|
|
recipients: z
|
|
|
|
|
.array(
|
|
|
|
|
z.object({
|
|
|
|
|
email: z.string().email(),
|
|
|
|
|
name: z.string(),
|
|
|
|
|
role: z.nativeEnum(RecipientRole),
|
|
|
|
|
}),
|
|
|
|
|
)
|
|
|
|
|
.optional(),
|
2023-10-06 22:54:24 +00:00
|
|
|
});
|
|
|
|
|
|
2024-05-09 12:35:32 +05:30
|
|
|
export const ZSetSettingsForTemplateMutationSchema = z.object({
|
|
|
|
|
templateId: z.number(),
|
|
|
|
|
meta: z.object({
|
|
|
|
|
subject: z.string().optional(),
|
|
|
|
|
message: z.string().optional(),
|
|
|
|
|
timezone: z.string().optional(),
|
|
|
|
|
dateFormat: z.string().optional(),
|
|
|
|
|
redirectUrl: z
|
|
|
|
|
.string()
|
|
|
|
|
.optional()
|
|
|
|
|
.refine((value) => value === undefined || value === '' || URL_REGEX.test(value), {
|
|
|
|
|
message: 'Please enter a valid URL',
|
|
|
|
|
}),
|
|
|
|
|
}),
|
|
|
|
|
});
|
|
|
|
|
|
2023-10-06 22:54:24 +00:00
|
|
|
export const ZDuplicateTemplateMutationSchema = z.object({
|
|
|
|
|
templateId: z.number(),
|
2024-02-08 12:33:20 +11:00
|
|
|
teamId: z.number().optional(),
|
2023-10-06 22:54:24 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const ZDeleteTemplateMutationSchema = z.object({
|
|
|
|
|
id: z.number().min(1),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export type TCreateTemplateMutationSchema = z.infer<typeof ZCreateTemplateMutationSchema>;
|
|
|
|
|
export type TCreateDocumentFromTemplateMutationSchema = z.infer<
|
|
|
|
|
typeof ZCreateDocumentFromTemplateMutationSchema
|
|
|
|
|
>;
|
|
|
|
|
|
|
|
|
|
export type TDuplicateTemplateMutationSchema = z.infer<typeof ZDuplicateTemplateMutationSchema>;
|
|
|
|
|
export type TDeleteTemplateMutationSchema = z.infer<typeof ZDeleteTemplateMutationSchema>;
|