Files
dh-inspeccion-v2/api-v3/src/database/entities/inspection-finding-version.entity.ts
T

38 lines
1.2 KiB
TypeScript

import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm';
export enum InspectionFindingVersionEvent {
CREATED = 'CREATED',
UPDATED = 'UPDATED',
FOLLOW_UP_UPDATED = 'FOLLOW_UP_UPDATED',
VERIFICATION_RECORDED = 'VERIFICATION_RECORDED',
}
@Entity({ name: 'inspection_finding_versions' })
@Index('uq_inspection_finding_versions_number', ['findingId', 'versionNumber'], { unique: true })
@Index('idx_inspection_finding_versions_created_at', ['createdAt'])
export class InspectionFindingVersion {
@PrimaryGeneratedColumn('uuid')
id!: string;
@Column({ name: 'finding_id', type: 'uuid' })
findingId!: string;
@Column({ name: 'version_number', type: 'integer' })
versionNumber!: number;
@Column({ type: 'varchar', length: 32 })
event!: InspectionFindingVersionEvent;
@Column({ type: 'jsonb' })
snapshot!: Record<string, unknown>;
@Column({ name: 'actor_user_id', type: 'uuid', nullable: true })
actorUserId!: string | null;
@Column({ name: 'actor_username', type: 'varchar', length: 80, nullable: true })
actorUsername!: string | null;
@Column({ name: 'created_at', type: 'timestamptz', default: () => 'CURRENT_TIMESTAMP' })
createdAt!: Date;
}