2023-03-09 08:14:29 +00:00
|
|
|
import { z } from "zod";
|
|
|
|
import { messageEventTypes } from "../../event-handlers/message-event-types";
|
|
|
|
import { smtpEncryptionTypes } from "./mjml-config";
|
|
|
|
|
|
|
|
export const mjmlConfigInputSchema = z.object({
|
|
|
|
configurations: z.array(
|
|
|
|
z.object({
|
|
|
|
active: z.boolean(),
|
|
|
|
configurationName: z.string(),
|
|
|
|
senderName: z.string(),
|
|
|
|
senderEmail: z.string().email(),
|
|
|
|
smtpHost: z.string(),
|
|
|
|
smtpPort: z.string(),
|
|
|
|
smtpUser: z.string().min(0),
|
|
|
|
useTls: z.boolean(),
|
|
|
|
useSsl: z.boolean(),
|
|
|
|
templateInvoiceSentSubject: z.string(),
|
|
|
|
templateInvoiceSentTemplate: z.string(),
|
|
|
|
templateOrderCancelledSubject: z.string(),
|
|
|
|
templateOrderCancelledTemplate: z.string(),
|
|
|
|
templateOrderConfirmedSubject: z.string(),
|
|
|
|
templateOrderConfirmedTemplate: z.string(),
|
|
|
|
templateOrderFullyPaidSubject: z.string(),
|
|
|
|
templateOrderFullyPaidTemplate: z.string(),
|
|
|
|
templateOrderCreatedSubject: z.string(),
|
|
|
|
templateOrderCreatedTemplate: z.string(),
|
|
|
|
templateOrderFulfilledSubject: z.string(),
|
|
|
|
templateOrderFulfilledTemplate: z.string(),
|
|
|
|
})
|
|
|
|
),
|
|
|
|
});
|
|
|
|
|
|
|
|
export const mjmlConfigurationEventObjectSchema = z.object({
|
|
|
|
active: z.boolean(),
|
|
|
|
eventType: z.enum(messageEventTypes),
|
|
|
|
template: z.string().min(1),
|
|
|
|
subject: z.string().min(1),
|
|
|
|
});
|
|
|
|
|
|
|
|
export const mjmlConfigurationBaseObjectSchema = z.object({
|
|
|
|
active: z.boolean(),
|
|
|
|
configurationName: z.string().min(1),
|
|
|
|
senderName: z.string().min(1),
|
|
|
|
senderEmail: z.string().email().min(5),
|
|
|
|
smtpHost: z.string().min(1),
|
|
|
|
smtpPort: z.string(),
|
|
|
|
smtpUser: z.string(),
|
|
|
|
encryption: z.enum(smtpEncryptionTypes),
|
|
|
|
});
|
|
|
|
|
|
|
|
export const mjmlCreateConfigurationSchema = mjmlConfigurationBaseObjectSchema;
|
|
|
|
export const mjmlUpdateOrCreateConfigurationSchema = mjmlConfigurationBaseObjectSchema.merge(
|
|
|
|
z.object({
|
|
|
|
id: z.string().optional(),
|
|
|
|
})
|
|
|
|
);
|
|
|
|
export const mjmlGetConfigurationInputSchema = z.object({
|
|
|
|
id: z.string(),
|
|
|
|
});
|
|
|
|
export const mjmlDeleteConfigurationInputSchema = z.object({
|
|
|
|
id: z.string(),
|
|
|
|
});
|
2023-03-15 10:38:36 +00:00
|
|
|
export const mjmlGetConfigurationsInputSchema = z
|
|
|
|
.object({
|
|
|
|
ids: z.array(z.string()).optional(),
|
|
|
|
active: z.boolean().optional(),
|
|
|
|
})
|
|
|
|
.optional();
|
2023-03-09 08:14:29 +00:00
|
|
|
|
|
|
|
export const mjmlUpdateEventConfigurationInputSchema = z
|
|
|
|
.object({
|
|
|
|
configurationId: z.string(),
|
|
|
|
})
|
|
|
|
.merge(mjmlConfigurationEventObjectSchema);
|
|
|
|
|
|
|
|
export const mjmlGetEventConfigurationInputSchema = z.object({
|
|
|
|
configurationId: z.string(),
|
|
|
|
eventType: z.enum(messageEventTypes),
|
|
|
|
});
|