express-api/src/typeorm/Entities/Parcel.ts
import { Entity, Column, Index, ManyToOne, JoinColumn, OneToMany } from 'typeorm';
import { Property } from '@/typeorm/Entities/abstractEntities/Property';
import { ParcelFiscal } from '@/typeorm/Entities/ParcelFiscal';
import { ParcelEvaluation } from '@/typeorm/Entities/ParcelEvaluation';
@Entity()
@Index(['PID', 'PIN'], { unique: true })
export class Parcel extends Property {
@Column({ type: 'real', nullable: true })
LandArea: number;
@Column({ name: 'parent_parcel_id', type: 'int', nullable: true })
ParentParcelId: number;
@ManyToOne(() => Parcel, (Parcel) => Parcel.Id)
@JoinColumn({ name: 'parent_parcel_id' })
ParentParcel: Parcel;
@OneToMany(() => ParcelFiscal, (Fiscal) => Fiscal.Parcel, { nullable: true, cascade: true })
Fiscals: ParcelFiscal[];
@OneToMany(() => ParcelEvaluation, (Evaluation) => Evaluation.Parcel, {
nullable: true,
cascade: true,
})
Evaluations: ParcelEvaluation[];
}