import { SkillEntity } from 'src/skill/skill.entity'; import { StatusEntity } from 'src/status/status.entity'; import { Entity, PrimaryGeneratedColumn, Column, OneToMany, OneToOne, JoinColumn, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToOne, ManyToMany, JoinTable } from 'typeorm'; @Entity({ name: 'projects' }) export class ProjectEntity { @PrimaryGeneratedColumn('uuid') id: string; @Column() name: string @Column() iconName: string @Column() order: number; @Column() summary: string; @Column({ nullable: true }) repoUrl?: string; @Column({ nullable: true }) siteUrl?: string; @Column() statusId: string; @CreateDateColumn() created: Date; @Column({ nullable: true }) createdBy: string; @UpdateDateColumn() updated: Date; @Column({ nullable: true }) updatedBy: string; @DeleteDateColumn() deleted: Date; @Column({ nullable: true }) deletedBy: string @ManyToOne(() => StatusEntity, (status: StatusEntity) => status.name ) @JoinColumn({ name: 'statusId' }) status: StatusEntity; @ManyToMany(() => SkillEntity, (skill: SkillEntity) => skill.name ) @JoinTable() skills: SkillEntity[]; }