Files
backend/src/space/controllers/space-validation.controller.ts
2025-03-02 22:48:02 +03:00

39 lines
1.3 KiB
TypeScript

import { ControllerRoute } from '@app/common/constants/controller-route';
import { Body, Controller, Param, Post, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { ValidationService } from '../services';
import { ValidateSpacesDto } from '../dtos/validation.space.dto';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { ProjectParam } from '../dtos';
@ApiTags('Space Module')
@Controller({
version: '1',
path: ControllerRoute.SPACE_VALIDATION.ROUTE,
})
export class SpaceValidationController {
constructor(private readonly validationService: ValidationService) {}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@ApiOperation({
summary:
ControllerRoute.SPACE_VALIDATION.ACTIONS
.VALIDATE_SPACE_WITH_DEVICES_OR_SUBSPACES_SUMMARY,
description:
ControllerRoute.SPACE_VALIDATION.ACTIONS
.VALIDATE_SPACE_WITH_DEVICES_OR_SUBSPACES_DESCRIPTION,
})
@Post('validate')
async validateSpaces(
@Body() validateSpacesDto: ValidateSpacesDto,
@Param() projectParam: ProjectParam,
): Promise<BaseResponseDto> {
return this.validationService.validateSpacesWithDevicesOrSubspaces(
validateSpacesDto,
projectParam,
);
}
}