Files
noahspan-portfolio/api/src/project/project.entity.ts
noahspannbauer e5219761c2
Some checks failed
Main / changes (push) Successful in 37s
Main / deploy (push) Has been cancelled
Main / build-and-test (push) Has been cancelled
adding skills to experiences, profiles, and projects
2026-07-20 19:28:37 -05:00

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[];
}