Add user device permission CRUD operations

This commit is contained in:
faris Aljohari
2024-05-05 19:48:03 +03:00
parent 5aa69255be
commit fa6929a4e5
8 changed files with 155 additions and 45 deletions
@@ -0,0 +1 @@
export * from './user-device-permission.controller';
@@ -1,7 +1,9 @@
import {
Body,
Controller,
Delete,
Get,
HttpException,
HttpStatus,
Param,
Post,
@@ -24,8 +26,8 @@ export class UserDevicePermissionController {
private readonly userDevicePermissionService: UserDevicePermissionService,
) {}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
// @ApiBearerAuth()
// @UseGuards(JwtAuthGuard)
@Post('add')
async addDevicePermission(
@Body() userDevicePermissionDto: UserDevicePermissionAddDto,
@@ -40,40 +42,45 @@ export class UserDevicePermissionController {
message: 'User Permission for Devices Added Successfully',
data: addDetails,
};
} catch (err) {
throw new Error(err);
} catch (error) {
throw new HttpException(
error.message || 'Internal server error',
error.status || HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Put('edit/:userId')
@Put('edit/:devicePermissionUuid')
async editDevicePermission(
@Param('userId') userId: string,
@Param('devicePermissionUuid') devicePermissionUuid: string,
@Body() userDevicePermissionEditDto: UserDevicePermissionEditDto,
) {
try {
await this.userDevicePermissionService.editUserPermission(
userId,
devicePermissionUuid,
userDevicePermissionEditDto,
);
return {
statusCode: HttpStatus.OK,
message: 'User Permission for Devices Updated Successfully',
data: {},
};
} catch (err) {
throw new Error(err);
} catch (error) {
throw new HttpException(
error.message || 'Internal server error',
error.status || HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Get('list')
async fetchDevicePermission() {
@Get(':deviceUuid/list')
async fetchDevicePermission(@Param('deviceUuid') deviceUuid: string) {
try {
const deviceDetails =
await this.userDevicePermissionService.fetchuserPermission();
await this.userDevicePermissionService.fetchUserPermission(deviceUuid);
return {
statusCode: HttpStatus.OK,
message: 'Device Details fetched Successfully',
@@ -83,4 +90,25 @@ export class UserDevicePermissionController {
throw new Error(err);
}
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Delete(':devicePermissionUuid')
async deleteDevicePermission(
@Param('devicePermissionUuid') devicePermissionUuid: string,
) {
try {
await this.userDevicePermissionService.deleteDevicePermission(
devicePermissionUuid,
);
return {
statusCode: HttpStatus.OK,
message: 'User Permission for Devices Deleted Successfully',
};
} catch (error) {
throw new HttpException(
error.message || 'Internal server error',
error.status || HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
}