Files
noahspan-portfolio/api/src/experience/experience.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

64 lines
1.5 KiB
TypeScript

import { ProfileEntity } from '../profile/profile.entity'
import { SkillEntity } from 'src/skill/skill.entity';
import { StatusEntity } from 'src/status/status.entity';
import { Entity, PrimaryGeneratedColumn, Column, JoinColumn, ManyToOne, OneToMany, OneToOne, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, ManyToMany, JoinTable } from 'typeorm';
@Entity({ name: 'experiences' })
export class ExperienceEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column()
profileId: string;
@Column()
companyName: string;
@Column()
companyGeneric: string
@Column()
title: string;
@Column()
startDate: Date;
@Column({ nullable: true })
endDate: Date;
@Column({ nullable: true })
summary: string | null
@Column()
statusId: number;
@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;
@ManyToOne(() => ProfileEntity, (profile: ProfileEntity) => profile.experiences)
@JoinColumn({ name: 'profileId' })
profile: ProfileEntity;
@ManyToMany(() => SkillEntity, (skill: SkillEntity) => skill.name )
@JoinTable()
skills: SkillEntity[];
}