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; }