From bef2f1e4ad26a0b2e610532a4b98beda28a85499 Mon Sep 17 00:00:00 2001 From: VirajBrainvire Date: Tue, 23 Apr 2024 10:38:09 +0530 Subject: [PATCH] added listing api --- .../permission/entities/permission.entity.ts | 14 +++++++++++++- .../user-device-permission.controller.ts | 19 +++++++++++++++++++ .../user-device-permission.service.ts | 4 ++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/libs/common/src/modules/permission/entities/permission.entity.ts b/libs/common/src/modules/permission/entities/permission.entity.ts index d4d17de..f2ba950 100644 --- a/libs/common/src/modules/permission/entities/permission.entity.ts +++ b/libs/common/src/modules/permission/entities/permission.entity.ts @@ -1,7 +1,8 @@ -import { Column, Entity } from 'typeorm'; +import { Column, Entity, OneToMany } from 'typeorm'; import { AbstractEntity } from '../../abstract/entities/abstract.entity'; import { PermissionType } from '@app/common/constants/permission-type.enum'; import { PermissionTypeDto } from '../dtos/permission.dto'; +import { DeviceUserPermissionEntity } from '../../device/entities'; @Entity({ name: 'permission-type' }) export class PermissionTypeEntity extends AbstractEntity { @@ -11,6 +12,17 @@ export class PermissionTypeEntity extends AbstractEntity { }) type: string; + @OneToMany( + () => DeviceUserPermissionEntity, + (permission) => permission.type, + { + nullable: true, + onDelete: 'CASCADE', + onUpdate: 'CASCADE', + }, + ) + permission: DeviceUserPermissionEntity[]; + constructor(partial: Partial) { super(); Object.assign(this, partial); diff --git a/src/user-device-permission/controllers/user-device-permission.controller.ts b/src/user-device-permission/controllers/user-device-permission.controller.ts index bfd98cb..91d944c 100644 --- a/src/user-device-permission/controllers/user-device-permission.controller.ts +++ b/src/user-device-permission/controllers/user-device-permission.controller.ts @@ -1,6 +1,7 @@ import { Body, Controller, + Get, HttpStatus, Param, Post, @@ -65,4 +66,22 @@ export class UserDevicePermissionController { throw new Error(err); } } + + @ApiBearerAuth() + @UseGuards(JwtAuthGuard) + @Get('list') + async fetchDevicePermission() { + try { + const deviceDetails = + await this.userDevicePermissionService.fetchuserPermission(); + return { + statusCode: HttpStatus.OK, + message: 'Device Details fetched Successfully', + data: deviceDetails, + }; + } catch (err) { + throw new Error(err); + } + } + } diff --git a/src/user-device-permission/services/user-device-permission.service.ts b/src/user-device-permission/services/user-device-permission.service.ts index 7dbb971..e50d59f 100644 --- a/src/user-device-permission/services/user-device-permission.service.ts +++ b/src/user-device-permission/services/user-device-permission.service.ts @@ -29,4 +29,8 @@ export class UserDevicePermissionService { }, ); } + + async fetchuserPermission() { + return await this.deviceUserTypeRepository.find(); + } }