homemanager-be/src/objects/building/entities/building.entity.ts

50 lines
910 B
TypeScript

import { ApiProperty } from '@nestjs/swagger';
import {
Column,
CreateDateColumn,
Entity,
JoinTable,
ManyToMany,
OneToMany,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm';
import { Group } from '../../group/group.entity';
import { Floor } from './floor.entity';
@Entity()
export class Building {
@ApiProperty()
@PrimaryGeneratedColumn()
id: number;
@ApiProperty()
@Column()
displayName: string;
@ApiProperty()
@Column()
address: string;
@ApiProperty()
@Column()
color: string;
@ApiProperty()
@CreateDateColumn()
createdAt: Date;
@ApiProperty()
@UpdateDateColumn()
updatedAt: Date;
@ApiProperty({ type: Group, isArray: true })
@ManyToMany(() => Group, (group) => group.buildings)
@JoinTable()
groups: Group[];
@ApiProperty({ type: Floor, isArray: true })
@OneToMany(() => Floor, (floor) => floor.building)
floors: Floor[];
}