46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { Column, Entity, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
|
|
import { newsletterDates } from "./newsletterDates";
|
|
import { member } from "../member/member";
|
|
import { newsletterRecipients } from "./newsletterRecipients";
|
|
import { query } from "../../configuration/query";
|
|
|
|
@Entity()
|
|
export class newsletter {
|
|
@PrimaryColumn({ generated: "increment", type: "int" })
|
|
id: number;
|
|
|
|
@Column({ type: "varchar", length: 255, unique: true })
|
|
title: string;
|
|
|
|
@Column({ type: "varchar", length: 255, default: "" })
|
|
description: string;
|
|
|
|
@Column({ type: "varchar", length: 255, default: "" })
|
|
newsletterTitle: string;
|
|
|
|
@Column({ type: "text", default: "" })
|
|
newsletterText: string;
|
|
|
|
@Column({ type: "varchar", length: 255, default: "" })
|
|
newsletterSignatur: string;
|
|
|
|
@Column({ type: "boolean", default: false })
|
|
isSent: boolean;
|
|
|
|
@Column({ type: "int", nullable: true })
|
|
recipientsByQueryId?: number;
|
|
|
|
@OneToMany(() => newsletterDates, (dates) => dates.newsletter, { cascade: ["insert"] })
|
|
dates: newsletterDates[];
|
|
|
|
@OneToMany(() => newsletterRecipients, (recipient) => recipient.newsletter, { cascade: ["insert"] })
|
|
recipients: newsletterRecipients[];
|
|
|
|
@ManyToOne(() => query, {
|
|
nullable: true,
|
|
onDelete: "CASCADE",
|
|
onUpdate: "RESTRICT",
|
|
cascade: ["insert"],
|
|
})
|
|
recipientsByQuery?: query;
|
|
}
|