homemanager-be/src/app-building/dto/buildings-response.dto.ts

33 lines
975 B
TypeScript

import { ApiProperty, OmitType } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { Building } from 'src/objects/building/entities/building.entity';
import { Floor } from 'src/objects/building/entities/floor.entity';
import { Room } from 'src/objects/building/entities/room.entity';
export class BuildingRoomResponseDto extends OmitType(Room, [
'floor',
'building',
]) {}
export class BuildingFloorResponseDto extends OmitType(Floor, [
'building',
'rooms',
]) {
@ApiProperty({ type: BuildingRoomResponseDto, isArray: true })
@Type(() => BuildingRoomResponseDto)
rooms: BuildingRoomResponseDto[];
}
export class BuildingsResponseDto extends OmitType(Building, [
'groups',
'floors',
]) {
@ApiProperty({ type: BuildingFloorResponseDto, isArray: true })
@Type(() => BuildingFloorResponseDto)
floors: BuildingFloorResponseDto[];
}
export class BuildingsListResponseDto extends OmitType(BuildingsResponseDto, [
'floors',
]) {}