@ieeesa-npm/tenants 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/assets/constants.json +42 -0
- package/esm2022/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.mjs +391 -0
- package/esm2022/lib/components/tenant-basic-details/tenant-basic-details.component.mjs +1 -1
- package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +31 -3
- package/esm2022/lib/components/view-tenant-group-types/view-tenant-group-types.component.mjs +1 -1
- package/esm2022/lib/components/view-tenants-list/view-tenants-list.component.mjs +1 -1
- package/esm2022/lib/models/roles-and-permissions-table-type.model.mjs +7 -0
- package/esm2022/lib/models/roles-and-permissions.model.mjs +1 -1
- package/esm2022/lib/models/tenant-function-type.model.mjs +2 -1
- package/esm2022/lib/services/tenant-applications.service.mjs +46 -1
- package/esm2022/lib/services/tenant-permissions-map.service.mjs +3 -3
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/ieeesa-npm-tenants.mjs +525 -21
- package/fesm2022/ieeesa-npm-tenants.mjs.map +1 -1
- package/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.d.ts +106 -0
- package/lib/components/tenant-basic-details/tenant-basic-details.component.d.ts +42 -0
- package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +7 -0
- package/lib/models/roles-and-permissions-table-type.model.d.ts +4 -0
- package/lib/models/roles-and-permissions.model.d.ts +44 -0
- package/lib/models/tenant-function-type.model.d.ts +2 -1
- package/lib/services/tenant-applications.service.d.ts +28 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
package/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { AlignType, FormGrid, FormModel, SelectOption, SlideToggleOption, DynamicFormComponent, TableColumnSchema } from '@ieeesa-npm/presentation';
|
|
5
|
+
import { TenantApplicationsService } from '../../services/tenant-applications.service';
|
|
6
|
+
import { Permission, ModifiedRolesAndPermissionsMapping, RoleDetails, RoleOrPermissionMapping, RolePermissionMappingRequestPayload } from '../../models/roles-and-permissions.model';
|
|
7
|
+
import { RoleAndPermissionsTableType } from '../../models/roles-and-permissions-table-type.model';
|
|
8
|
+
import { FormUtilityService, SharedService } from '@ieeesa-npm/shared';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class RolesAndPermissionsMappingComponent implements OnInit, OnDestroy {
|
|
11
|
+
private tenantAppService;
|
|
12
|
+
private sharedService;
|
|
13
|
+
elementRef: ElementRef;
|
|
14
|
+
private formUtilityService;
|
|
15
|
+
constants: any;
|
|
16
|
+
mapRolesAndPermissionsScreenTexts: any;
|
|
17
|
+
formGroup: FormModel;
|
|
18
|
+
colWidth: FormGrid;
|
|
19
|
+
actionButtonAlign: AlignType;
|
|
20
|
+
leftButtonLabel: any;
|
|
21
|
+
rightButtonLabel: any;
|
|
22
|
+
roles: SelectOption[];
|
|
23
|
+
permissions: SelectOption[];
|
|
24
|
+
appId: string;
|
|
25
|
+
destroy$: Subject<boolean>;
|
|
26
|
+
tableColumnSchema: TableColumnSchema[];
|
|
27
|
+
tableData: RoleOrPermissionMapping[];
|
|
28
|
+
selectedRole: RoleDetails;
|
|
29
|
+
selectedPermission: Permission;
|
|
30
|
+
modifiedRolesAndPermissionsMapping: ModifiedRolesAndPermissionsMapping[];
|
|
31
|
+
tableHeading: string;
|
|
32
|
+
rolePermissionMappingPayload: RolePermissionMappingRequestPayload;
|
|
33
|
+
formCancel: EventEmitter<any>;
|
|
34
|
+
dynamicFormComponent: DynamicFormComponent;
|
|
35
|
+
constructor(tenantAppService: TenantApplicationsService, sharedService: SharedService, elementRef: ElementRef, formUtilityService: FormUtilityService);
|
|
36
|
+
/**
|
|
37
|
+
* Initializes form group and all the page defaults.
|
|
38
|
+
* @memberof MapPermissionsRolesComponent
|
|
39
|
+
* @returns {void}
|
|
40
|
+
*/
|
|
41
|
+
ngOnInit(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Constructs the role or permission table schema to display the associated mapping in a table view.
|
|
44
|
+
* @param {FormGroup[]} formGroups
|
|
45
|
+
* @memberof MapPermissionsRolesComponent
|
|
46
|
+
* @returns {void}
|
|
47
|
+
*/
|
|
48
|
+
onRoleOrPermissionSelected(formGroups: FormGroup[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* Gets the list of roles and displayed in the role dropdown.
|
|
51
|
+
* @memberof MapPermissionsRolesComponent
|
|
52
|
+
* @returns {void}
|
|
53
|
+
*/
|
|
54
|
+
getRoles(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Gets the list of permissions and displayed in the permission dropdown.
|
|
57
|
+
* @memberof MapPermissionsRolesComponent
|
|
58
|
+
* @returns {void}
|
|
59
|
+
*/
|
|
60
|
+
getPermissions(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Gets the list of mapped roles/permissions from the backend api.
|
|
63
|
+
* @param {RolePermissionMappingRequestPayload} payload
|
|
64
|
+
* @memberof MapPermissionsRolesComponent
|
|
65
|
+
* @returns {void}
|
|
66
|
+
*/
|
|
67
|
+
getRolePermissionMapping(payload: RolePermissionMappingRequestPayload): void;
|
|
68
|
+
/**
|
|
69
|
+
* Displaying the mapped roles and permissions data into the data table.
|
|
70
|
+
* @param {SelectOption[]} roleOrPermissions
|
|
71
|
+
* @param {RoleDetails[] | Permission[]} mappedRoleOrPermissions
|
|
72
|
+
* @param {RoleAndPermissionsTableType} tableType
|
|
73
|
+
* @memberof MapPermissionsRolesComponent
|
|
74
|
+
* @returns {void}
|
|
75
|
+
*/
|
|
76
|
+
setTableData(roleOrPermissions: SelectOption[], mappedRoleOrPermissions: RoleDetails[] | Permission[], tableType: RoleAndPermissionsTableType): void;
|
|
77
|
+
/**
|
|
78
|
+
* Constructs the payload based on the roles and permissions mapping (selection or deselection).
|
|
79
|
+
* @param roleOrPermissionStatus
|
|
80
|
+
* @memberof MapPermissionsRolesComponent
|
|
81
|
+
* @returns {void}
|
|
82
|
+
*/
|
|
83
|
+
roleOrPermissionStatusChange(roleOrPermissionStatus: {
|
|
84
|
+
slideToggle: SlideToggleOption;
|
|
85
|
+
rowData: RoleOrPermissionMapping;
|
|
86
|
+
}): void;
|
|
87
|
+
/**
|
|
88
|
+
* Submits the roles and permissions mappings to the server.
|
|
89
|
+
* @memberof MapPermissionsRolesComponent
|
|
90
|
+
* @returns {void}
|
|
91
|
+
*/
|
|
92
|
+
onMapAndPermissionsFormSubmit(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Closes the map and permissions modal.
|
|
95
|
+
* @memberof MapPermissionsRolesComponent
|
|
96
|
+
* @returns {void}
|
|
97
|
+
*/
|
|
98
|
+
onMapAndPermissionsFormCancel(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
|
|
101
|
+
* @memberof ViewTenantDetailsComponent
|
|
102
|
+
*/
|
|
103
|
+
ngOnDestroy(): void;
|
|
104
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RolesAndPermissionsMappingComponent, never>;
|
|
105
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RolesAndPermissionsMappingComponent, "ieeesa-roles-and-permissions-mapping", never, {}, { "formCancel": "formCancel"; }, never, never, true, never>;
|
|
106
|
+
}
|
|
@@ -281,6 +281,48 @@ export declare class TenantBasicDetailsComponent implements OnDestroy {
|
|
|
281
281
|
isToolTipNeeded: boolean;
|
|
282
282
|
}[];
|
|
283
283
|
};
|
|
284
|
+
mapRolesAndPermissions: {
|
|
285
|
+
heading: string;
|
|
286
|
+
legend: string;
|
|
287
|
+
roleTableCaption: string;
|
|
288
|
+
permissionTableCaption: string;
|
|
289
|
+
label: {
|
|
290
|
+
leftButtonLabel: string;
|
|
291
|
+
rightButtonLabel: string;
|
|
292
|
+
role: string;
|
|
293
|
+
permission: string;
|
|
294
|
+
ariaLabel: {
|
|
295
|
+
role: string;
|
|
296
|
+
permission: string;
|
|
297
|
+
};
|
|
298
|
+
ariaDescribedById: {
|
|
299
|
+
role: string;
|
|
300
|
+
permission: string;
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
tableColumns: {
|
|
304
|
+
role: string;
|
|
305
|
+
permission: string;
|
|
306
|
+
status: string;
|
|
307
|
+
};
|
|
308
|
+
message: {
|
|
309
|
+
success: {
|
|
310
|
+
rolesAndPermissionsSubmission: string;
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
supportText: {
|
|
314
|
+
role: string;
|
|
315
|
+
permission: string;
|
|
316
|
+
};
|
|
317
|
+
errors: {
|
|
318
|
+
"3007": string;
|
|
319
|
+
"3008": string;
|
|
320
|
+
"3009": string;
|
|
321
|
+
"3020": string;
|
|
322
|
+
"3017": string;
|
|
323
|
+
"3021": string;
|
|
324
|
+
};
|
|
325
|
+
};
|
|
284
326
|
deleteRole: {
|
|
285
327
|
message: {
|
|
286
328
|
success: {
|
|
@@ -58,6 +58,7 @@ export declare class ViewTenantDetailsComponent implements OnInit, OnDestroy {
|
|
|
58
58
|
isBasicDetailsExpanded: boolean;
|
|
59
59
|
editTenantScreenTexts: any;
|
|
60
60
|
deleteRoleScreenTexts: any;
|
|
61
|
+
mapRolesAndPermissionsScreenTexts: any;
|
|
61
62
|
alignmentType: typeof AlignType;
|
|
62
63
|
userTenantsPermissions: TenantsPermissions[];
|
|
63
64
|
permissionType: typeof PermissionType;
|
|
@@ -157,6 +158,12 @@ export declare class ViewTenantDetailsComponent implements OnInit, OnDestroy {
|
|
|
157
158
|
* @memberof ViewTenantDetailsComponent
|
|
158
159
|
*/
|
|
159
160
|
openTenantStatusConfirmationModal(isActivate: boolean): void;
|
|
161
|
+
/**
|
|
162
|
+
* Opens the map permissions and roles modal.
|
|
163
|
+
* @memberof ViewTenantDetailsComponent
|
|
164
|
+
* @returns {void}
|
|
165
|
+
*/
|
|
166
|
+
openMapRolesAndPermissionsForm(): void;
|
|
160
167
|
/**
|
|
161
168
|
* Updates the tenant status to the server using http request and display success/error message based on request response (success or failure).
|
|
162
169
|
* @param {boolean} isActivate
|
|
@@ -73,3 +73,47 @@ export interface DeleteRoleResponse {
|
|
|
73
73
|
errorCodes: string[];
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
+
export interface Permission {
|
|
77
|
+
permissionId: string;
|
|
78
|
+
permissionName: string;
|
|
79
|
+
}
|
|
80
|
+
export interface GetPermissionsResponse {
|
|
81
|
+
status: boolean;
|
|
82
|
+
message: string;
|
|
83
|
+
body?: Permission[] | null | {
|
|
84
|
+
errorCodes: string[];
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export interface RoleOrPermissionMapping {
|
|
88
|
+
roleOrPermissionName: string;
|
|
89
|
+
roleOrPermissionId: string;
|
|
90
|
+
status: boolean;
|
|
91
|
+
}
|
|
92
|
+
export interface MapRolesAndPermissions {
|
|
93
|
+
appId: string;
|
|
94
|
+
permissionId: string | null;
|
|
95
|
+
roleId: string | null;
|
|
96
|
+
}
|
|
97
|
+
export interface ModifiedRolesAndPermissionsMapping extends MapRolesAndPermissions {
|
|
98
|
+
status: boolean;
|
|
99
|
+
}
|
|
100
|
+
export interface RolePermissionMappingRequestPayload {
|
|
101
|
+
payload: MapRolesAndPermissions;
|
|
102
|
+
}
|
|
103
|
+
export interface RolePermissionMappingResponse {
|
|
104
|
+
status: boolean;
|
|
105
|
+
message: string;
|
|
106
|
+
body?: RoleDetails[] | Permission[] | {
|
|
107
|
+
errorCodes: string[];
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export interface RolesAndPermissionsRequestPayload {
|
|
111
|
+
payload: ModifiedRolesAndPermissionsMapping[];
|
|
112
|
+
}
|
|
113
|
+
export interface RolesAndPermissionsResponse {
|
|
114
|
+
status: boolean;
|
|
115
|
+
message: string;
|
|
116
|
+
body?: string | {
|
|
117
|
+
errorCodes: string[];
|
|
118
|
+
};
|
|
119
|
+
}
|
|
@@ -10,7 +10,7 @@ import { FeatureId, Features, GetFeaturesResponse } from '../models/features.mod
|
|
|
10
10
|
import { AppTypeConfig, GetAppTypesResponse } from '../models/app-type-config.model';
|
|
11
11
|
import { TenantPermissionsService } from './tenant-permissions.service';
|
|
12
12
|
import { TenantFunctionType } from '../models/tenant-function-type.model';
|
|
13
|
-
import { GetRolesAndPermissionsPayload, GetRolesAndPermissionsResponse, GetRolesResponse, RoleInfo, DeleteRoleRequestPayload, DeleteRoleResponse, Role, RoleDetails, CreateModifyRoleRequestPayload, CreateModifyRoleResponse } from '../models/roles-and-permissions.model';
|
|
13
|
+
import { GetRolesAndPermissionsPayload, GetRolesAndPermissionsResponse, GetRolesResponse, RoleInfo, DeleteRoleRequestPayload, DeleteRoleResponse, Role, GetPermissionsResponse, RolePermissionMappingRequestPayload, RolePermissionMappingResponse, RolesAndPermissionsRequestPayload, RolesAndPermissionsResponse, RoleDetails, CreateModifyRoleRequestPayload, CreateModifyRoleResponse } from '../models/roles-and-permissions.model';
|
|
14
14
|
import { UpdateTenantStatusRequestPayload, UpdateTenantStatusResponse } from '../models/update-tenant-status.model';
|
|
15
15
|
import { GetRoleTypesPayload, RoleTypeConfiguration, RoleTypeOption, RoleTypeResponse } from '../models/role-type.model';
|
|
16
16
|
import { ViewGroupTypeResponse } from '../models/view-tenant-group-types.model';
|
|
@@ -34,6 +34,12 @@ export declare class TenantApplicationsService {
|
|
|
34
34
|
selectedTenantInfo: TenantBasicInfo | undefined;
|
|
35
35
|
userTenantsPermissions: TenantsPermissions[];
|
|
36
36
|
createTenantsText: {
|
|
37
|
+
/**
|
|
38
|
+
* Gets tenant details from server using HttpService
|
|
39
|
+
* @param {string} appId
|
|
40
|
+
* @return {Observable<TenantDetailsResponse>}
|
|
41
|
+
* @memberof TenantApplicationsService
|
|
42
|
+
*/
|
|
37
43
|
"2003": string;
|
|
38
44
|
"2026": string;
|
|
39
45
|
"2028": string;
|
|
@@ -187,6 +193,27 @@ export declare class TenantApplicationsService {
|
|
|
187
193
|
* @memberof TenantApplicationsService
|
|
188
194
|
*/
|
|
189
195
|
getRoles(appId: string): Observable<GetRolesResponse>;
|
|
196
|
+
/**
|
|
197
|
+
* Gets the list of permissions based on the appId and return the success or error response as Observable.
|
|
198
|
+
* @param {string} appId
|
|
199
|
+
* @return {Observable<GetPermissionsResponse>}
|
|
200
|
+
* @memberof TenantApplicationsService
|
|
201
|
+
*/
|
|
202
|
+
getPermissions(appId: string): Observable<GetPermissionsResponse>;
|
|
203
|
+
/**
|
|
204
|
+
* Gets the list of roles or permissions based on the roleId or permissionId in the payload and return the success or error response as Observable.
|
|
205
|
+
* @param {RolePermissionMappingRequestPayload} payload
|
|
206
|
+
* @returns {Observable<RolePermissionMappingResponse>}
|
|
207
|
+
* @memberof TenantApplicationsService
|
|
208
|
+
*/
|
|
209
|
+
getRolePermissionMapping(payload: RolePermissionMappingRequestPayload): Observable<RolePermissionMappingResponse>;
|
|
210
|
+
/**
|
|
211
|
+
* Submit the new mappings of roles to permissions to the server.
|
|
212
|
+
* @param {RolesAndPermissionsRequestPayload} payload
|
|
213
|
+
* @returns {Observable<RolesAndPermissionsResponse>}
|
|
214
|
+
* @memberof TenantApplicationsService
|
|
215
|
+
*/
|
|
216
|
+
saveRolePermissionMapping(payload: RolesAndPermissionsRequestPayload): Observable<RolesAndPermissionsResponse>;
|
|
190
217
|
/**
|
|
191
218
|
* Gets list of roles and permissions mappings from server using HttpService.
|
|
192
219
|
* @param {string} appId
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './lib/components/create-tenant-application/create-tenant-applicat
|
|
|
4
4
|
export * from './lib/tenant-applications.component';
|
|
5
5
|
export * from './lib/components/tenant-basic-details/tenant-basic-details.component';
|
|
6
6
|
export * from './lib/components/create-modify-role/create-modify-role.component';
|
|
7
|
+
export * from './lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component';
|
|
7
8
|
export * from './lib/components/view-tenant-group-types/view-tenant-group-types.component';
|
|
8
9
|
export * from './lib/models/app-type-config.model';
|
|
9
10
|
export * from './lib/models/app-type.model';
|
|
@@ -19,6 +20,7 @@ export * from './lib/models/update-tenant-status.model';
|
|
|
19
20
|
export * from './lib/models/tenant-function-type.model';
|
|
20
21
|
export * from './lib/models/role-type.model';
|
|
21
22
|
export * from './lib/models/role-menu-action.model';
|
|
23
|
+
export * from './lib/models/roles-and-permissions-table-type.model';
|
|
22
24
|
export * from './lib/models/view-tenant-group-types.model';
|
|
23
25
|
export * from './lib/services/tenant-applications.service';
|
|
24
26
|
export * from './lib/services/tenant-permissions-map.service';
|