import { Column, Entity, ManyToMany, ManyToOne, OneToMany, OneToOne, PrimaryGeneratedColumn, } from "../../../src/index" import { Image } from "./Image" import { Cover } from "./Cover" import { Category } from "./Category" import { PostDetails } from "./PostDetails" import { JoinColumn } from "../../../src/decorator/relations/JoinColumn" import { JoinTable } from "../../../src/decorator/relations/JoinTable" @Entity("sample10_post") export class Post { @PrimaryGeneratedColumn() id: number @Column({ nullable: false, }) title: string @Column({ nullable: false, }) text: string @OneToOne((type) => PostDetails, (details) => details.post, { cascade: true, }) @JoinColumn() details: PostDetails @OneToMany((type) => Image, (image) => image.post, { cascade: true, }) images: Image[] = [] @OneToMany((type) => Image, (image) => image.secondaryPost) secondaryImages: Image[] @ManyToOne((type) => Cover, (cover) => cover.posts, { cascade: ["insert"], }) @JoinColumn({ name: "coverId" }) cover: Cover @Column("int", { nullable: true, }) coverId: number @ManyToMany((type) => Category, (category) => category.posts, { cascade: true, }) @JoinTable() categories: Category[] }