57 lines
1.2 KiB
TypeScript
57 lines
1.2 KiB
TypeScript
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[];
|
|
}
|