@ieeesa-npm/tenants 0.4.4 → 0.5.0

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.
Files changed (142) hide show
  1. package/esm2022/ieeesa-npm-tenants.mjs +5 -0
  2. package/esm2022/lib/assets/constants.json +454 -0
  3. package/esm2022/lib/assets/tenant-validations.mjs +17 -0
  4. package/esm2022/lib/components/create-modify-group-type/create-modify-group-type.component.mjs +476 -0
  5. package/esm2022/lib/components/create-modify-role/create-modify-role.component.mjs +279 -0
  6. package/esm2022/lib/components/create-tenant-application/create-tenant-application.component.mjs +512 -0
  7. package/esm2022/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.mjs +391 -0
  8. package/esm2022/lib/components/tenant-basic-details/tenant-basic-details.component.mjs +94 -0
  9. package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +733 -0
  10. package/esm2022/lib/components/view-tenant-group-types/view-tenant-group-types.component.mjs +194 -0
  11. package/esm2022/lib/components/view-tenants-list/view-tenants-list.component.mjs +335 -0
  12. package/esm2022/lib/models/app-type-config.model.mjs +2 -0
  13. package/esm2022/lib/models/app-type.model.mjs +7 -0
  14. package/esm2022/lib/models/create-group-type-config.model.mjs +22 -0
  15. package/esm2022/lib/models/create-group-type.model.mjs +2 -0
  16. package/esm2022/lib/models/feature-permission-id.model.mjs +8 -0
  17. package/esm2022/lib/models/features.model.mjs +2 -0
  18. package/esm2022/lib/models/permission-type.model.mjs +12 -0
  19. package/esm2022/lib/models/role-menu-action.model.mjs +7 -0
  20. package/esm2022/lib/models/role-type.model.mjs +2 -0
  21. package/esm2022/lib/models/roles-and-permissions-table-type.model.mjs +7 -0
  22. package/esm2022/lib/models/roles-and-permissions.model.mjs +2 -0
  23. package/esm2022/lib/models/route-config.model.mjs +2 -0
  24. package/esm2022/lib/models/table-column-schema-view-tenant-list.model.mjs +16 -0
  25. package/esm2022/lib/models/tenant-function-type.model.mjs +12 -0
  26. package/esm2022/lib/models/tenant.model.mjs +2 -0
  27. package/esm2022/lib/models/tenants-permission.model.mjs +2 -0
  28. package/esm2022/lib/models/update-tenant-status.model.mjs +2 -0
  29. package/esm2022/lib/models/view-tenant-group-types.model.mjs +11 -0
  30. package/esm2022/lib/services/tenant-applications.service.mjs +618 -0
  31. package/esm2022/lib/services/tenant-permissions-map.service.mjs +36 -0
  32. package/esm2022/lib/services/tenant-permissions.service.mjs +38 -0
  33. package/esm2022/lib/tenant-applications.component.mjs +14 -0
  34. package/esm2022/lib/tenant-applications.module.mjs +16 -0
  35. package/esm2022/public-api.mjs +36 -0
  36. package/fesm2022/ieeesa-npm-tenants.mjs +4233 -0
  37. package/fesm2022/ieeesa-npm-tenants.mjs.map +1 -0
  38. package/index.d.ts +5 -0
  39. package/lib/assets/tenant-validations.d.ts +15 -0
  40. package/lib/components/create-modify-group-type/create-modify-group-type.component.d.ts +129 -0
  41. package/lib/components/create-modify-role/create-modify-role.component.d.ts +103 -0
  42. package/lib/components/create-tenant-application/create-tenant-application.component.d.ts +128 -0
  43. package/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.d.ts +106 -0
  44. package/lib/components/tenant-basic-details/tenant-basic-details.component.d.ts +471 -0
  45. package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +223 -0
  46. package/lib/components/view-tenant-group-types/view-tenant-group-types.component.d.ts +63 -0
  47. package/lib/components/view-tenants-list/view-tenants-list.component.d.ts +134 -0
  48. package/lib/models/app-type-config.model.d.ts +14 -0
  49. package/lib/models/app-type.model.d.ts +4 -0
  50. package/lib/models/create-group-type-config.model.d.ts +16 -0
  51. package/lib/models/create-group-type.model.d.ts +49 -0
  52. package/lib/models/feature-permission-id.model.d.ts +4 -0
  53. package/lib/models/features.model.d.ts +15 -0
  54. package/lib/models/permission-type.model.d.ts +8 -0
  55. package/lib/models/role-menu-action.model.d.ts +4 -0
  56. package/lib/models/role-type.model.d.ts +27 -0
  57. package/lib/models/roles-and-permissions-table-type.model.d.ts +4 -0
  58. package/lib/models/roles-and-permissions.model.d.ts +119 -0
  59. package/lib/models/route-config.model.d.ts +4 -0
  60. package/lib/models/table-column-schema-view-tenant-list.model.d.ts +20 -0
  61. package/lib/models/tenant-function-type.model.d.ts +9 -0
  62. package/lib/models/tenant.model.d.ts +51 -0
  63. package/lib/models/tenants-permission.model.d.ts +9 -0
  64. package/lib/models/update-tenant-status.model.d.ts +14 -0
  65. package/lib/models/view-tenant-group-types.model.d.ts +29 -0
  66. package/lib/services/tenant-applications.service.d.ts +399 -0
  67. package/lib/services/tenant-permissions-map.service.d.ts +13 -0
  68. package/lib/services/tenant-permissions.service.d.ts +22 -0
  69. package/lib/tenant-applications.component.d.ts +5 -0
  70. package/lib/tenant-applications.module.d.ts +6 -0
  71. package/package.json +25 -12
  72. package/{src/public-api.ts → public-api.d.ts} +32 -40
  73. package/.eslintrc.json +0 -31
  74. package/ng-package.json +0 -8
  75. package/src/lib/assets/constants.json +0 -454
  76. package/src/lib/assets/tenant-validations.ts +0 -18
  77. package/src/lib/assets/tenants-mock.ts +0 -1240
  78. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.html +0 -15
  79. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.scss +0 -44
  80. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.spec.ts +0 -574
  81. package/src/lib/components/create-modify-group-type/create-modify-group-type.component.ts +0 -602
  82. package/src/lib/components/create-modify-role/create-modify-role.component.html +0 -15
  83. package/src/lib/components/create-modify-role/create-modify-role.component.scss +0 -83
  84. package/src/lib/components/create-modify-role/create-modify-role.component.spec.ts +0 -346
  85. package/src/lib/components/create-modify-role/create-modify-role.component.ts +0 -321
  86. package/src/lib/components/create-tenant-application/create-tenant-application.component.html +0 -18
  87. package/src/lib/components/create-tenant-application/create-tenant-application.component.scss +0 -73
  88. package/src/lib/components/create-tenant-application/create-tenant-application.component.spec.ts +0 -775
  89. package/src/lib/components/create-tenant-application/create-tenant-application.component.ts +0 -638
  90. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.html +0 -22
  91. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.scss +0 -79
  92. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.spec.ts +0 -716
  93. package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.ts +0 -504
  94. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.html +0 -44
  95. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.scss +0 -16
  96. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.spec.ts +0 -115
  97. package/src/lib/components/tenant-basic-details/tenant-basic-details.component.ts +0 -109
  98. package/src/lib/components/view-tenant-details/view-tenant-details.component.html +0 -195
  99. package/src/lib/components/view-tenant-details/view-tenant-details.component.scss +0 -163
  100. package/src/lib/components/view-tenant-details/view-tenant-details.component.spec.ts +0 -1221
  101. package/src/lib/components/view-tenant-details/view-tenant-details.component.ts +0 -876
  102. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.html +0 -10
  103. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.scss +0 -44
  104. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.spec.ts +0 -410
  105. package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.ts +0 -219
  106. package/src/lib/components/view-tenants-list/view-tenants-list.component.html +0 -32
  107. package/src/lib/components/view-tenants-list/view-tenants-list.component.scss +0 -35
  108. package/src/lib/components/view-tenants-list/view-tenants-list.component.spec.ts +0 -464
  109. package/src/lib/components/view-tenants-list/view-tenants-list.component.ts +0 -388
  110. package/src/lib/models/app-type-config.model.ts +0 -14
  111. package/src/lib/models/app-type.model.ts +0 -5
  112. package/src/lib/models/create-group-type-config.model.ts +0 -18
  113. package/src/lib/models/create-group-type.model.ts +0 -46
  114. package/src/lib/models/feature-permission-id.model.ts +0 -6
  115. package/src/lib/models/features.model.ts +0 -15
  116. package/src/lib/models/form-status.model.ts +0 -5
  117. package/src/lib/models/permission-type.model.ts +0 -9
  118. package/src/lib/models/role-menu-action.model.ts +0 -5
  119. package/src/lib/models/role-type.model.ts +0 -34
  120. package/src/lib/models/roles-and-permissions-table-type.model.ts +0 -5
  121. package/src/lib/models/roles-and-permissions.model.ts +0 -113
  122. package/src/lib/models/route-config.model.ts +0 -4
  123. package/src/lib/models/table-column-schema-view-tenant-list.model.ts +0 -21
  124. package/src/lib/models/tenant-function-type.model.ts +0 -10
  125. package/src/lib/models/tenant.model.ts +0 -47
  126. package/src/lib/models/tenants-permission.model.ts +0 -9
  127. package/src/lib/models/update-tenant-status.model.ts +0 -12
  128. package/src/lib/models/view-tenant-group-types.model.ts +0 -34
  129. package/src/lib/services/tenant-applications.service.spec.ts +0 -1245
  130. package/src/lib/services/tenant-applications.service.ts +0 -798
  131. package/src/lib/services/tenant-permissions-map.service.spec.ts +0 -25
  132. package/src/lib/services/tenant-permissions-map.service.ts +0 -28
  133. package/src/lib/services/tenant-permissions.service.spec.ts +0 -62
  134. package/src/lib/services/tenant-permissions.service.ts +0 -49
  135. package/src/lib/tenant-applications.component.html +0 -0
  136. package/src/lib/tenant-applications.component.scss +0 -0
  137. package/src/lib/tenant-applications.component.spec.ts +0 -28
  138. package/src/lib/tenant-applications.component.ts +0 -12
  139. package/src/lib/tenant-applications.module.ts +0 -8
  140. package/tsconfig.lib.json +0 -14
  141. package/tsconfig.lib.prod.json +0 -10
  142. package/tsconfig.spec.json +0 -14
@@ -1,25 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { TenantPermissionsMapService } from './tenant-permissions-map.service';
3
- import { TenantsMocks } from '../assets/tenants-mock';
4
- describe('TenantPermissionsMapService', () => {
5
- let service: TenantPermissionsMapService;
6
- beforeEach(() => {
7
- TestBed.configureTestingModule({});
8
- service = TestBed.inject(TenantPermissionsMapService);
9
- });
10
- it('should be created', () => {
11
- expect(service).toBeTruthy();
12
- });
13
- describe('#getGlobalTenantsPermissions', () => {
14
- it('should return global tenants permissions', () => {
15
- spyOn(service, 'getGlobalTenantsPermissions').and.returnValue(
16
- TenantsMocks.mockGlobalTenantsPermissions
17
- );
18
- const globalTenantPermissionsResponse =
19
- service.getGlobalTenantsPermissions();
20
- expect(globalTenantPermissionsResponse).toEqual(
21
- TenantsMocks.mockGlobalTenantsPermissions
22
- );
23
- });
24
- });
25
- });
@@ -1,28 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { PermissionType } from '../models/permission-type.model';
3
- import { TenantsPermissions } from '../models/tenants-permission.model';
4
- @Injectable({
5
- providedIn: 'root',
6
- })
7
- export class TenantPermissionsMapService {
8
- globalTenantsPermissions: TenantsPermissions[] = [
9
- {
10
- permissionType: PermissionType.VIEW_TENANTS,
11
- permissionId: 'PERM_1a2dbbb5-5fe1-4261-85b1-a5373f41075a',
12
- permissionName: 'View Tenant Applications',
13
- },
14
- {
15
- permissionType: PermissionType.MANAGE_TENANT,
16
- permissionId: 'PERM_315c49ec-f79a-4dcd-9795-6f97838c8c83',
17
- permissionName: 'Manage (Create, Edit, Disable) Tenant Application',
18
- },
19
- ];
20
- /**
21
- * Returns global permissions mapping for tenants.
22
- * @return {TenantsPermissions[]}
23
- * @memberof TenantsPermissionsMapService
24
- */
25
- getGlobalTenantsPermissions(): TenantsPermissions[] {
26
- return this.globalTenantsPermissions;
27
- }
28
- }
@@ -1,62 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { TenantPermissionsService } from './tenant-permissions.service';
3
- import { PermissionType } from '../models/permission-type.model';
4
- import { TenantsMocks } from '../assets/tenants-mock';
5
- import { TenantPermissionsMapService } from './tenant-permissions-map.service';
6
- describe('TenantPermissionsService', () => {
7
- let service: TenantPermissionsService;
8
- let tenantPermissionsMapService: TenantPermissionsMapService;
9
- beforeEach(() => {
10
- TestBed.configureTestingModule({
11
- providers: [TenantPermissionsMapService],
12
- });
13
- service = TestBed.inject(TenantPermissionsService);
14
- tenantPermissionsMapService = TestBed.inject(TenantPermissionsMapService);
15
- });
16
- it('should be created', () => {
17
- expect(service).toBeTruthy();
18
- });
19
-
20
- describe('#validateAccessPermission', () => {
21
- it('should validate the user is authorized to MANAGE_TENANT and returns true', () => {
22
- expect(
23
- service.validateAccessPermission(PermissionType.MANAGE_TENANT, [
24
- {
25
- permissionType: PermissionType.MANAGE_TENANT,
26
- permissionName: 'View Tenant Applications',
27
- permissionId: 'PERM_1a2dbbb5-5fe1-4261-85b1-a5373f41075a',
28
- },
29
- ])
30
- ).toBeTrue();
31
- });
32
- it('should validate the user is not authorized to MANAGE_TENANT if tenant permission is empty then returns false', () => {
33
- expect(
34
- service.validateAccessPermission(PermissionType.MANAGE_TENANT, [])
35
- ).toBeFalsy();
36
- });
37
- it('should validate the user is authorized to VIEW_TENANTS and returns true', () => {
38
- expect(
39
- service.validateAccessPermission(
40
- PermissionType.VIEW_TENANTS,
41
- TenantsMocks.mockGlobalTenantsPermissions
42
- )
43
- ).toBeTruthy();
44
- });
45
- });
46
-
47
- describe('#filterTenantsPermissions', () => {
48
- it('should filter tenants permissions as per user access', () => {
49
- spyOn(
50
- tenantPermissionsMapService,
51
- 'getGlobalTenantsPermissions'
52
- ).and.returnValue(TenantsMocks.mockGlobalTenantsPermissions);
53
- const tenantsPermissionsResponse = service.filterTenantsPermissions(
54
- TenantsMocks.mockUserPermissions,
55
- TenantsMocks.mockGlobalTenantsPermissions
56
- );
57
- expect(tenantsPermissionsResponse).toEqual(
58
- TenantsMocks.mockGlobalTenantsPermissions
59
- );
60
- });
61
- });
62
- });
@@ -1,49 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { PermissionType } from '../models/permission-type.model';
3
- import {
4
- UserPermission,
5
- TenantsPermissions,
6
- } from '../models/tenants-permission.model';
7
- @Injectable({
8
- providedIn: 'root',
9
- })
10
- export class TenantPermissionsService {
11
- /**
12
- * Returns access provision for the passed action/feature based on whether the signed in user has appropriate permission.
13
- * @param {PermissionType} permission
14
- * @param {TenantsPermission[]} tenantsPermissions
15
- * @return {boolean}
16
- * @memberof TenantPermissionsService
17
- */
18
- validateAccessPermission(
19
- permission: PermissionType,
20
- userTenantsPermissions: TenantsPermissions[]
21
- ): boolean {
22
- const isPermitted =
23
- userTenantsPermissions && userTenantsPermissions.length
24
- ? userTenantsPermissions?.some(
25
- ({ permissionType }) => permissionType === permission
26
- )
27
- : false;
28
- return isPermitted;
29
- }
30
- /**
31
- * Filters signed in user tenants permissions from entire tenants permissions.
32
- * @param { UserPermission[] }
33
- * @return {TenantsPermissions[]}
34
- * @memberof TenantPermissionsService
35
- */
36
- filterTenantsPermissions(
37
- userPermissions: UserPermission[],
38
- tenantsPermissions: TenantsPermissions[]
39
- ): TenantsPermissions[] {
40
- const userTenantsPermission = tenantsPermissions?.filter(
41
- (permission: TenantsPermissions) => {
42
- return userPermissions?.find(
43
- ({ permissionId }) => permission?.permissionId === permissionId
44
- );
45
- }
46
- );
47
- return userTenantsPermission;
48
- }
49
- }
File without changes
File without changes
@@ -1,28 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { TenantApplicationsComponent } from './tenant-applications.component';
3
- import { MatDialogModule } from '@angular/material/dialog';
4
- import { TenantApplicationsService } from './services/tenant-applications.service';
5
- import { HttpClientTestingModule } from '@angular/common/http/testing';
6
- import { AlertsService } from '@ieeesa-npm/utility';
7
-
8
- describe('TenantApplicationsComponent', () => {
9
- let component: TenantApplicationsComponent;
10
- let fixture: ComponentFixture<TenantApplicationsComponent>;
11
-
12
- beforeEach(() => {
13
- TestBed.configureTestingModule({
14
- imports: [
15
- TenantApplicationsComponent,
16
- MatDialogModule,
17
- HttpClientTestingModule,
18
- ],
19
- providers: [TenantApplicationsService, AlertsService],
20
- });
21
- fixture = TestBed.createComponent(TenantApplicationsComponent);
22
- component = fixture.componentInstance;
23
- fixture.detectChanges();
24
- });
25
- it('should create', () => {
26
- expect(component).toBeTruthy();
27
- });
28
- });
@@ -1,12 +0,0 @@
1
- /* eslint-disable no-empty-function */
2
- import { Component } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { MatButtonModule } from '@angular/material/button';
5
- @Component({
6
- selector: 'ieeesa-tenant-applications',
7
- standalone: true,
8
- imports: [CommonModule, MatButtonModule],
9
- templateUrl: './tenant-applications.component.html',
10
- styleUrls: ['./tenant-applications.component.scss'],
11
- })
12
- export class TenantApplicationsComponent {}
@@ -1,8 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- @NgModule({
3
- declarations: [
4
- ],
5
- imports: [],
6
- exports: [],
7
- })
8
- export class TenantApplicationsModule {}
package/tsconfig.lib.json DELETED
@@ -1,14 +0,0 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "../../tsconfig.json",
4
- "compilerOptions": {
5
- "outDir": "../../out-tsc/lib",
6
- "declaration": true,
7
- "declarationMap": true,
8
- "inlineSources": true,
9
- "types": []
10
- },
11
- "exclude": [
12
- "**/*.spec.ts"
13
- ]
14
- }
@@ -1,10 +0,0 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "./tsconfig.lib.json",
4
- "compilerOptions": {
5
- "declarationMap": false
6
- },
7
- "angularCompilerOptions": {
8
- "compilationMode": "partial"
9
- }
10
- }
@@ -1,14 +0,0 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "../../tsconfig.json",
4
- "compilerOptions": {
5
- "outDir": "../../out-tsc/spec",
6
- "types": [
7
- "jasmine"
8
- ]
9
- },
10
- "include": [
11
- "**/*.spec.ts",
12
- "**/*.d.ts"
13
- ]
14
- }