@cauca-911/management 3.0.1 → 11.0.1

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 (44) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +4 -4
  3. package/assets/i18n/cauca/en-management.json +16 -16
  4. package/assets/i18n/cauca/fr-management.json +16 -16
  5. package/bundles/cauca-911-management.umd.js +466 -465
  6. package/bundles/cauca-911-management.umd.js.map +1 -1
  7. package/bundles/cauca-911-management.umd.min.js +1 -1
  8. package/bundles/cauca-911-management.umd.min.js.map +1 -1
  9. package/cauca-911-management.d.ts +5 -5
  10. package/cauca-911-management.metadata.json +1 -1
  11. package/esm2015/cauca-911-management.js +6 -6
  12. package/esm2015/lib/cauca-management-group/cauca-management-group.component.js +212 -212
  13. package/esm2015/lib/cauca-management-user/cauca-management-user.component.js +57 -57
  14. package/esm2015/lib/cauca-management.component.js +14 -14
  15. package/esm2015/lib/cauca-management.module.js +35 -35
  16. package/esm2015/lib/cauca-management.service.js +13 -13
  17. package/esm2015/lib/shared/models/group-model.js +8 -8
  18. package/esm2015/lib/shared/models/group-permission-model.js +9 -9
  19. package/esm2015/lib/shared/models/permission-model.js +8 -8
  20. package/esm2015/lib/shared/models/user-group-model.js +8 -8
  21. package/esm2015/lib/shared/models/user-model.js +12 -11
  22. package/esm2015/lib/shared/models/user-permission-model.js +9 -9
  23. package/esm2015/lib/shared/services/management-group.service.js +38 -38
  24. package/esm2015/lib/shared/services/management-permission.service.js +35 -35
  25. package/esm2015/lib/shared/services/management-user.service.js +53 -53
  26. package/esm2015/public-api.js +16 -16
  27. package/fesm2015/cauca-911-management.js +439 -438
  28. package/fesm2015/cauca-911-management.js.map +1 -1
  29. package/lib/cauca-management-group/cauca-management-group.component.d.ts +42 -42
  30. package/lib/cauca-management-user/cauca-management-user.component.d.ts +17 -17
  31. package/lib/cauca-management.component.d.ts +5 -5
  32. package/lib/cauca-management.module.d.ts +2 -2
  33. package/lib/cauca-management.service.d.ts +3 -3
  34. package/lib/shared/models/group-model.d.ts +9 -9
  35. package/lib/shared/models/group-permission-model.d.ts +7 -7
  36. package/lib/shared/models/permission-model.d.ts +7 -7
  37. package/lib/shared/models/user-group-model.d.ts +6 -6
  38. package/lib/shared/models/user-model.d.ts +15 -14
  39. package/lib/shared/models/user-permission-model.d.ts +7 -7
  40. package/lib/shared/services/management-group.service.d.ts +14 -14
  41. package/lib/shared/services/management-permission.service.d.ts +13 -13
  42. package/lib/shared/services/management-user.service.d.ts +20 -20
  43. package/package.json +4 -4
  44. package/public-api.d.ts +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"cauca-911-management.js","sources":["../../../projects/cauca-management/src/lib/cauca-management.service.ts","../../../projects/cauca-management/src/lib/cauca-management.component.ts","../../../projects/cauca-management/src/lib/shared/services/management-group.service.ts","../../../projects/cauca-management/src/lib/shared/services/management-user.service.ts","../../../projects/cauca-management/src/lib/shared/services/management-permission.service.ts","../../../projects/cauca-management/src/lib/cauca-management-group/cauca-management-group.component.ts","../../../projects/cauca-management/src/lib/shared/models/user-model.ts","../../../projects/cauca-management/src/lib/cauca-management-user/cauca-management-user.component.ts","../../../projects/cauca-management/src/lib/cauca-management.module.ts","../../../projects/cauca-management/src/lib/shared/models/user-group-model.ts","../../../projects/cauca-management/src/lib/shared/models/user-permission-model.ts","../../../projects/cauca-management/src/lib/shared/models/group-model.ts","../../../projects/cauca-management/src/lib/shared/models/group-permission-model.ts","../../../projects/cauca-management/src/public-api.ts","../../../projects/cauca-management/src/cauca-911-management.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaManagementService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'cauca-management',\n templateUrl: './cauca-management.component.html',\n styles: []\n})\nexport class CaucaManagementComponent implements OnInit {\n\n constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { GroupModel } from '../models/group-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementGroupService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n private http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll(): Observable<GroupModel[]> {\n return this.http.get<GroupModel[]>(`${this.config.apiUrl}GroupManagement`);\n }\n\n public get(idGroup: string): Observable<GroupModel> {\n return this.http.get<GroupModel>(`${this.config.apiUrl}GroupManagement/${idGroup}`);\n }\n\n public save(group: GroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}GroupManagement`, group);\n }\n\n public delete(idGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);\n }\n\n public hasExistingGroupName(group: GroupModel): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { UserGroupModel } from '../models/user-group-model';\nimport { UserPermissionModel } from '../models/user-permission-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementUserService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n protected http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll<TUser>(): Observable<TUser[]> {\n return this.http.get<TUser[]>(`${this.config.apiUrl}UserManagement`);\n }\n\n public get<TUser>(idUser: string): Observable<TUser> {\n return this.http.get<TUser>(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public getGroup(idUser: string): Observable<any> {\n return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);\n }\n\n public addGroup(userGroup: UserGroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);\n }\n\n public deleteGroup(idUserGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);\n }\n\n public addPermission(userPermission: UserPermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);\n }\n\n public deletePermission(idUserPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);\n }\n\n public save<TUser>(user: TUser): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement`, user);\n }\n\n public delete(idUser: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public hasExistingUserName<TUser>(user: TUser): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { PermissionModel } from '../models/permission-model';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementPermissionService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n private http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll(): Observable<PermissionModel[]> {\n return this.http.get<PermissionModel[]>(`${this.config.apiUrl}PermissionManagement`);\n }\n\n public get(idPermission: string): Observable<PermissionModel> {\n return this.http.get<PermissionModel>(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\n }\n\n public save(permission: PermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);\n }\n\n public delete(idPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\nimport { UserModel } from '../shared/models/user-model';\nimport { UserGroupModel } from '../shared/models/user-group-model';\nimport { GroupModel } from '../shared/models/group-model';\nimport { GroupPermissionModel } from '../shared/models/group-permission-model';\nimport { ManagementGroupService } from '../shared/services/management-group.service';\nimport { ManagementUserService } from '../shared/services/management-user.service';\nimport { PermissionModel } from '../shared/models/permission-model';\nimport { ManagementPermissionService } from '../shared/services/management-permission.service';\n\n@Component({\n selector: 'cauca-management-group',\n templateUrl: './cauca-management-group.component.html',\n styleUrls: ['./cauca-management-group.component.scss']\n})\nexport class CaucaManagementGroupComponent implements OnInit {\n private groupUsers: any;\n\n @Input()\n public showPrintButton: boolean = true;\n @Input()\n public hoverStatePermission = true;\n public groups: GroupModel[] = [];\n public users: UserModel[] = [];\n public permissions: PermissionModel[] = [];\n public userFullName: any = {};\n public showColumn = true;\n public showColumnXS = true;\n public translations: any = [];\n\n constructor(\n private managementGroupService: ManagementGroupService,\n private managementUserService: ManagementUserService,\n private managementPermissionService: ManagementPermissionService,\n breakpointObserver: BreakpointObserver,\n ) {\n breakpointObserver.observe(['(max-width: 1000px)']).subscribe(result => {\n this.showColumn = !result.matches;\n });\n breakpointObserver.observe(['(max-width: 600px)']).subscribe(result => {\n this.showColumnXS = !result.matches;\n });\n }\n\n public ngOnInit(): void {\n this.managementUserService.getAll<UserModel>().subscribe(data => {\n this.users = data;\n this.users.forEach(user => {\n if (user.isActive) {\n if (user.firstName !== '' && user.lastName !== '') {\n this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;\n }\n }\n });\n });\n this.managementPermissionService.getAll().subscribe(permissions => {\n const permissionIndex = permissions.findIndex(c => {\n return c.tag === 'CanAccessPermissions';\n });\n if (permissionIndex !== -1) {\n permissions.splice(permissionIndex, 1);\n }\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\n if (a.name < b.name) { return -1; }\n if (a.name > b.name) { return 1; }\n return 0;\n });\n this.permissions = permissions;\n });\n this.getGroups();\n }\n\n public fullName(data): string {\n if (!data) {\n return '';\n }\n\n return `${data.firstName} ${data.lastName}`;\n }\n\n public getGroupUser(field, e): void {\n const users: string[] = [];\n if (this.groupUsers) {\n this.groupUsers.forEach( user => {\n users.push(user.idUser);\n });\n }\n e.component.option('value', users);\n }\n\n public setGroupUser(field, e): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach(idUser => {\n const groupIndex = (field.data.users || []).findIndex(g => g.idUser === idUser);\n\n if (groupIndex === -1) {\n groupUser.push({ idUser, } as UserGroupModel);\n } else {\n groupUser.push(field.data.users[groupIndex]);\n }\n });\n\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\n }\n\n public setGroupPermission(field, e): void {\n const groupUser: UserGroupModel[] = [];\n\n e.value.forEach(idUser => {\n groupUser.push({\n idUser,\n } as UserGroupModel);\n });\n\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\n }\n\n public getPermissionStatus(field, permission, e): void {\n const groupPermission = (field.value || []).find(p => p.idModulePermission === permission.id);\n\n if (groupPermission) {\n e.component.option('value', groupPermission.isAllowed);\n } else {\n e.component.option('value', undefined);\n }\n }\n\n public checkBoxToggled(field, permission, e): void {\n if (e.component.skipOnValueChanged) {\n e.component.skipOnValueChanged = false;\n return;\n }\n if (e.component.setUndefinedNextTime) {\n e.component.setUndefinedNextTime = false;\n e.component.skipOnValueChanged = true;\n e.component.option('value', undefined);\n this.setPermissionStatus(field, permission, undefined);\n return;\n }\n if (e.value === false) {\n e.component.setUndefinedNextTime = true;\n }\n\n this.setPermissionStatus(field, permission, e.value);\n }\n\n public onRowInserted(e): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowUpdated(e): void {\n this.saveGroup(e.data as GroupModel);\n }\n\n public onRowRemoved(e): void {\n const group = (e.data as GroupModel);\n this.managementGroupService.delete(group.id).subscribe(data => {\n this.getGroups();\n });\n }\n\n public calculateUsersCellValue = (e): string => {\n const users = (e.users ? e.users as UserGroupModel[] : []);\n let usersNames: any[] = [];\n users.forEach(user => {\n const userGroup = this.users.filter(u => u.id === user.idUser);\n if (userGroup && userGroup[0]) {\n usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);\n }\n });\n usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));\n return usersNames.join(', ');\n }\n\n public onEditingStart(e: any): void {\n this.groupUsers = e.data.users;\n }\n\n public onInitNewRow(): void {\n this.groupUsers = [];\n }\n\n public groupNameAlreadyUsedValidation = (e): Promise<boolean> => {\n return this.managementGroupService.hasExistingGroupName(e.data).pipe(\n map((exist: boolean) => {\n return !exist;\n })\n ).toPromise();\n }\n\n private setPermissionStatus(field: any, permission, value): void {\n const groupPermissions = field.value || [];\n const groupIndex = groupPermissions.findIndex(p => p.idModulePermission === permission.id);\n\n if (groupIndex > -1) {\n groupPermissions[groupIndex].isAllowed = value;\n } else {\n groupPermissions.push({\n idModulePermission: permission.id,\n isAllowed: value,\n } as GroupPermissionModel);\n }\n\n field.setValue(JSON.parse(JSON.stringify(groupPermissions)));\n }\n\n private saveGroup(group: GroupModel): void {\n this.removePermissionUndefined(group);\n if (group.users) {\n group.users.forEach((userGroup: UserGroupModel) => {\n userGroup.idGroup = group.id;\n });\n }\n if (group.permissions) {\n group.permissions.forEach((groupPermission: GroupPermissionModel) => {\n groupPermission.idGroup = group.id;\n });\n }\n this.managementGroupService.save(group).subscribe(() => {\n this.getGroups();\n });\n this.groupUsers = [];\n }\n\n private removePermissionUndefined(group: GroupModel): void {\n group.permissions = group.permissions.filter((permission: GroupPermissionModel) => permission.isAllowed !== undefined);\n }\n\n private getGroups(): void {\n this.managementGroupService.getAll().subscribe(data => this.groups = data);\n }\n}\n","import { UserGroupModel } from './user-group-model';\nimport { UserPermissionModel } from './user-permission-model';\n\nexport class UserModel {\n public id: string;\n public userName = '';\n public firstName = '';\n public lastName = '';\n public password = '';\n public email = '';\n public isActive = true;\n public groups: UserGroupModel[];\n public permissions: UserPermissionModel[];\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UserModel } from '../shared/models/user-model';\nimport { ManagementUserService } from '../shared/services/management-user.service';\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'cauca-management-user',\n templateUrl: './cauca-management-user.component.html',\n styleUrls: ['./cauca-management-user.component.scss']\n})\nexport class CaucaManagementUserComponent implements OnInit {\n public users: UserModel[] = [\n new UserModel()\n ];\n public showColumnXS = true;\n\n constructor(\n private managementUserService: ManagementUserService,\n breakpointObserver: BreakpointObserver,\n ) {\n breakpointObserver.observe(['(max-width: 600px)']).subscribe((result: BreakpointState) => {\n this.showColumnXS = !result.matches;\n });\n }\n\n public ngOnInit(): void {\n this.getUsers();\n }\n\n public onRowInserted(e: any): void {\n this.saveGroup(e.data as UserModel);\n }\n\n public onRowUpdated(e: any): void {\n this.saveGroup(e.key as UserModel);\n }\n\n public onRowRemoved(e: any): void {\n const user = (e.data as UserModel);\n this.managementUserService.delete(user.id).subscribe((data: any) => {\n this.getUsers();\n });\n }\n\n public userNameAlreadyUsedValidation = (e): Promise<boolean> => {\n return this.managementUserService.hasExistingUserName(e.data).pipe(\n map((exist: boolean) => {\n return !exist;\n })\n ).toPromise();\n }\n\n private saveGroup(user: UserModel): void {\n this.managementUserService.save<UserModel>(user).subscribe(() => {\n this.getUsers();\n });\n }\n\n private getUsers(): void {\n this.managementUserService.getAll<UserModel>().subscribe((data: any) => this.users = data);\n }\n}","import { NgModule } from '@angular/core';\nimport { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';\nimport { DxListModule } from 'devextreme-angular/ui/list';\nimport { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { CaucaDevextremeModule } from '@cauca-911/devextreme';\nimport { CaucaManagementComponent } from './cauca-management.component';\nimport { CaucaManagementGroupComponent } from './cauca-management-group/cauca-management-group.component';\nimport { CaucaManagementUserComponent } from './cauca-management-user/cauca-management-user.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [\n CaucaManagementComponent,\n CaucaManagementGroupComponent,\n CaucaManagementUserComponent\n ],\n imports: [\n CommonModule,\n DxCheckBoxModule,\n DxListModule,\n DxTagBoxModule,\n CaucaCoreForChildModule,\n CaucaDevextremeModule,\n ],\n exports: [\n CaucaManagementComponent,\n CaucaManagementUserComponent,\n CaucaManagementGroupComponent,\n ]\n})\nexport class CaucaManagementModule { }\n","export class UserGroupModel {\n public idUserGroup = '';\n public idGroup = '';\n public idUser = '';\n\n constructor() { }\n}\n","export class UserPermissionModel {\n public idUserPermission = '';\n public isAllowed = false;\n public idUser = '';\n public idModulePermission = '';\n\n constructor() { }\n}\n","import {GroupPermissionModel} from './group-permission-model';\nimport {UserGroupModel} from './user-group-model';\n\nexport class GroupModel {\n public id: string;\n public name = '';\n public users: UserGroupModel[] = [];\n public permissions: GroupPermissionModel[] = [];\n\n constructor() { }\n}\n","export class GroupPermissionModel {\n public idGroupPermission = '';\n public isAllowed = false;\n public idGroup = '';\n public idModulePermission = '';\n\n constructor() { }\n}\n","/*\n * Public API Surface of cauca-management\n */\n\nexport * from './lib/cauca-management.service';\nexport * from './lib/cauca-management.component';\nexport * from './lib/cauca-management.module';\nexport * from './lib/cauca-management-group/cauca-management-group.component';\nexport * from './lib/cauca-management-user/cauca-management-user.component';\n\nexport { ManagementUserService } from './lib/shared/services/management-user.service';\nexport { ManagementGroupService } from './lib/shared/services/management-group.service';\nexport { UserModel } from './lib/shared/models/user-model';\nexport { UserGroupModel } from './lib/shared/models/user-group-model';\nexport { UserPermissionModel } from './lib/shared/models/user-permission-model';\nexport { GroupModel } from './lib/shared/models/group-model';\nexport { GroupPermissionModel } from './lib/shared/models/group-permission-model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ManagementPermissionService as ɵa} from './lib/shared/services/management-permission.service';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cauca-911-management.js","sources":["../../projects/cauca-management/src/lib/cauca-management.service.ts","../../projects/cauca-management/src/lib/cauca-management.component.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-group.service.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-user.service.ts","../esm2015/projects/cauca-management/src/lib/shared/services/management-permission.service.ts","../projects/cauca-management/src/lib/cauca-management-group/cauca-management-group.component.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-model.ts","../projects/cauca-management/src/lib/cauca-management-user/cauca-management-user.component.ts","../../projects/cauca-management/src/lib/cauca-management.module.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-group-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/user-permission-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/group-model.ts","../esm2015/projects/cauca-management/src/lib/shared/models/group-permission-model.ts","../../../projects/cauca-management/src/public-api.ts","../../../projects/cauca-management/src/cauca-911-management.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CaucaManagementService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cauca-management',\r\n templateUrl: './cauca-management.component.html',\r\n styles: []\r\n})\r\nexport class CaucaManagementComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\r\nimport { GroupModel } from '../models/group-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManagementGroupService {\r\n private config: Configuration;\r\n\r\n constructor(\r\n coreService: CaucaCoreService,\r\n private http: HttpClient,\r\n ) {\r\n this.config = coreService.getConfig();\r\n }\r\n\r\n public getAll(): Observable<GroupModel[]> {\r\n return this.http.get<GroupModel[]>(`${this.config.apiUrl}GroupManagement`);\r\n }\r\n\r\n public get(idGroup: string): Observable<GroupModel> {\r\n return this.http.get<GroupModel>(`${this.config.apiUrl}GroupManagement/${idGroup}`);\r\n }\r\n\r\n public save(group: GroupModel): Observable<any> {\r\n return this.http.post(`${this.config.apiUrl}GroupManagement`, group);\r\n }\r\n\r\n public delete(idGroup: string): Observable<any> {\r\n return this.http.delete(`${this.config.apiUrl}GroupManagement/${idGroup}`);\r\n }\r\n\r\n public hasExistingGroupName(group: GroupModel): Observable<boolean> {\r\n return this.http.post<boolean>(`${this.config.apiUrl}GroupManagement/GroupNameAlreadyExist`, group);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\nimport { UserGroupModel } from '../models/user-group-model';\nimport { UserPermissionModel } from '../models/user-permission-model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ManagementUserService {\n private config: Configuration;\n\n constructor(\n coreService: CaucaCoreService,\n protected http: HttpClient,\n ) {\n this.config = coreService.getConfig();\n }\n\n public getAll<TUser>(): Observable<TUser[]> {\n return this.http.get<TUser[]>(`${this.config.apiUrl}UserManagement`);\n }\n\n public get<TUser>(idUser: string): Observable<TUser> {\n return this.http.get<TUser>(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public getGroup(idUser: string): Observable<any> {\n return this.http.get(`${this.config.apiUrl}UserManagement/${idUser}/groups`);\n }\n\n public addGroup(userGroup: UserGroupModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/group`, userGroup);\n }\n\n public deleteGroup(idUserGroup: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserGroup}`);\n }\n\n public addPermission(userPermission: UserPermissionModel): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement/permission`, userPermission);\n }\n\n public deletePermission(idUserPermission: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/groups/${idUserPermission}`);\n }\n\n public save<TUser>(user: TUser): Observable<any> {\n return this.http.post(`${this.config.apiUrl}UserManagement`, user);\n }\n\n public delete(idUser: string): Observable<any> {\n return this.http.delete(`${this.config.apiUrl}UserManagement/${idUser}`);\n }\n\n public hasExistingUserName<TUser>(user: TUser): Observable<boolean> {\n return this.http.post<boolean>(`${this.config.apiUrl}UserManagement/UserNameAlreadyExist`, user);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Configuration, CaucaCoreService } from '@cauca-911/core';\r\nimport { PermissionModel } from '../models/permission-model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManagementPermissionService {\r\n private config: Configuration;\r\n\r\n constructor(\r\n coreService: CaucaCoreService,\r\n private http: HttpClient,\r\n ) {\r\n this.config = coreService.getConfig();\r\n }\r\n\r\n public getAll(): Observable<PermissionModel[]> {\r\n return this.http.get<PermissionModel[]>(`${this.config.apiUrl}PermissionManagement`);\r\n }\r\n\r\n public get(idPermission: string): Observable<PermissionModel> {\r\n return this.http.get<PermissionModel>(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\r\n }\r\n\r\n public save(permission: PermissionModel): Observable<any> {\r\n return this.http.post(`${this.config.apiUrl}PermissionManagement`, permission);\r\n }\r\n\r\n public delete(idPermission: string): Observable<any> {\r\n return this.http.delete(`${this.config.apiUrl}PermissionManagement/${idPermission}`);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { map } from 'rxjs/operators';\r\nimport { UserModel } from '../shared/models/user-model';\r\nimport { UserGroupModel } from '../shared/models/user-group-model';\r\nimport { GroupModel } from '../shared/models/group-model';\r\nimport { GroupPermissionModel } from '../shared/models/group-permission-model';\r\nimport { ManagementGroupService } from '../shared/services/management-group.service';\r\nimport { ManagementUserService } from '../shared/services/management-user.service';\r\nimport { PermissionModel } from '../shared/models/permission-model';\r\nimport { ManagementPermissionService } from '../shared/services/management-permission.service';\r\n\r\n@Component({\r\n selector: 'cauca-management-group',\r\n templateUrl: './cauca-management-group.component.html',\r\n styleUrls: ['./cauca-management-group.component.scss']\r\n})\r\nexport class CaucaManagementGroupComponent implements OnInit {\r\n private groupUsers: any;\r\n\r\n @Input()\r\n public showPrintButton: boolean = true;\r\n @Input()\r\n public hoverStatePermission = true;\r\n public groups: GroupModel[] = [];\r\n public users: UserModel[] = [];\r\n public permissions: PermissionModel[] = [];\r\n public userFullName: any = {};\r\n public showColumn = true;\r\n public showColumnXS = true;\r\n public translations: any = [];\r\n\r\n constructor(\r\n private managementGroupService: ManagementGroupService,\r\n private managementUserService: ManagementUserService,\r\n private managementPermissionService: ManagementPermissionService,\r\n breakpointObserver: BreakpointObserver,\r\n ) {\r\n breakpointObserver.observe(['(max-width: 1000px)']).subscribe(result => {\r\n this.showColumn = !result.matches;\r\n });\r\n breakpointObserver.observe(['(max-width: 600px)']).subscribe(result => {\r\n this.showColumnXS = !result.matches;\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.managementUserService.getAll<UserModel>().subscribe(data => {\r\n this.users = data;\r\n this.users.forEach(user => {\r\n if (user.isActive) {\r\n if (user.firstName !== '' && user.lastName !== '') {\r\n this.userFullName[user.id] = `${user.firstName} ${user.lastName}`;\r\n }\r\n }\r\n });\r\n });\r\n this.managementPermissionService.getAll().subscribe(permissions => {\r\n const permissionIndex = permissions.findIndex(c => {\r\n return c.tag === 'CanAccessPermissions';\r\n });\r\n if (permissionIndex !== -1) {\r\n permissions.splice(permissionIndex, 1);\r\n }\r\n permissions.sort((a: PermissionModel, b: PermissionModel) => {\r\n if (a.name < b.name) { return -1; }\r\n if (a.name > b.name) { return 1; }\r\n return 0;\r\n });\r\n this.permissions = permissions;\r\n });\r\n this.getGroups();\r\n }\r\n\r\n public fullName(data): string {\r\n if (!data) {\r\n return '';\r\n }\r\n\r\n return `${data.firstName} ${data.lastName}`;\r\n }\r\n\r\n public getGroupUser(field, e): void {\r\n const users: string[] = [];\r\n if (this.groupUsers) {\r\n this.groupUsers.forEach( user => {\r\n users.push(user.idUser);\r\n });\r\n }\r\n e.component.option('value', users);\r\n }\r\n\r\n public setGroupUser(field, e): void {\r\n const groupUser: UserGroupModel[] = [];\r\n\r\n e.value.forEach(idUser => {\r\n const groupIndex = (field.data.users || []).findIndex(g => g.idUser === idUser);\r\n\r\n if (groupIndex === -1) {\r\n groupUser.push({ idUser, } as UserGroupModel);\r\n } else {\r\n groupUser.push(field.data.users[groupIndex]);\r\n }\r\n });\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\r\n }\r\n\r\n public setGroupPermission(field, e): void {\r\n const groupUser: UserGroupModel[] = [];\r\n\r\n e.value.forEach(idUser => {\r\n groupUser.push({\r\n idUser,\r\n } as UserGroupModel);\r\n });\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupUser)));\r\n }\r\n\r\n public getPermissionStatus(field, permission, e): void {\r\n const groupPermission = (field.value || []).find(p => p.idModulePermission === permission.id);\r\n\r\n if (groupPermission) {\r\n e.component.option('value', groupPermission.isAllowed);\r\n } else {\r\n e.component.option('value', undefined);\r\n }\r\n }\r\n\r\n public checkBoxToggled(field, permission, e): void {\r\n if (e.component.skipOnValueChanged) {\r\n e.component.skipOnValueChanged = false;\r\n return;\r\n }\r\n if (e.component.setUndefinedNextTime) {\r\n e.component.setUndefinedNextTime = false;\r\n e.component.skipOnValueChanged = true;\r\n e.component.option('value', undefined);\r\n this.setPermissionStatus(field, permission, undefined);\r\n return;\r\n }\r\n if (e.value === false) {\r\n e.component.setUndefinedNextTime = true;\r\n }\r\n\r\n this.setPermissionStatus(field, permission, e.value);\r\n }\r\n\r\n public onRowInserted(e): void {\r\n this.saveGroup(e.data as GroupModel);\r\n }\r\n\r\n public onRowUpdated(e): void {\r\n this.saveGroup(e.data as GroupModel);\r\n }\r\n\r\n public onRowRemoved(e): void {\r\n const group = (e.data as GroupModel);\r\n this.managementGroupService.delete(group.id).subscribe(data => {\r\n this.getGroups();\r\n });\r\n }\r\n\r\n public calculateUsersCellValue = (e): string => {\r\n const users = (e.users ? e.users as UserGroupModel[] : []);\r\n let usersNames: any[] = [];\r\n users.forEach(user => {\r\n const userGroup = this.users.filter(u => u.id === user.idUser);\r\n if (userGroup && userGroup[0]) {\r\n usersNames.push(userGroup[0].firstName + ' ' + userGroup[0].lastName);\r\n }\r\n });\r\n usersNames = usersNames.sort((one, two) => (one < two ? -1 : 1));\r\n return usersNames.join(', ');\r\n }\r\n\r\n public onEditingStart(e: any): void {\r\n this.groupUsers = e.data.users;\r\n }\r\n\r\n public onInitNewRow(): void {\r\n this.groupUsers = [];\r\n }\r\n\r\n public groupNameAlreadyUsedValidation = (e): Promise<boolean> => {\r\n return this.managementGroupService.hasExistingGroupName(e.data).pipe(\r\n map((exist: boolean) => {\r\n return !exist;\r\n })\r\n ).toPromise();\r\n }\r\n\r\n private setPermissionStatus(field: any, permission, value): void {\r\n const groupPermissions = field.value || [];\r\n const groupIndex = groupPermissions.findIndex(p => p.idModulePermission === permission.id);\r\n\r\n if (groupIndex > -1) {\r\n groupPermissions[groupIndex].isAllowed = value;\r\n } else {\r\n groupPermissions.push({\r\n idModulePermission: permission.id,\r\n isAllowed: value,\r\n } as GroupPermissionModel);\r\n }\r\n\r\n field.setValue(JSON.parse(JSON.stringify(groupPermissions)));\r\n }\r\n\r\n private saveGroup(group: GroupModel): void {\r\n this.removePermissionUndefined(group);\r\n if (group.users) {\r\n group.users.forEach((userGroup: UserGroupModel) => {\r\n userGroup.idGroup = group.id;\r\n });\r\n }\r\n if (group.permissions) {\r\n group.permissions.forEach((groupPermission: GroupPermissionModel) => {\r\n groupPermission.idGroup = group.id;\r\n });\r\n }\r\n this.managementGroupService.save(group).subscribe(() => {\r\n this.getGroups();\r\n });\r\n this.groupUsers = [];\r\n }\r\n\r\n private removePermissionUndefined(group: GroupModel): void {\r\n group.permissions = group.permissions.filter((permission: GroupPermissionModel) => permission.isAllowed !== undefined);\r\n }\r\n\r\n private getGroups(): void {\r\n this.managementGroupService.getAll().subscribe(data => this.groups = data);\r\n }\r\n}\r\n","import { UserGroupModel } from './user-group-model';\r\nimport { UserPermissionModel } from './user-permission-model';\r\n\r\nexport class UserModel {\r\n public id: string;\r\n public userName = '';\r\n public firstName = '';\r\n public lastName = '';\r\n public password = '';\r\n public email = '';\r\n public isActive = true;\r\n public groups: UserGroupModel[];\r\n public permissions: UserPermissionModel[];\r\n public twoFactorAuthenticatorEnabled = false;\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserModel } from '../shared/models/user-model';\r\nimport { ManagementUserService } from '../shared/services/management-user.service';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'cauca-management-user',\r\n templateUrl: './cauca-management-user.component.html',\r\n styleUrls: ['./cauca-management-user.component.scss']\r\n})\r\nexport class CaucaManagementUserComponent implements OnInit {\r\n public users: UserModel[] = [\r\n new UserModel()\r\n ];\r\n public showColumnXS = true;\r\n\r\n constructor(\r\n private managementUserService: ManagementUserService,\r\n breakpointObserver: BreakpointObserver,\r\n ) {\r\n breakpointObserver.observe(['(max-width: 600px)']).subscribe((result: BreakpointState) => {\r\n this.showColumnXS = !result.matches;\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.getUsers();\r\n }\r\n\r\n public onRowInserted(e: any): void {\r\n this.saveGroup(e.data as UserModel);\r\n }\r\n\r\n public onRowUpdated(e: any): void {\r\n this.saveGroup(e.key as UserModel);\r\n }\r\n\r\n public onRowRemoved(e: any): void {\r\n const user = (e.data as UserModel);\r\n this.managementUserService.delete(user.id).subscribe((data: any) => {\r\n this.getUsers();\r\n });\r\n }\r\n\r\n public userNameAlreadyUsedValidation = (e): Promise<boolean> => {\r\n return this.managementUserService.hasExistingUserName(e.data).pipe(\r\n map((exist: boolean) => {\r\n return !exist;\r\n })\r\n ).toPromise();\r\n }\r\n\r\n private saveGroup(user: UserModel): void {\r\n this.managementUserService.save<UserModel>(user).subscribe(() => {\r\n this.getUsers();\r\n });\r\n }\r\n\r\n private getUsers(): void {\r\n this.managementUserService.getAll<UserModel>().subscribe((data: any) => this.users = data);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DxCheckBoxModule } from 'devextreme-angular/ui/check-box';\r\nimport { DxListModule } from 'devextreme-angular/ui/list';\r\nimport { DxTagBoxModule } from 'devextreme-angular/ui/tag-box';\r\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\r\nimport { CaucaDevextremeModule } from '@cauca-911/devextreme';\r\nimport { CaucaManagementComponent } from './cauca-management.component';\r\nimport { CaucaManagementGroupComponent } from './cauca-management-group/cauca-management-group.component';\r\nimport { CaucaManagementUserComponent } from './cauca-management-user/cauca-management-user.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n CaucaManagementComponent,\r\n CaucaManagementGroupComponent,\r\n CaucaManagementUserComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DxCheckBoxModule,\r\n DxListModule,\r\n DxTagBoxModule,\r\n CaucaCoreForChildModule,\r\n CaucaDevextremeModule,\r\n ],\r\n exports: [\r\n CaucaManagementComponent,\r\n CaucaManagementUserComponent,\r\n CaucaManagementGroupComponent,\r\n ]\r\n})\r\nexport class CaucaManagementModule { }\r\n","export class UserGroupModel {\r\n public idUserGroup = '';\r\n public idGroup = '';\r\n public idUser = '';\r\n\r\n constructor() { }\r\n}\r\n","export class UserPermissionModel {\r\n public idUserPermission = '';\r\n public isAllowed = false;\r\n public idUser = '';\r\n public idModulePermission = '';\r\n\r\n constructor() { }\r\n}\r\n","import {GroupPermissionModel} from './group-permission-model';\r\nimport {UserGroupModel} from './user-group-model';\r\n\r\nexport class GroupModel {\r\n public id: string;\r\n public name = '';\r\n public users: UserGroupModel[] = [];\r\n public permissions: GroupPermissionModel[] = [];\r\n\r\n constructor() { }\r\n}\r\n","export class GroupPermissionModel {\r\n public idGroupPermission = '';\r\n public isAllowed = false;\r\n public idGroup = '';\r\n public idModulePermission = '';\r\n\r\n constructor() { }\r\n}\r\n","/*\r\n * Public API Surface of cauca-management\r\n */\r\n\r\nexport * from './lib/cauca-management.service';\r\nexport * from './lib/cauca-management.component';\r\nexport * from './lib/cauca-management.module';\r\nexport * from './lib/cauca-management-group/cauca-management-group.component';\r\nexport * from './lib/cauca-management-user/cauca-management-user.component';\r\n\r\nexport { ManagementUserService } from './lib/shared/services/management-user.service';\r\nexport { ManagementGroupService } from './lib/shared/services/management-group.service';\r\nexport { UserModel } from './lib/shared/models/user-model';\r\nexport { UserGroupModel } from './lib/shared/models/user-group-model';\r\nexport { UserPermissionModel } from './lib/shared/models/user-permission-model';\r\nexport { GroupModel } from './lib/shared/models/group-model';\r\nexport { GroupPermissionModel } from './lib/shared/models/group-permission-model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ManagementPermissionService as ɵa} from './lib/shared/services/management-permission.service';"],"names":[],"mappings":"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"}
@@ -1,42 +1,42 @@
1
- import { OnInit } from '@angular/core';
2
- import { BreakpointObserver } from '@angular/cdk/layout';
3
- import { UserModel } from '../shared/models/user-model';
4
- import { GroupModel } from '../shared/models/group-model';
5
- import { ManagementGroupService } from '../shared/services/management-group.service';
6
- import { ManagementUserService } from '../shared/services/management-user.service';
7
- import { PermissionModel } from '../shared/models/permission-model';
8
- import { ManagementPermissionService } from '../shared/services/management-permission.service';
9
- export declare class CaucaManagementGroupComponent implements OnInit {
10
- private managementGroupService;
11
- private managementUserService;
12
- private managementPermissionService;
13
- private groupUsers;
14
- showPrintButton: boolean;
15
- hoverStatePermission: boolean;
16
- groups: GroupModel[];
17
- users: UserModel[];
18
- permissions: PermissionModel[];
19
- userFullName: any;
20
- showColumn: boolean;
21
- showColumnXS: boolean;
22
- translations: any;
23
- constructor(managementGroupService: ManagementGroupService, managementUserService: ManagementUserService, managementPermissionService: ManagementPermissionService, breakpointObserver: BreakpointObserver);
24
- ngOnInit(): void;
25
- fullName(data: any): string;
26
- getGroupUser(field: any, e: any): void;
27
- setGroupUser(field: any, e: any): void;
28
- setGroupPermission(field: any, e: any): void;
29
- getPermissionStatus(field: any, permission: any, e: any): void;
30
- checkBoxToggled(field: any, permission: any, e: any): void;
31
- onRowInserted(e: any): void;
32
- onRowUpdated(e: any): void;
33
- onRowRemoved(e: any): void;
34
- calculateUsersCellValue: (e: any) => string;
35
- onEditingStart(e: any): void;
36
- onInitNewRow(): void;
37
- groupNameAlreadyUsedValidation: (e: any) => Promise<boolean>;
38
- private setPermissionStatus;
39
- private saveGroup;
40
- private removePermissionUndefined;
41
- private getGroups;
42
- }
1
+ import { OnInit } from '@angular/core';
2
+ import { BreakpointObserver } from '@angular/cdk/layout';
3
+ import { UserModel } from '../shared/models/user-model';
4
+ import { GroupModel } from '../shared/models/group-model';
5
+ import { ManagementGroupService } from '../shared/services/management-group.service';
6
+ import { ManagementUserService } from '../shared/services/management-user.service';
7
+ import { PermissionModel } from '../shared/models/permission-model';
8
+ import { ManagementPermissionService } from '../shared/services/management-permission.service';
9
+ export declare class CaucaManagementGroupComponent implements OnInit {
10
+ private managementGroupService;
11
+ private managementUserService;
12
+ private managementPermissionService;
13
+ private groupUsers;
14
+ showPrintButton: boolean;
15
+ hoverStatePermission: boolean;
16
+ groups: GroupModel[];
17
+ users: UserModel[];
18
+ permissions: PermissionModel[];
19
+ userFullName: any;
20
+ showColumn: boolean;
21
+ showColumnXS: boolean;
22
+ translations: any;
23
+ constructor(managementGroupService: ManagementGroupService, managementUserService: ManagementUserService, managementPermissionService: ManagementPermissionService, breakpointObserver: BreakpointObserver);
24
+ ngOnInit(): void;
25
+ fullName(data: any): string;
26
+ getGroupUser(field: any, e: any): void;
27
+ setGroupUser(field: any, e: any): void;
28
+ setGroupPermission(field: any, e: any): void;
29
+ getPermissionStatus(field: any, permission: any, e: any): void;
30
+ checkBoxToggled(field: any, permission: any, e: any): void;
31
+ onRowInserted(e: any): void;
32
+ onRowUpdated(e: any): void;
33
+ onRowRemoved(e: any): void;
34
+ calculateUsersCellValue: (e: any) => string;
35
+ onEditingStart(e: any): void;
36
+ onInitNewRow(): void;
37
+ groupNameAlreadyUsedValidation: (e: any) => Promise<boolean>;
38
+ private setPermissionStatus;
39
+ private saveGroup;
40
+ private removePermissionUndefined;
41
+ private getGroups;
42
+ }
@@ -1,17 +1,17 @@
1
- import { OnInit } from '@angular/core';
2
- import { UserModel } from '../shared/models/user-model';
3
- import { ManagementUserService } from '../shared/services/management-user.service';
4
- import { BreakpointObserver } from '@angular/cdk/layout';
5
- export declare class CaucaManagementUserComponent implements OnInit {
6
- private managementUserService;
7
- users: UserModel[];
8
- showColumnXS: boolean;
9
- constructor(managementUserService: ManagementUserService, breakpointObserver: BreakpointObserver);
10
- ngOnInit(): void;
11
- onRowInserted(e: any): void;
12
- onRowUpdated(e: any): void;
13
- onRowRemoved(e: any): void;
14
- userNameAlreadyUsedValidation: (e: any) => Promise<boolean>;
15
- private saveGroup;
16
- private getUsers;
17
- }
1
+ import { OnInit } from '@angular/core';
2
+ import { UserModel } from '../shared/models/user-model';
3
+ import { ManagementUserService } from '../shared/services/management-user.service';
4
+ import { BreakpointObserver } from '@angular/cdk/layout';
5
+ export declare class CaucaManagementUserComponent implements OnInit {
6
+ private managementUserService;
7
+ users: UserModel[];
8
+ showColumnXS: boolean;
9
+ constructor(managementUserService: ManagementUserService, breakpointObserver: BreakpointObserver);
10
+ ngOnInit(): void;
11
+ onRowInserted(e: any): void;
12
+ onRowUpdated(e: any): void;
13
+ onRowRemoved(e: any): void;
14
+ userNameAlreadyUsedValidation: (e: any) => Promise<boolean>;
15
+ private saveGroup;
16
+ private getUsers;
17
+ }
@@ -1,5 +1,5 @@
1
- import { OnInit } from '@angular/core';
2
- export declare class CaucaManagementComponent implements OnInit {
3
- constructor();
4
- ngOnInit(): void;
5
- }
1
+ import { OnInit } from '@angular/core';
2
+ export declare class CaucaManagementComponent implements OnInit {
3
+ constructor();
4
+ ngOnInit(): void;
5
+ }
@@ -1,2 +1,2 @@
1
- export declare class CaucaManagementModule {
2
- }
1
+ export declare class CaucaManagementModule {
2
+ }
@@ -1,3 +1,3 @@
1
- export declare class CaucaManagementService {
2
- constructor();
3
- }
1
+ export declare class CaucaManagementService {
2
+ constructor();
3
+ }
@@ -1,9 +1,9 @@
1
- import { GroupPermissionModel } from './group-permission-model';
2
- import { UserGroupModel } from './user-group-model';
3
- export declare class GroupModel {
4
- id: string;
5
- name: string;
6
- users: UserGroupModel[];
7
- permissions: GroupPermissionModel[];
8
- constructor();
9
- }
1
+ import { GroupPermissionModel } from './group-permission-model';
2
+ import { UserGroupModel } from './user-group-model';
3
+ export declare class GroupModel {
4
+ id: string;
5
+ name: string;
6
+ users: UserGroupModel[];
7
+ permissions: GroupPermissionModel[];
8
+ constructor();
9
+ }
@@ -1,7 +1,7 @@
1
- export declare class GroupPermissionModel {
2
- idGroupPermission: string;
3
- isAllowed: boolean;
4
- idGroup: string;
5
- idModulePermission: string;
6
- constructor();
7
- }
1
+ export declare class GroupPermissionModel {
2
+ idGroupPermission: string;
3
+ isAllowed: boolean;
4
+ idGroup: string;
5
+ idModulePermission: string;
6
+ constructor();
7
+ }
@@ -1,7 +1,7 @@
1
- export declare class PermissionModel {
2
- id: string;
3
- name: string;
4
- tag: string;
5
- idSystem: string;
6
- constructor();
7
- }
1
+ export declare class PermissionModel {
2
+ id: string;
3
+ name: string;
4
+ tag: string;
5
+ idSystem: string;
6
+ constructor();
7
+ }
@@ -1,6 +1,6 @@
1
- export declare class UserGroupModel {
2
- idUserGroup: string;
3
- idGroup: string;
4
- idUser: string;
5
- constructor();
6
- }
1
+ export declare class UserGroupModel {
2
+ idUserGroup: string;
3
+ idGroup: string;
4
+ idUser: string;
5
+ constructor();
6
+ }
@@ -1,14 +1,15 @@
1
- import { UserGroupModel } from './user-group-model';
2
- import { UserPermissionModel } from './user-permission-model';
3
- export declare class UserModel {
4
- id: string;
5
- userName: string;
6
- firstName: string;
7
- lastName: string;
8
- password: string;
9
- email: string;
10
- isActive: boolean;
11
- groups: UserGroupModel[];
12
- permissions: UserPermissionModel[];
13
- constructor();
14
- }
1
+ import { UserGroupModel } from './user-group-model';
2
+ import { UserPermissionModel } from './user-permission-model';
3
+ export declare class UserModel {
4
+ id: string;
5
+ userName: string;
6
+ firstName: string;
7
+ lastName: string;
8
+ password: string;
9
+ email: string;
10
+ isActive: boolean;
11
+ groups: UserGroupModel[];
12
+ permissions: UserPermissionModel[];
13
+ twoFactorAuthenticatorEnabled: boolean;
14
+ constructor();
15
+ }
@@ -1,7 +1,7 @@
1
- export declare class UserPermissionModel {
2
- idUserPermission: string;
3
- isAllowed: boolean;
4
- idUser: string;
5
- idModulePermission: string;
6
- constructor();
7
- }
1
+ export declare class UserPermissionModel {
2
+ idUserPermission: string;
3
+ isAllowed: boolean;
4
+ idUser: string;
5
+ idModulePermission: string;
6
+ constructor();
7
+ }
@@ -1,14 +1,14 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import { CaucaCoreService } from '@cauca-911/core';
4
- import { GroupModel } from '../models/group-model';
5
- export declare class ManagementGroupService {
6
- private http;
7
- private config;
8
- constructor(coreService: CaucaCoreService, http: HttpClient);
9
- getAll(): Observable<GroupModel[]>;
10
- get(idGroup: string): Observable<GroupModel>;
11
- save(group: GroupModel): Observable<any>;
12
- delete(idGroup: string): Observable<any>;
13
- hasExistingGroupName(group: GroupModel): Observable<boolean>;
14
- }
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { CaucaCoreService } from '@cauca-911/core';
4
+ import { GroupModel } from '../models/group-model';
5
+ export declare class ManagementGroupService {
6
+ private http;
7
+ private config;
8
+ constructor(coreService: CaucaCoreService, http: HttpClient);
9
+ getAll(): Observable<GroupModel[]>;
10
+ get(idGroup: string): Observable<GroupModel>;
11
+ save(group: GroupModel): Observable<any>;
12
+ delete(idGroup: string): Observable<any>;
13
+ hasExistingGroupName(group: GroupModel): Observable<boolean>;
14
+ }
@@ -1,13 +1,13 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import { CaucaCoreService } from '@cauca-911/core';
4
- import { PermissionModel } from '../models/permission-model';
5
- export declare class ManagementPermissionService {
6
- private http;
7
- private config;
8
- constructor(coreService: CaucaCoreService, http: HttpClient);
9
- getAll(): Observable<PermissionModel[]>;
10
- get(idPermission: string): Observable<PermissionModel>;
11
- save(permission: PermissionModel): Observable<any>;
12
- delete(idPermission: string): Observable<any>;
13
- }
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { CaucaCoreService } from '@cauca-911/core';
4
+ import { PermissionModel } from '../models/permission-model';
5
+ export declare class ManagementPermissionService {
6
+ private http;
7
+ private config;
8
+ constructor(coreService: CaucaCoreService, http: HttpClient);
9
+ getAll(): Observable<PermissionModel[]>;
10
+ get(idPermission: string): Observable<PermissionModel>;
11
+ save(permission: PermissionModel): Observable<any>;
12
+ delete(idPermission: string): Observable<any>;
13
+ }
@@ -1,20 +1,20 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import { CaucaCoreService } from '@cauca-911/core';
4
- import { UserGroupModel } from '../models/user-group-model';
5
- import { UserPermissionModel } from '../models/user-permission-model';
6
- export declare class ManagementUserService {
7
- protected http: HttpClient;
8
- private config;
9
- constructor(coreService: CaucaCoreService, http: HttpClient);
10
- getAll<TUser>(): Observable<TUser[]>;
11
- get<TUser>(idUser: string): Observable<TUser>;
12
- getGroup(idUser: string): Observable<any>;
13
- addGroup(userGroup: UserGroupModel): Observable<any>;
14
- deleteGroup(idUserGroup: string): Observable<any>;
15
- addPermission(userPermission: UserPermissionModel): Observable<any>;
16
- deletePermission(idUserPermission: string): Observable<any>;
17
- save<TUser>(user: TUser): Observable<any>;
18
- delete(idUser: string): Observable<any>;
19
- hasExistingUserName<TUser>(user: TUser): Observable<boolean>;
20
- }
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { CaucaCoreService } from '@cauca-911/core';
4
+ import { UserGroupModel } from '../models/user-group-model';
5
+ import { UserPermissionModel } from '../models/user-permission-model';
6
+ export declare class ManagementUserService {
7
+ protected http: HttpClient;
8
+ private config;
9
+ constructor(coreService: CaucaCoreService, http: HttpClient);
10
+ getAll<TUser>(): Observable<TUser[]>;
11
+ get<TUser>(idUser: string): Observable<TUser>;
12
+ getGroup(idUser: string): Observable<any>;
13
+ addGroup(userGroup: UserGroupModel): Observable<any>;
14
+ deleteGroup(idUserGroup: string): Observable<any>;
15
+ addPermission(userPermission: UserPermissionModel): Observable<any>;
16
+ deletePermission(idUserPermission: string): Observable<any>;
17
+ save<TUser>(user: TUser): Observable<any>;
18
+ delete(idUser: string): Observable<any>;
19
+ hasExistingUserName<TUser>(user: TUser): Observable<boolean>;
20
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@cauca-911/management",
3
- "version": "3.0.1",
3
+ "version": "11.0.1",
4
4
  "peerDependencies": {
5
- "@angular/common": "^10.2.0",
6
- "@angular/core": "^10.2.0",
7
- "@cauca-911/devextreme": "^3.0.0"
5
+ "@angular/common": "^11.0.0",
6
+ "@angular/core": "^11.0.0",
7
+ "@cauca-911/devextreme": "^11.0.0"
8
8
  },
9
9
  "homepage": "https://cauca.ca",
10
10
  "license": "SEE LICENSE IN LICENSE",
package/public-api.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- export * from './lib/cauca-management.service';
2
- export * from './lib/cauca-management.component';
3
- export * from './lib/cauca-management.module';
4
- export * from './lib/cauca-management-group/cauca-management-group.component';
5
- export * from './lib/cauca-management-user/cauca-management-user.component';
6
- export { ManagementUserService } from './lib/shared/services/management-user.service';
7
- export { ManagementGroupService } from './lib/shared/services/management-group.service';
8
- export { UserModel } from './lib/shared/models/user-model';
9
- export { UserGroupModel } from './lib/shared/models/user-group-model';
10
- export { UserPermissionModel } from './lib/shared/models/user-permission-model';
11
- export { GroupModel } from './lib/shared/models/group-model';
12
- export { GroupPermissionModel } from './lib/shared/models/group-permission-model';
1
+ export * from './lib/cauca-management.service';
2
+ export * from './lib/cauca-management.component';
3
+ export * from './lib/cauca-management.module';
4
+ export * from './lib/cauca-management-group/cauca-management-group.component';
5
+ export * from './lib/cauca-management-user/cauca-management-user.component';
6
+ export { ManagementUserService } from './lib/shared/services/management-user.service';
7
+ export { ManagementGroupService } from './lib/shared/services/management-group.service';
8
+ export { UserModel } from './lib/shared/models/user-model';
9
+ export { UserGroupModel } from './lib/shared/models/user-group-model';
10
+ export { UserPermissionModel } from './lib/shared/models/user-permission-model';
11
+ export { GroupModel } from './lib/shared/models/group-model';
12
+ export { GroupPermissionModel } from './lib/shared/models/group-permission-model';