43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
|
import { Column, Entity, ManyToOne, OneToMany, PrimaryColumn } from "typeorm";
|
||
|
import { newsletterDates } from "./newsletterDates";
|
||
|
import { member } from "./member";
|
||
|
import { newsletterRecipients } from "./newsletterRecipients";
|
||
|
import { query } from "./query";
|
||
|
|
||
|
@Entity()
|
||
|
export class newsletter {
|
||
|
@PrimaryColumn({ generated: "increment", type: "int" })
|
||
|
id: number;
|
||
|
|
||
|
@Column({ type: "varchar", length: 255 })
|
||
|
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;
|
||
|
|
||
|
@OneToMany(() => newsletterDates, (dates) => dates.newsletter)
|
||
|
dates: newsletterDates[];
|
||
|
|
||
|
@OneToMany(() => newsletterRecipients, (recipient) => recipient.newsletter)
|
||
|
recipients: newsletterRecipients[];
|
||
|
|
||
|
@ManyToOne(() => query, {
|
||
|
nullable: true,
|
||
|
onDelete: "CASCADE",
|
||
|
onUpdate: "RESTRICT",
|
||
|
})
|
||
|
recipientsByQuery?: query;
|
||
|
}
|