mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-16 10:46:17 +00:00
finished delete group api
This commit is contained in:
@ -8,6 +8,7 @@ import {
|
|||||||
Query,
|
Query,
|
||||||
Param,
|
Param,
|
||||||
Put,
|
Put,
|
||||||
|
Delete,
|
||||||
} from '@nestjs/common';
|
} from '@nestjs/common';
|
||||||
import { ApiTags, ApiBearerAuth } from '@nestjs/swagger';
|
import { ApiTags, ApiBearerAuth } from '@nestjs/swagger';
|
||||||
import { JwtAuthGuard } from '../../../libs/common/src/guards/jwt.auth.guard';
|
import { JwtAuthGuard } from '../../../libs/common/src/guards/jwt.auth.guard';
|
||||||
@ -70,4 +71,15 @@ export class GroupController {
|
|||||||
throw new Error(err);
|
throw new Error(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiBearerAuth()
|
||||||
|
@UseGuards(JwtAuthGuard)
|
||||||
|
@Delete(':groupId')
|
||||||
|
async deleteGroup(@Param('groupId') groupId: number) {
|
||||||
|
try {
|
||||||
|
return await this.groupService.deleteGroup(groupId);
|
||||||
|
} catch (err) {
|
||||||
|
throw new Error(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,3 @@ export class controlGroupInterface {
|
|||||||
result: boolean;
|
result: boolean;
|
||||||
msg: string;
|
msg: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class renameGroupInterface {
|
|
||||||
success: boolean;
|
|
||||||
result: boolean;
|
|
||||||
msg: string;
|
|
||||||
}
|
|
||||||
|
@ -7,7 +7,6 @@ import {
|
|||||||
GetRoomDetailsInterface,
|
GetRoomDetailsInterface,
|
||||||
addGroupInterface,
|
addGroupInterface,
|
||||||
controlGroupInterface,
|
controlGroupInterface,
|
||||||
renameGroupInterface,
|
|
||||||
} from '../interfaces/get.group.interface';
|
} from '../interfaces/get.group.interface';
|
||||||
import { GetGroupDto } from '../dtos/get.group.dto';
|
import { GetGroupDto } from '../dtos/get.group.dto';
|
||||||
import { ControlGroupDto } from '../dtos/control.group.dto';
|
import { ControlGroupDto } from '../dtos/control.group.dto';
|
||||||
@ -165,7 +164,11 @@ export class GroupService {
|
|||||||
const response = await this.renameGroupTuya(renameGroupDto);
|
const response = await this.renameGroupTuya(renameGroupDto);
|
||||||
|
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
return response;
|
return {
|
||||||
|
success: response.success,
|
||||||
|
result: response.result,
|
||||||
|
msg: response.msg,
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
throw new HttpException(
|
throw new HttpException(
|
||||||
response.msg || 'Unknown error',
|
response.msg || 'Unknown error',
|
||||||
@ -175,7 +178,7 @@ export class GroupService {
|
|||||||
}
|
}
|
||||||
async renameGroupTuya(
|
async renameGroupTuya(
|
||||||
renameGroupDto: RenameGroupDto,
|
renameGroupDto: RenameGroupDto,
|
||||||
): Promise<renameGroupInterface> {
|
): Promise<controlGroupInterface> {
|
||||||
try {
|
try {
|
||||||
const path = `/v2.0/cloud/thing/group/${renameGroupDto.groupId}/${renameGroupDto.groupName}`;
|
const path = `/v2.0/cloud/thing/group/${renameGroupDto.groupId}/${renameGroupDto.groupName}`;
|
||||||
const response = await this.tuya.request({
|
const response = await this.tuya.request({
|
||||||
@ -183,10 +186,43 @@ export class GroupService {
|
|||||||
path,
|
path,
|
||||||
});
|
});
|
||||||
|
|
||||||
return response as renameGroupInterface;
|
return response as controlGroupInterface;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new HttpException(
|
throw new HttpException(
|
||||||
'Error control group',
|
'Error rename group',
|
||||||
|
HttpStatus.INTERNAL_SERVER_ERROR,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async deleteGroup(groupId: number) {
|
||||||
|
const response = await this.deleteGroupTuya(groupId);
|
||||||
|
|
||||||
|
if (response.success) {
|
||||||
|
return {
|
||||||
|
success: response.success,
|
||||||
|
result: response.result,
|
||||||
|
msg: response.msg,
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
throw new HttpException(
|
||||||
|
response.msg || 'Unknown error',
|
||||||
|
HttpStatus.BAD_REQUEST,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async deleteGroupTuya(groupId: number): Promise<controlGroupInterface> {
|
||||||
|
try {
|
||||||
|
const path = `/v2.0/cloud/thing/group/${groupId}`;
|
||||||
|
const response = await this.tuya.request({
|
||||||
|
method: 'DELETE',
|
||||||
|
path,
|
||||||
|
});
|
||||||
|
|
||||||
|
return response as controlGroupInterface;
|
||||||
|
} catch (error) {
|
||||||
|
throw new HttpException(
|
||||||
|
'Error delete group',
|
||||||
HttpStatus.INTERNAL_SERVER_ERROR,
|
HttpStatus.INTERNAL_SERVER_ERROR,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user