@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.
- package/esm2022/ieeesa-npm-tenants.mjs +5 -0
- package/esm2022/lib/assets/constants.json +454 -0
- package/esm2022/lib/assets/tenant-validations.mjs +17 -0
- package/esm2022/lib/components/create-modify-group-type/create-modify-group-type.component.mjs +476 -0
- package/esm2022/lib/components/create-modify-role/create-modify-role.component.mjs +279 -0
- package/esm2022/lib/components/create-tenant-application/create-tenant-application.component.mjs +512 -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 +94 -0
- package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +733 -0
- package/esm2022/lib/components/view-tenant-group-types/view-tenant-group-types.component.mjs +194 -0
- package/esm2022/lib/components/view-tenants-list/view-tenants-list.component.mjs +335 -0
- package/esm2022/lib/models/app-type-config.model.mjs +2 -0
- package/esm2022/lib/models/app-type.model.mjs +7 -0
- package/esm2022/lib/models/create-group-type-config.model.mjs +22 -0
- package/esm2022/lib/models/create-group-type.model.mjs +2 -0
- package/esm2022/lib/models/feature-permission-id.model.mjs +8 -0
- package/esm2022/lib/models/features.model.mjs +2 -0
- package/esm2022/lib/models/permission-type.model.mjs +12 -0
- package/esm2022/lib/models/role-menu-action.model.mjs +7 -0
- package/esm2022/lib/models/role-type.model.mjs +2 -0
- package/esm2022/lib/models/roles-and-permissions-table-type.model.mjs +7 -0
- package/esm2022/lib/models/roles-and-permissions.model.mjs +2 -0
- package/esm2022/lib/models/route-config.model.mjs +2 -0
- package/esm2022/lib/models/table-column-schema-view-tenant-list.model.mjs +16 -0
- package/esm2022/lib/models/tenant-function-type.model.mjs +12 -0
- package/esm2022/lib/models/tenant.model.mjs +2 -0
- package/esm2022/lib/models/tenants-permission.model.mjs +2 -0
- package/esm2022/lib/models/update-tenant-status.model.mjs +2 -0
- package/esm2022/lib/models/view-tenant-group-types.model.mjs +11 -0
- package/esm2022/lib/services/tenant-applications.service.mjs +618 -0
- package/esm2022/lib/services/tenant-permissions-map.service.mjs +36 -0
- package/esm2022/lib/services/tenant-permissions.service.mjs +38 -0
- package/esm2022/lib/tenant-applications.component.mjs +14 -0
- package/esm2022/lib/tenant-applications.module.mjs +16 -0
- package/esm2022/public-api.mjs +36 -0
- package/fesm2022/ieeesa-npm-tenants.mjs +4233 -0
- package/fesm2022/ieeesa-npm-tenants.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/assets/tenant-validations.d.ts +15 -0
- package/lib/components/create-modify-group-type/create-modify-group-type.component.d.ts +129 -0
- package/lib/components/create-modify-role/create-modify-role.component.d.ts +103 -0
- package/lib/components/create-tenant-application/create-tenant-application.component.d.ts +128 -0
- 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 +471 -0
- package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +223 -0
- package/lib/components/view-tenant-group-types/view-tenant-group-types.component.d.ts +63 -0
- package/lib/components/view-tenants-list/view-tenants-list.component.d.ts +134 -0
- package/lib/models/app-type-config.model.d.ts +14 -0
- package/lib/models/app-type.model.d.ts +4 -0
- package/lib/models/create-group-type-config.model.d.ts +16 -0
- package/lib/models/create-group-type.model.d.ts +49 -0
- package/lib/models/feature-permission-id.model.d.ts +4 -0
- package/lib/models/features.model.d.ts +15 -0
- package/lib/models/permission-type.model.d.ts +8 -0
- package/lib/models/role-menu-action.model.d.ts +4 -0
- package/lib/models/role-type.model.d.ts +27 -0
- package/lib/models/roles-and-permissions-table-type.model.d.ts +4 -0
- package/lib/models/roles-and-permissions.model.d.ts +119 -0
- package/lib/models/route-config.model.d.ts +4 -0
- package/lib/models/table-column-schema-view-tenant-list.model.d.ts +20 -0
- package/lib/models/tenant-function-type.model.d.ts +9 -0
- package/lib/models/tenant.model.d.ts +51 -0
- package/lib/models/tenants-permission.model.d.ts +9 -0
- package/lib/models/update-tenant-status.model.d.ts +14 -0
- package/lib/models/view-tenant-group-types.model.d.ts +29 -0
- package/lib/services/tenant-applications.service.d.ts +399 -0
- package/lib/services/tenant-permissions-map.service.d.ts +13 -0
- package/lib/services/tenant-permissions.service.d.ts +22 -0
- package/lib/tenant-applications.component.d.ts +5 -0
- package/lib/tenant-applications.module.d.ts +6 -0
- package/package.json +25 -12
- package/{src/public-api.ts → public-api.d.ts} +32 -40
- package/.eslintrc.json +0 -31
- package/ng-package.json +0 -8
- package/src/lib/assets/constants.json +0 -454
- package/src/lib/assets/tenant-validations.ts +0 -18
- package/src/lib/assets/tenants-mock.ts +0 -1240
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.html +0 -15
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.scss +0 -44
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.spec.ts +0 -574
- package/src/lib/components/create-modify-group-type/create-modify-group-type.component.ts +0 -602
- package/src/lib/components/create-modify-role/create-modify-role.component.html +0 -15
- package/src/lib/components/create-modify-role/create-modify-role.component.scss +0 -83
- package/src/lib/components/create-modify-role/create-modify-role.component.spec.ts +0 -346
- package/src/lib/components/create-modify-role/create-modify-role.component.ts +0 -321
- package/src/lib/components/create-tenant-application/create-tenant-application.component.html +0 -18
- package/src/lib/components/create-tenant-application/create-tenant-application.component.scss +0 -73
- package/src/lib/components/create-tenant-application/create-tenant-application.component.spec.ts +0 -775
- package/src/lib/components/create-tenant-application/create-tenant-application.component.ts +0 -638
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.html +0 -22
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.scss +0 -79
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.spec.ts +0 -716
- package/src/lib/components/roles-and-permissions-mapping/roles-and-permissions-mapping.component.ts +0 -504
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.html +0 -44
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.scss +0 -16
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.spec.ts +0 -115
- package/src/lib/components/tenant-basic-details/tenant-basic-details.component.ts +0 -109
- package/src/lib/components/view-tenant-details/view-tenant-details.component.html +0 -195
- package/src/lib/components/view-tenant-details/view-tenant-details.component.scss +0 -163
- package/src/lib/components/view-tenant-details/view-tenant-details.component.spec.ts +0 -1221
- package/src/lib/components/view-tenant-details/view-tenant-details.component.ts +0 -876
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.html +0 -10
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.scss +0 -44
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.spec.ts +0 -410
- package/src/lib/components/view-tenant-group-types/view-tenant-group-types.component.ts +0 -219
- package/src/lib/components/view-tenants-list/view-tenants-list.component.html +0 -32
- package/src/lib/components/view-tenants-list/view-tenants-list.component.scss +0 -35
- package/src/lib/components/view-tenants-list/view-tenants-list.component.spec.ts +0 -464
- package/src/lib/components/view-tenants-list/view-tenants-list.component.ts +0 -388
- package/src/lib/models/app-type-config.model.ts +0 -14
- package/src/lib/models/app-type.model.ts +0 -5
- package/src/lib/models/create-group-type-config.model.ts +0 -18
- package/src/lib/models/create-group-type.model.ts +0 -46
- package/src/lib/models/feature-permission-id.model.ts +0 -6
- package/src/lib/models/features.model.ts +0 -15
- package/src/lib/models/form-status.model.ts +0 -5
- package/src/lib/models/permission-type.model.ts +0 -9
- package/src/lib/models/role-menu-action.model.ts +0 -5
- package/src/lib/models/role-type.model.ts +0 -34
- package/src/lib/models/roles-and-permissions-table-type.model.ts +0 -5
- package/src/lib/models/roles-and-permissions.model.ts +0 -113
- package/src/lib/models/route-config.model.ts +0 -4
- package/src/lib/models/table-column-schema-view-tenant-list.model.ts +0 -21
- package/src/lib/models/tenant-function-type.model.ts +0 -10
- package/src/lib/models/tenant.model.ts +0 -47
- package/src/lib/models/tenants-permission.model.ts +0 -9
- package/src/lib/models/update-tenant-status.model.ts +0 -12
- package/src/lib/models/view-tenant-group-types.model.ts +0 -34
- package/src/lib/services/tenant-applications.service.spec.ts +0 -1245
- package/src/lib/services/tenant-applications.service.ts +0 -798
- package/src/lib/services/tenant-permissions-map.service.spec.ts +0 -25
- package/src/lib/services/tenant-permissions-map.service.ts +0 -28
- package/src/lib/services/tenant-permissions.service.spec.ts +0 -62
- package/src/lib/services/tenant-permissions.service.ts +0 -49
- package/src/lib/tenant-applications.component.html +0 -0
- package/src/lib/tenant-applications.component.scss +0 -0
- package/src/lib/tenant-applications.component.spec.ts +0 -28
- package/src/lib/tenant-applications.component.ts +0 -12
- package/src/lib/tenant-applications.module.ts +0 -8
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- 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 {}
|
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
|
-
}
|
package/tsconfig.lib.prod.json
DELETED
package/tsconfig.spec.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/spec",
|
|
6
|
-
"types": [
|
|
7
|
-
"jasmine"
|
|
8
|
-
]
|
|
9
|
-
},
|
|
10
|
-
"include": [
|
|
11
|
-
"**/*.spec.ts",
|
|
12
|
-
"**/*.d.ts"
|
|
13
|
-
]
|
|
14
|
-
}
|