diff --git a/api-v3/src/database/entities/survey-target-report.entity.ts b/api-v3/src/database/entities/survey-target-report.entity.ts deleted file mode 100644 index b835063..0000000 --- a/api-v3/src/database/entities/survey-target-report.entity.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm'; -import { TimestampedEntity } from './timestamped.entity'; - -export enum SurveyReportOutcome { - CONFIRMED = 'CONFIRMED', - CHANGES_RECORDED = 'CHANGES_RECORDED', - NOT_LOCATED = 'NOT_LOCATED', -} - -export enum SurveyReportStatus { - DRAFT = 'DRAFT', - SUBMITTED = 'SUBMITTED', - APPROVED = 'APPROVED', - REJECTED = 'REJECTED', -} - -@Entity({ name: 'survey_target_reports' }) -@Index('uq_survey_target_reports_target_id', ['targetId'], { unique: true }) -@Index('idx_survey_target_reports_status', ['status']) -@Index('idx_survey_target_reports_submitted_by', ['submittedBy']) -@Index('idx_survey_target_reports_reviewed_by', ['reviewedBy']) -export class SurveyTargetReport extends TimestampedEntity { - @PrimaryGeneratedColumn('uuid') - id!: string; - - @Column({ name: 'target_id', type: 'uuid' }) - targetId!: string; - - @Column({ type: 'varchar', length: 32, nullable: true }) - outcome!: SurveyReportOutcome | null; - - @Column({ type: 'varchar', length: 24, default: SurveyReportStatus.DRAFT }) - status!: SurveyReportStatus; - - @Column({ name: 'observed_at', type: 'timestamptz', nullable: true }) - observedAt!: Date | null; - - @Column({ type: 'numeric', precision: 9, scale: 6, nullable: true }) - latitude!: string | null; - - @Column({ type: 'numeric', precision: 9, scale: 6, nullable: true }) - longitude!: string | null; - - @Column({ name: 'accuracy_m', type: 'numeric', precision: 12, scale: 3, nullable: true }) - accuracyM!: string | null; - - @Column({ type: 'text', nullable: true }) - notes!: string | null; - - @Column({ name: 'asset_version_at_submission', type: 'integer', nullable: true }) - assetVersionAtSubmission!: number | null; - - @Column({ name: 'submitted_at', type: 'timestamptz', nullable: true }) - submittedAt!: Date | null; - - @Column({ name: 'submitted_by', type: 'uuid', nullable: true }) - submittedBy!: string | null; - - @Column({ name: 'reviewed_at', type: 'timestamptz', nullable: true }) - reviewedAt!: Date | null; - - @Column({ name: 'reviewed_by', type: 'uuid', nullable: true }) - reviewedBy!: string | null; - - @Column({ name: 'review_notes', type: 'text', nullable: true }) - reviewNotes!: string | null; - - @Column({ name: 'created_by', type: 'uuid', nullable: true }) - createdBy!: string | null; - - @Column({ name: 'updated_by', type: 'uuid', nullable: true }) - updatedBy!: string | null; -}