mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-15 18:27:05 +00:00
78 lines
2.3 KiB
TypeScript
78 lines
2.3 KiB
TypeScript
import { ControllerRoute } from '@app/common/constants/controller-route';
|
|
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
|
|
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
|
|
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
|
|
import { Controller, Get, Param, Query, UseGuards } from '@nestjs/common';
|
|
import {
|
|
ApiBearerAuth,
|
|
ApiOperation,
|
|
ApiParam,
|
|
ApiQuery,
|
|
ApiTags,
|
|
} from '@nestjs/swagger';
|
|
import {
|
|
GetPowerClampBySpaceDto,
|
|
GetPowerClampDto,
|
|
} from '../dto/get-power-clamp.dto';
|
|
import {
|
|
PowerClampParamsDto,
|
|
ResourceParamsDto,
|
|
} from '../dto/power-clamp-params.dto';
|
|
import { PowerClampService } from '../services/power-clamp.service';
|
|
@ApiTags('Power Clamp Module')
|
|
@Controller({
|
|
version: EnableDisableStatusEnum.ENABLED,
|
|
path: ControllerRoute.PowerClamp.ROUTE,
|
|
})
|
|
export class PowerClampController {
|
|
constructor(private readonly powerClampService: PowerClampService) {}
|
|
@ApiBearerAuth()
|
|
@UseGuards(JwtAuthGuard)
|
|
@Get(':powerClampUuid/historical')
|
|
@ApiOperation({
|
|
summary: ControllerRoute.PowerClamp.ACTIONS.GET_ENERGY_SUMMARY,
|
|
description: ControllerRoute.PowerClamp.ACTIONS.GET_ENERGY_DESCRIPTION,
|
|
})
|
|
@ApiParam({
|
|
name: 'powerClampUuid',
|
|
description: 'UUID of the Power Clamp device',
|
|
required: true,
|
|
})
|
|
async getPowerClampData(
|
|
@Param() params: PowerClampParamsDto,
|
|
@Query() query: GetPowerClampDto,
|
|
): Promise<BaseResponseDto> {
|
|
return await this.powerClampService.getPowerClampData(params, query);
|
|
}
|
|
@ApiBearerAuth()
|
|
@UseGuards(JwtAuthGuard)
|
|
@Get('historical')
|
|
@ApiOperation({
|
|
summary:
|
|
ControllerRoute.PowerClamp.ACTIONS
|
|
.GET_ENERGY_BY_COMMUNITY_OR_SPACE_SUMMARY,
|
|
description:
|
|
ControllerRoute.PowerClamp.ACTIONS
|
|
.GET_ENERGY_BY_COMMUNITY_OR_SPACE_DESCRIPTION,
|
|
})
|
|
@ApiQuery({
|
|
name: 'spaceUuid',
|
|
description: 'UUID of the Space',
|
|
required: false,
|
|
})
|
|
@ApiQuery({
|
|
name: 'communityUuid',
|
|
description: 'UUID of the Community',
|
|
required: false,
|
|
})
|
|
async getPowerClampDataBySpaceOrCommunity(
|
|
@Query() params: ResourceParamsDto,
|
|
@Query() query: GetPowerClampBySpaceDto,
|
|
): Promise<BaseResponseDto> {
|
|
return await this.powerClampService.getPowerClampDataBySpaceOrCommunity(
|
|
params,
|
|
query,
|
|
);
|
|
}
|
|
}
|