feat(#119): dossier famille = 1 par famille, N enfants; retrait repas/type_contrat/budget; adresse dans API parents
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import {
|
||||
Entity,
|
||||
PrimaryGeneratedColumn,
|
||||
Column,
|
||||
ManyToOne,
|
||||
OneToMany,
|
||||
CreateDateColumn,
|
||||
UpdateDateColumn,
|
||||
JoinColumn,
|
||||
} from 'typeorm';
|
||||
import { Parents } from './parents.entity';
|
||||
import { Children } from './children.entity';
|
||||
import { StatutDossierType } from './dossiers.entity';
|
||||
|
||||
/** Un dossier = une famille, N enfants (texte de motivation unique, liste d'enfants). */
|
||||
@Entity('dossier_famille')
|
||||
export class DossierFamille {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@Column({ name: 'numero_dossier', length: 20 })
|
||||
numero_dossier: string;
|
||||
|
||||
@ManyToOne(() => Parents, { onDelete: 'CASCADE', nullable: false })
|
||||
@JoinColumn({ name: 'id_parent', referencedColumnName: 'user_id' })
|
||||
parent: Parents;
|
||||
|
||||
@Column({ type: 'text', nullable: true })
|
||||
presentation?: string;
|
||||
|
||||
@Column({
|
||||
type: 'enum',
|
||||
enum: StatutDossierType,
|
||||
enumName: 'statut_dossier_type',
|
||||
default: StatutDossierType.ENVOYE,
|
||||
name: 'statut',
|
||||
})
|
||||
statut: StatutDossierType;
|
||||
|
||||
@CreateDateColumn({ name: 'cree_le', type: 'timestamptz' })
|
||||
cree_le: Date;
|
||||
|
||||
@UpdateDateColumn({ name: 'modifie_le', type: 'timestamptz' })
|
||||
modifie_le: Date;
|
||||
|
||||
@OneToMany(() => DossierFamilleEnfant, (dfe) => dfe.dossier_famille)
|
||||
enfants: DossierFamilleEnfant[];
|
||||
}
|
||||
|
||||
@Entity('dossier_famille_enfants')
|
||||
export class DossierFamilleEnfant {
|
||||
@Column({ name: 'id_dossier_famille', primary: true })
|
||||
id_dossier_famille: string;
|
||||
|
||||
@Column({ name: 'id_enfant', primary: true })
|
||||
id_enfant: string;
|
||||
|
||||
@ManyToOne(() => DossierFamille, (df) => df.enfants, { onDelete: 'CASCADE' })
|
||||
@JoinColumn({ name: 'id_dossier_famille' })
|
||||
dossier_famille: DossierFamille;
|
||||
|
||||
@ManyToOne(() => Children, { onDelete: 'CASCADE' })
|
||||
@JoinColumn({ name: 'id_enfant' })
|
||||
enfant: Children;
|
||||
}
|
||||
Reference in New Issue
Block a user