mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-08-25 21:29:40 +00:00
52 lines
1.0 KiB
TypeScript
52 lines
1.0 KiB
TypeScript
import { DaysEnum } from '@app/common/constants/days.enum';
|
|
import {
|
|
Column,
|
|
CreateDateColumn,
|
|
Entity,
|
|
JoinColumn,
|
|
OneToOne,
|
|
UpdateDateColumn,
|
|
} from 'typeorm';
|
|
import { AbstractEntity } from '../../abstract/entities/abstract.entity';
|
|
import { SpaceEntity } from '../../space/entities/space.entity';
|
|
|
|
@Entity('bookable-space')
|
|
export class BookableSpaceEntity extends AbstractEntity {
|
|
@Column({
|
|
type: 'uuid',
|
|
default: () => 'gen_random_uuid()',
|
|
nullable: false,
|
|
})
|
|
public uuid: string;
|
|
|
|
@OneToOne(() => SpaceEntity, (space) => space.bookableConfig)
|
|
@JoinColumn({ name: 'space_uuid' })
|
|
space: SpaceEntity;
|
|
|
|
@Column({
|
|
type: 'enum',
|
|
enum: DaysEnum,
|
|
array: true,
|
|
nullable: false,
|
|
})
|
|
daysAvailable: DaysEnum[];
|
|
|
|
@Column({ type: 'time' })
|
|
startTime: string;
|
|
|
|
@Column({ type: 'time' })
|
|
endTime: string;
|
|
|
|
@Column({ type: Boolean, default: true })
|
|
active: boolean;
|
|
|
|
@Column({ type: 'int', default: null })
|
|
points?: number;
|
|
|
|
@CreateDateColumn()
|
|
createdAt: Date;
|
|
|
|
@UpdateDateColumn()
|
|
updatedAt: Date;
|
|
}
|