diff --git a/apps/server/src/entities/bed.entity.ts b/apps/server/src/entities/bed.entity.ts new file mode 100644 index 0000000..1fddf39 --- /dev/null +++ b/apps/server/src/entities/bed.entity.ts @@ -0,0 +1,38 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + ManyToOne, + JoinColumn, +} from 'typeorm'; +import { Room } from './room.entity'; + +@Entity('beds') +export class Bed { + @PrimaryGeneratedColumn() + id: number; + + @Column({ name: 'room_id' }) + roomId: number; + + @ManyToOne(() => Room, { onDelete: 'CASCADE' }) + @JoinColumn({ name: 'room_id' }) + room: Room; + + @Column({ name: 'bed_number', length: 20 }) + bedNumber: string; + + @Column({ type: 'varchar', length: 20, default: 'available' }) + status: string; + + @Column({ type: 'text', nullable: true }) + notes: string; + + @CreateDateColumn({ name: 'created_at' }) + createdAt: Date; + + @UpdateDateColumn({ name: 'updated_at' }) + updatedAt: Date; +} diff --git a/apps/server/src/entities/locker.entity.ts b/apps/server/src/entities/locker.entity.ts new file mode 100644 index 0000000..8af69fd --- /dev/null +++ b/apps/server/src/entities/locker.entity.ts @@ -0,0 +1,38 @@ +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + ManyToOne, + JoinColumn, +} from 'typeorm'; +import { Room } from './room.entity'; + +@Entity('lockers') +export class Locker { + @PrimaryGeneratedColumn() + id: number; + + @Column({ name: 'room_id' }) + roomId: number; + + @ManyToOne(() => Room, { onDelete: 'CASCADE' }) + @JoinColumn({ name: 'room_id' }) + room: Room; + + @Column({ name: 'locker_number', length: 20 }) + lockerNumber: string; + + @Column({ type: 'varchar', length: 20, default: 'available' }) + status: string; + + @Column({ type: 'text', nullable: true }) + notes: string; + + @CreateDateColumn({ name: 'created_at' }) + createdAt: Date; + + @UpdateDateColumn({ name: 'updated_at' }) + updatedAt: Date; +}