From 9b0243aca53db9020d5f0be3afcd99754c6b3572 Mon Sep 17 00:00:00 2001 From: Rahul K R Date: Mon, 29 Jan 2024 14:51:47 +0530 Subject: [PATCH 1/2] session permission hardcoded data. --- .../services/permission/permission.service.ts | 53 ++++++++++++------- 1 file changed, 35 insertions(+), 18 deletions(-) diff --git a/src/app/core/services/permission/permission.service.ts b/src/app/core/services/permission/permission.service.ts index 7948ce38..a7eb41d2 100644 --- a/src/app/core/services/permission/permission.service.ts +++ b/src/app/core/services/permission/permission.service.ts @@ -1,22 +1,39 @@ import { Injectable } from '@angular/core'; import { LocalStorageService } from '../localstorage.service'; import { localKeys } from '../../constants/localStorage.keys'; +import { CommonRoutes } from 'src/global.routes'; +import { manageSessionAction, manageUserAction, permissions } from '../../constants/permissionsConstant'; @Injectable({ providedIn: 'root', }) export class PermissionService { - userPermissions:any = []; +public userPermissions:any[] = [ + { + title: 'MANAGE_USER', + url: CommonRoutes.ADMIN + '/' + CommonRoutes.MANAGE_USER, + icon: 'people-outline', + module: permissions.MANAGE_USER, + request_type: manageUserAction.USER_ACTIONS, + }, + { + title: 'MANAGE_SESSION', + url: CommonRoutes.ADMIN + '/' + CommonRoutes.MANAGE_SESSION, + icon: 'people-outline', + module: permissions.MANAGE_SESSION, + request_type: manageSessionAction.SESSION_ACTIONS, + }, + ]; constructor(private localStorage: LocalStorageService){} async hasPermission(permissions: any): Promise { - if(!this.userPermissions.length){ - await this.fetchPermissions().then((res) =>{ - this.userPermissions = res; - }) - } + // if(!this.userPermissions.length){ + // await this.fetchPermissions().then((res) =>{ + // this.userPermissions = res; + // }) + // } for (let userPermission of this.userPermissions) { if (permissions && userPermission.request_type.length && permissions.module === userPermission.module) { if (permissions.action.every((value: any) => userPermission.request_type.includes(value))) { @@ -28,17 +45,17 @@ export class PermissionService { } } - async fetchPermissions():Promise { - return new Promise((resolve, reject) => { - try { - this.localStorage.getLocalData(localKeys.USER_DETAILS) - .then(async (data) => { - if(data) { - resolve(data?.permissions); - } - }) - } catch (error) {} - }); + // async fetchPermissions():Promise { + // return new Promise((resolve, reject) => { + // try { + // this.localStorage.getLocalData(localKeys.USER_DETAILS) + // .then(async (data) => { + // if(data) { + // resolve(data?.permissions); + // } + // }) + // } catch (error) {} + // }); - } + // } } From fb3696f2649172f17b16b7e562eb8819ad5e6cd3 Mon Sep 17 00:00:00 2001 From: Rahul K R Date: Tue, 30 Jan 2024 10:05:38 +0530 Subject: [PATCH 2/2] QA blocker --- src/app/core/constants/permissionsConstant.ts | 4 +- .../services/permission/permission.service.ts | 53 +++++++------------ 2 files changed, 20 insertions(+), 37 deletions(-) diff --git a/src/app/core/constants/permissionsConstant.ts b/src/app/core/constants/permissionsConstant.ts index 46340cf6..31be5e69 100644 --- a/src/app/core/constants/permissionsConstant.ts +++ b/src/app/core/constants/permissionsConstant.ts @@ -1,5 +1,5 @@ export const permissions = { - MANAGE_USER: 'mentor_listing', + MANAGE_USER: 'manage_user', MANAGE_SESSION: 'manage_session', }; export const actions = { @@ -16,7 +16,7 @@ export const manageSessionAction = { }; export const manageUserAction = { USER_ACTIONS: [ - actions.GET, + actions.POST, actions.DELETE ], }; diff --git a/src/app/core/services/permission/permission.service.ts b/src/app/core/services/permission/permission.service.ts index a7eb41d2..7948ce38 100644 --- a/src/app/core/services/permission/permission.service.ts +++ b/src/app/core/services/permission/permission.service.ts @@ -1,39 +1,22 @@ import { Injectable } from '@angular/core'; import { LocalStorageService } from '../localstorage.service'; import { localKeys } from '../../constants/localStorage.keys'; -import { CommonRoutes } from 'src/global.routes'; -import { manageSessionAction, manageUserAction, permissions } from '../../constants/permissionsConstant'; @Injectable({ providedIn: 'root', }) export class PermissionService { -public userPermissions:any[] = [ - { - title: 'MANAGE_USER', - url: CommonRoutes.ADMIN + '/' + CommonRoutes.MANAGE_USER, - icon: 'people-outline', - module: permissions.MANAGE_USER, - request_type: manageUserAction.USER_ACTIONS, - }, - { - title: 'MANAGE_SESSION', - url: CommonRoutes.ADMIN + '/' + CommonRoutes.MANAGE_SESSION, - icon: 'people-outline', - module: permissions.MANAGE_SESSION, - request_type: manageSessionAction.SESSION_ACTIONS, - }, - ]; + userPermissions:any = []; constructor(private localStorage: LocalStorageService){} async hasPermission(permissions: any): Promise { - // if(!this.userPermissions.length){ - // await this.fetchPermissions().then((res) =>{ - // this.userPermissions = res; - // }) - // } + if(!this.userPermissions.length){ + await this.fetchPermissions().then((res) =>{ + this.userPermissions = res; + }) + } for (let userPermission of this.userPermissions) { if (permissions && userPermission.request_type.length && permissions.module === userPermission.module) { if (permissions.action.every((value: any) => userPermission.request_type.includes(value))) { @@ -45,17 +28,17 @@ public userPermissions:any[] = [ } } - // async fetchPermissions():Promise { - // return new Promise((resolve, reject) => { - // try { - // this.localStorage.getLocalData(localKeys.USER_DETAILS) - // .then(async (data) => { - // if(data) { - // resolve(data?.permissions); - // } - // }) - // } catch (error) {} - // }); + async fetchPermissions():Promise { + return new Promise((resolve, reject) => { + try { + this.localStorage.getLocalData(localKeys.USER_DETAILS) + .then(async (data) => { + if(data) { + resolve(data?.permissions); + } + }) + } catch (error) {} + }); - // } + } }