- Added migration scripts for mail configurations and revisions. - Created persistence mapper for mail configurations and revisions. - Developed Sequelize repository for mail configuration management. - Introduced common schemas and types for mail configurations. - Implemented API for fetching and saving mail configurations. - Built React components for mail configuration forms and pages. - Added internationalization support for mail-related texts in English and Spanish. - Implemented feedback mechanism for API errors in mail components. - Created tests for mail configuration components and functionality.
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { z } from "zod/v4";
|
|
|
|
import { MailConfigurationInputSchema } from "../api/domain/mail-configuration-values";
|
|
|
|
export type { MailConfigurationInput } from "../api/domain/mail-configuration-values";
|
|
export {
|
|
MailConfigurationInputSchema,
|
|
MailMethodSchema,
|
|
MailStateSchema,
|
|
} from "../api/domain/mail-configuration-values";
|
|
export const MailParamsSchema = z.strictObject({ companyId: z.uuid() });
|
|
export const MailItemParamsSchema = MailParamsSchema.extend({ id: z.uuid() });
|
|
export const SaveMailRequestSchema = z.strictObject({ values: MailConfigurationInputSchema });
|
|
export const MailRevisionSchema = z.strictObject({
|
|
id: z.uuid(),
|
|
values: MailConfigurationInputSchema,
|
|
actorId: z.uuid(),
|
|
actorName: z.string().min(1),
|
|
recordedAt: z.iso.datetime(),
|
|
});
|
|
export const MailConfigurationSchema = z.strictObject({
|
|
id: z.uuid(),
|
|
companyId: z.uuid(),
|
|
values: MailConfigurationInputSchema,
|
|
history: z.array(MailRevisionSchema).min(1),
|
|
needsReview: z.boolean(),
|
|
});
|
|
export const MailConfigurationsResponseSchema = z.strictObject({
|
|
configurations: z.array(MailConfigurationSchema),
|
|
});
|
|
export const MailConfigurationResponseSchema = z.strictObject({
|
|
configuration: MailConfigurationSchema,
|
|
});
|
|
export type MailConfigurationDTO = z.infer<typeof MailConfigurationSchema>;
|
|
|
|
export { MAIL_STATE_TRANSITIONS } from "../api/domain/mail-configuration-values";
|