import { Entity, PrimaryColumn, OneToOne, JoinColumn, ManyToOne, OneToMany } from 'typeorm'; import { Users } from './users.entity'; import { ParentsChildren } from './parents_children.entity'; import { Dossier } from './dossiers.entity'; @Entity('parents') export class Parents { // PK = FK vers utilisateurs.id @PrimaryColumn('uuid', { name: 'id_utilisateur' }) user_id: string; @OneToOne(() => Users, user => user.parent, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'id_utilisateur', referencedColumnName: 'id' }) user: Users; // Co-parent (nullable) → FK vers utilisateurs.id @ManyToOne(() => Users, { nullable: true }) @JoinColumn({ name: 'id_co_parent', referencedColumnName: 'id' }) co_parent?: Users; // Lien vers enfants via la table enfants_parents @OneToMany(() => ParentsChildren, pc => pc.parent) parentChildren: ParentsChildren[]; // Lien vers les dossiers de ce parent @OneToMany(() => Dossier, d => d.parent) dossiers: Dossier[]; }