newsletter syncing store

This commit is contained in:
Julian Krauser 2024-12-26 12:34:36 +01:00
parent 844bd9a8d5
commit 9ef171b913
41 changed files with 347 additions and 62 deletions

View file

@ -1,4 +1,4 @@
import type { CommunicationFieldType } from "../../types/fieldTypes";
import type { CommunicationFieldType } from "@/types/fieldTypes";
export interface CommunicationTypeViewModel {
id: number;

View file

@ -0,0 +1,31 @@
import type { QueryViewModel } from "./query.models";
export interface NewsletterViewModel {
id: number;
title: string;
description: string;
newsletterTitle: string;
newsletterText: string;
newsletterSignatur: string;
isSent: boolean;
recipientsByQueryId?: number;
recipientsByQuery?: QueryViewModel;
}
export interface CreateNewsletterViewModel {
title: string;
}
export interface SyncNewsletterViewModel {
id: number;
title: string;
description: string;
newsletterTitle: string;
newsletterText: string;
newsletterSignatur: string;
recipientsByQueryId?: number;
}
export interface SendNewsletterViewModel {
id: number;
}

View file

@ -1,4 +1,4 @@
import type { NewsletterConfigType } from "../../enums/newsletterConfigType";
import type { NewsletterConfigType } from "@/enums/newsletterConfigType";
import type { CommunicationTypeViewModel } from "./communicationType.models";
export interface NewsletterConfigViewModel {

View file

@ -0,0 +1,15 @@
import type { CalendarViewModel } from "./calendar.models";
export interface NewsletterDatesViewModel {
newsletterId: number;
calendarId: number;
diffTitle: string | null;
diffDescription: string | null;
calendar: CalendarViewModel;
}
export interface SyncNewsletterDatesViewModel {
calendarId: number;
diffTitle?: string;
diffDescription?: string;
}

View file

@ -0,0 +1,11 @@
import type { MemberViewModel } from "./member.models";
export interface NewsletterRecipientsViewModel {
newsletterId: number;
memberId: number;
member: MemberViewModel;
}
export interface SyncNewsletterRecipientsViewModel {
memberId: number;
}

View file

@ -1,4 +1,4 @@
import type { DynamicQueryStructure } from "../../types/dynamicQueries";
import type { DynamicQueryStructure } from "@/types/dynamicQueries";
export interface TableMeta {
tableName: string;

View file

@ -1,4 +1,4 @@
import type { PermissionModule } from "../../types/permissionTypes";
import type { PermissionModule } from "@/types/permissionTypes";
export interface TemplateUsageViewModel {
scope: PermissionModule;