Files
backend/src/space/controllers/space-device.controller.ts
2025-01-22 06:47:12 -06:00

33 lines
1.2 KiB
TypeScript

import { ControllerRoute } from '@app/common/constants/controller-route';
import { Controller, Get, Param, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { GetSpaceParam } from '../dtos';
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { SpaceDeviceService } from '../services';
import { PermissionsGuard } from 'src/guards/permissions.guard';
import { Permissions } from 'src/decorators/permissions.decorator';
@ApiTags('Space Module')
@Controller({
version: '1',
path: ControllerRoute.SPACE_DEVICES.ROUTE,
})
export class SpaceDeviceController {
constructor(private readonly spaceDeviceService: SpaceDeviceService) {}
@ApiBearerAuth()
@UseGuards(PermissionsGuard)
@Permissions('SPACE_DEVICE_VIEW_DEVICE_IN_SPACE')
@ApiOperation({
summary: ControllerRoute.SPACE_DEVICES.ACTIONS.LIST_SPACE_DEVICE_SUMMARY,
description:
ControllerRoute.SPACE_DEVICES.ACTIONS.LIST_SPACE_DEVICE_DESCRIPTION,
})
@Get()
async listDevicesInSpace(
@Param() params: GetSpaceParam,
): Promise<BaseResponseDto> {
return await this.spaceDeviceService.listDevicesInSpace(params);
}
}