mirror of
https://github.com/SyncrowIOT/backend.git
synced 2026-10-24 11:17:54 +00:00
54 lines
1.9 KiB
TypeScript
54 lines
1.9 KiB
TypeScript
import { GroupService } from '../services/group.service';
|
|
import { Controller, Get, UseGuards, Param, Req } from '@nestjs/common';
|
|
import { ApiTags, ApiBearerAuth, ApiOperation } from '@nestjs/swagger';
|
|
import { EnableDisableStatusEnum } from '@app/common/constants/days.enum';
|
|
import { ControllerRoute } from '@app/common/constants/controller-route'; // Assuming this is where the routes are defined
|
|
import { PermissionsGuard } from 'src/guards/permissions.guard';
|
|
import { Permissions } from 'src/decorators/permissions.decorator';
|
|
|
|
@ApiTags('Group Module')
|
|
@Controller({
|
|
version: EnableDisableStatusEnum.ENABLED,
|
|
path: ControllerRoute.GROUP.ROUTE, // use the static route constant
|
|
})
|
|
export class GroupController {
|
|
constructor(private readonly groupService: GroupService) {}
|
|
|
|
@ApiBearerAuth()
|
|
@UseGuards(PermissionsGuard)
|
|
@Permissions('DEVICE_WIZARD_VIEW_DEVICE_WIZARD')
|
|
@Get(':spaceUuid')
|
|
@ApiOperation({
|
|
summary: ControllerRoute.GROUP.ACTIONS.GET_GROUPS_BY_SPACE_UUID_SUMMARY,
|
|
description:
|
|
ControllerRoute.GROUP.ACTIONS.GET_GROUPS_BY_SPACE_UUID_DESCRIPTION,
|
|
})
|
|
async getGroupsBySpaceUuid(@Param('spaceUuid') spaceUuid: string) {
|
|
return await this.groupService.getGroupsBySpaceUuid(spaceUuid);
|
|
}
|
|
|
|
@ApiBearerAuth()
|
|
@UseGuards(PermissionsGuard)
|
|
@Permissions('DEVICE_WIZARD_VIEW_DEVICE_WIZARD')
|
|
@Get(':spaceUuid/devices/:groupName')
|
|
@ApiOperation({
|
|
summary:
|
|
ControllerRoute.GROUP.ACTIONS.GET_UNIT_DEVICES_BY_GROUP_NAME_SUMMARY,
|
|
description:
|
|
ControllerRoute.GROUP.ACTIONS.GET_UNIT_DEVICES_BY_GROUP_NAME_DESCRIPTION,
|
|
})
|
|
async getUnitDevicesByGroupName(
|
|
@Param('spaceUuid') spaceUuid: string,
|
|
@Param('groupName') groupName: string,
|
|
@Req() req: any,
|
|
) {
|
|
const userUuid = req.user.uuid;
|
|
|
|
return await this.groupService.getSpaceDevicesByGroupName(
|
|
spaceUuid,
|
|
groupName,
|
|
userUuid,
|
|
);
|
|
}
|
|
}
|