import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from "typeorm"; import { member } from "./member"; import { membershipStatus } from "./membershipStatus"; @Entity() export class membership { @PrimaryColumn({ generated: "increment", type: "int" }) id: number; /** * @deprecated */ @Column({ type: "varchar", length: 255, unique: true, nullable: true }) internalId?: string; @Column({ type: "date" }) start: Date; @Column({ type: "date", nullable: true }) end?: Date; @Column({ type: "varchar", length: 255, nullable: true }) terminationReason?: string; @Column() memberId: number; @Column() statusId: number; @ManyToOne(() => member, (member) => member.memberships, { nullable: false, onDelete: "CASCADE", onUpdate: "RESTRICT", }) @JoinColumn() member: member; @ManyToOne(() => membershipStatus, (membershipStatus) => membershipStatus.memberships, { nullable: false, onDelete: "RESTRICT", onUpdate: "RESTRICT", }) @JoinColumn() status: membershipStatus; }