add send none state to newsletter config
This commit is contained in:
parent
63f206cc6a
commit
f1395357c5
6 changed files with 21 additions and 23 deletions
|
@ -1,8 +1,8 @@
|
|||
import { NewsletterConfigType } from "../../../enums/newsletterConfigType";
|
||||
import { NewsletterConfigEnum } from "../../../enums/newsletterConfigEnum";
|
||||
|
||||
export interface SetNewsletterConfigCommand {
|
||||
comTypeId: number;
|
||||
config: NewsletterConfigType;
|
||||
config: NewsletterConfigEnum;
|
||||
}
|
||||
|
||||
export interface DeleteNewsletterConfigCommand {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Column, Entity, ManyToOne, PrimaryColumn } from "typeorm";
|
||||
import { NewsletterConfigType } from "../../enums/newsletterConfigType";
|
||||
import { NewsletterConfigEnum } from "../../enums/newsletterConfigEnum";
|
||||
import { communicationType } from "./communicationType";
|
||||
|
||||
@Entity()
|
||||
|
@ -11,15 +11,15 @@ export class newsletterConfig {
|
|||
type: "varchar",
|
||||
length: "255",
|
||||
transformer: {
|
||||
to(value: NewsletterConfigType) {
|
||||
to(value: NewsletterConfigEnum) {
|
||||
return value.toString();
|
||||
},
|
||||
from(value: string) {
|
||||
return NewsletterConfigType[value as keyof typeof NewsletterConfigType];
|
||||
return NewsletterConfigEnum[value as keyof typeof NewsletterConfigEnum];
|
||||
},
|
||||
},
|
||||
})
|
||||
config: NewsletterConfigType;
|
||||
config: NewsletterConfigEnum;
|
||||
|
||||
@ManyToOne(() => communicationType, {
|
||||
nullable: false,
|
||||
|
|
5
src/enums/newsletterConfigEnum.ts
Normal file
5
src/enums/newsletterConfigEnum.ts
Normal file
|
@ -0,0 +1,5 @@
|
|||
export enum NewsletterConfigEnum {
|
||||
pdf = "pdf",
|
||||
mail = "mail",
|
||||
none = "none",
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
export enum NewsletterConfigType {
|
||||
pdf = "pdf",
|
||||
mail = "mail",
|
||||
}
|
|
@ -14,7 +14,7 @@ import { CLUB_NAME } from "../env.defaults";
|
|||
import { TemplateHelper } from "./templateHelper";
|
||||
import { PdfExport } from "./pdfExport";
|
||||
import NewsletterConfigService from "../service/configuration/newsletterConfigService";
|
||||
import { NewsletterConfigType } from "../enums/newsletterConfigType";
|
||||
import { NewsletterConfigEnum } from "../enums/newsletterConfigEnum";
|
||||
import InternalException from "../exceptions/internalException";
|
||||
import EventEmitter from "events";
|
||||
|
||||
|
@ -154,14 +154,11 @@ export abstract class NewsletterHelper {
|
|||
let recipients = await NewsletterRecipientsService.getAll(newsletterId);
|
||||
let config = await NewsletterConfigService.getAll();
|
||||
|
||||
let allowedForMail = config.filter((c) => c.config == NewsletterConfigType.mail).map((c) => c.comTypeId);
|
||||
let allowedForMail = config.filter((c) => c.config == NewsletterConfigEnum.mail).map((c) => c.comTypeId);
|
||||
|
||||
const members = await this.transformRecipientsToMembers(newsletter, recipients);
|
||||
const mailRecipients = members.filter(
|
||||
(m) =>
|
||||
m.sendNewsletter != null &&
|
||||
m.sendNewsletter?.email != null &&
|
||||
allowedForMail.includes(m.sendNewsletter?.type?.id)
|
||||
(m) => m.sendNewsletter?.email != "" && allowedForMail.includes(m.sendNewsletter?.type?.id)
|
||||
);
|
||||
|
||||
return mailRecipients;
|
||||
|
@ -172,12 +169,12 @@ export abstract class NewsletterHelper {
|
|||
let recipients = await NewsletterRecipientsService.getAll(newsletterId);
|
||||
let config = await NewsletterConfigService.getAll();
|
||||
|
||||
let notAllowedForPdf = config.filter((c) => c.config == NewsletterConfigType.mail).map((c) => c.comTypeId);
|
||||
let notAllowedForPdf = config
|
||||
.filter((c) => c.config == NewsletterConfigEnum.none || c.config == NewsletterConfigEnum.mail)
|
||||
.map((c) => c.comTypeId);
|
||||
|
||||
const members = await this.transformRecipientsToMembers(newsletter, recipients);
|
||||
const pdfRecipients = members.filter(
|
||||
(m) => !notAllowedForPdf.includes(m.sendNewsletter?.type?.id) || m.sendNewsletter == null
|
||||
);
|
||||
const pdfRecipients = members.filter((m) => !notAllowedForPdf.includes(m.sendNewsletter?.type?.id));
|
||||
|
||||
pdfRecipients.unshift({
|
||||
id: "0",
|
||||
|
@ -278,7 +275,7 @@ export abstract class NewsletterHelper {
|
|||
if (error) throw new InternalException("Failed Building ICS form Pdf", error);
|
||||
this.saveIcsToFile(newsletter, value);
|
||||
|
||||
let printWithAdress = config.filter((c) => c.config == NewsletterConfigType.pdf).map((c) => c.comTypeId);
|
||||
let printWithAdress = config.filter((c) => c.config == NewsletterConfigEnum.pdf).map((c) => c.comTypeId);
|
||||
|
||||
const pdfRecipients = await this.getPrintRecipients(newsletterId);
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { NewsletterConfigType } from "../../../enums/newsletterConfigType";
|
||||
import { NewsletterConfigEnum } from "../../../enums/newsletterConfigEnum";
|
||||
import { CommunicationTypeViewModel } from "./communicationType.models";
|
||||
|
||||
export interface NewsletterConfigViewModel {
|
||||
comTypeId: number;
|
||||
config: NewsletterConfigType;
|
||||
config: NewsletterConfigEnum;
|
||||
comType: CommunicationTypeViewModel;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue