- 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.
26 lines
782 B
TypeScript
26 lines
782 B
TypeScript
import { DomainEntity, type UniqueID } from "@repo/rdx-ddd";
|
|
|
|
import type { MailConfigurationValues } from "./value-objects/mail-configuration-values";
|
|
export type MailRevisionProps = Readonly<{
|
|
values: MailConfigurationValues;
|
|
actorId: UniqueID;
|
|
recordedAt: string;
|
|
}>;
|
|
export class MailConfigurationRevision extends DomainEntity<MailRevisionProps> {
|
|
static create(props: MailRevisionProps) {
|
|
return new MailConfigurationRevision(Object.freeze({ ...props }));
|
|
}
|
|
static rehydrate(props: MailRevisionProps, id: UniqueID) {
|
|
return new MailConfigurationRevision(Object.freeze({ ...props }), id);
|
|
}
|
|
get values() {
|
|
return this.props.values;
|
|
}
|
|
get actorId() {
|
|
return this.props.actorId;
|
|
}
|
|
get recordedAt() {
|
|
return this.props.recordedAt;
|
|
}
|
|
}
|