import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, OneToMany, } from 'typeorm'; import { Occupancy } from './occupancy.entity'; import { PersonalExpense } from './personal-expense.entity'; import { Bill } from './bill.entity'; @Entity('students') export class Student { @PrimaryGeneratedColumn() id: number; @Column({ length: 50 }) name: string; @Column({ length: 20, nullable: true }) phone: string; @Column({ name: 'id_number', length: 30, nullable: true }) idNumber: string; @Column({ length: 10, nullable: true }) gender: string; @Column({ length: 20, nullable: true }) ethnicity: string; @Column({ name: 'emergency_contact', length: 50, nullable: true }) emergencyContact: string; @Column({ name: 'emergency_phone', length: 20, nullable: true }) emergencyPhone: string; @Column({ type: 'varchar', length: 20, default: 'active' }) status: string; @Column({ length: 100, nullable: true }) organization: string; @Column({ length: 50, nullable: true }) supervisor: string; @CreateDateColumn({ name: 'created_at' }) createdAt: Date; @UpdateDateColumn({ name: 'updated_at' }) updatedAt: Date; @OneToMany(() => Occupancy, (o) => o.student) occupancies: Occupancy[]; @OneToMany(() => PersonalExpense, (e) => e.student) personalExpenses: PersonalExpense[]; @OneToMany(() => Bill, (b) => b.student) bills: Bill[]; }