bx-rest 0.4.6 → 0.4.7

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 (62) hide show
  1. package/README.md +118 -0
  2. package/consts/part-name-methods.d.ts +1 -0
  3. package/esm2022/consts/part-name-methods.mjs +2 -1
  4. package/esm2022/map/app.mjs +4 -2
  5. package/esm2022/map/disk/base.mjs +18 -16
  6. package/esm2022/map/disk/storage.mjs +4 -4
  7. package/esm2022/map/task/elapseditem.mjs +2 -1
  8. package/esm2022/map/timeman.mjs +37 -0
  9. package/esm2022/map/user.mjs +2 -2
  10. package/esm2022/request/calendar/event.mjs +1 -1
  11. package/esm2022/request/task/commentitem.mjs +5 -5
  12. package/esm2022/request/task/elapseditem.mjs +6 -6
  13. package/esm2022/request/timeman.mjs +52 -0
  14. package/esm2022/request-navvy/calendar/event.mjs +2 -2
  15. package/esm2022/request-navvy/disk/storage.mjs +3 -3
  16. package/esm2022/request-navvy/server.mjs +2 -2
  17. package/esm2022/request-navvy/task/elapseditem.mjs +47 -38
  18. package/esm2022/request-navvy/task/operation/elapseditem.mjs +63 -54
  19. package/esm2022/request-navvy/timeman.mjs +24 -0
  20. package/esm2022/request-navvy/user.mjs +3 -3
  21. package/esm2022/rest.mjs +29 -25
  22. package/esm2022/services/Navvy/NavvySimple.mjs +2 -2
  23. package/esm2022/services/Navvy/NavvySupport.mjs +1 -2
  24. package/esm2022/services/navvy.mjs +1 -1
  25. package/esm2022/typification/rest/task/access/getaccess.mjs +1 -1
  26. package/esm2022/typification/rest/tasks/task/list.mjs +1 -1
  27. package/esm2022/typification/rest/timeman/status.mjs +2 -0
  28. package/fesm2022/bx-rest.mjs +258 -169
  29. package/fesm2022/bx-rest.mjs.map +1 -1
  30. package/map/app.d.ts +1 -1
  31. package/map/disk/base.d.ts +1 -1
  32. package/map/disk/storage.d.ts +2 -2
  33. package/map/task/elapseditem.d.ts +1 -1
  34. package/map/timeman.d.ts +7 -0
  35. package/map/user.d.ts +1 -1
  36. package/package.json +1 -1
  37. package/request/disk/folder.d.ts +1 -1
  38. package/request/disk/storage.d.ts +1 -1
  39. package/request/task/commentitem.d.ts +3 -3
  40. package/request/task/elapseditem.d.ts +3 -3
  41. package/request/timeman.d.ts +17 -0
  42. package/request-navvy/app.d.ts +1 -1
  43. package/request-navvy/calendar/event.d.ts +1 -1
  44. package/request-navvy/disk/folder.d.ts +9 -9
  45. package/request-navvy/disk/interlayer/storage.d.ts +1 -1
  46. package/request-navvy/disk/storage.d.ts +2 -2
  47. package/request-navvy/server.d.ts +1 -1
  48. package/request-navvy/task/elapseditem.d.ts +6 -4
  49. package/request-navvy/task/operation/elapseditem.d.ts +3 -3
  50. package/request-navvy/tasks/task.d.ts +1 -1
  51. package/request-navvy/timeman.d.ts +14 -0
  52. package/request-navvy/user.d.ts +3 -3
  53. package/rest.d.ts +6 -2
  54. package/services/Navvy/NavvySimple.d.ts +2 -2
  55. package/services/navvy.d.ts +2 -2
  56. package/typification/rest/task/access/getaccess.d.ts +4 -1
  57. package/typification/rest/tasks/task/list.d.ts +4 -4
  58. package/typification/rest/timeman/status.d.ts +28 -0
  59. package/esm2022/services/permission.mjs +0 -43
  60. package/esm2022/typification/permission.mjs +0 -2
  61. package/services/permission.d.ts +0 -9
  62. package/typification/permission.d.ts +0 -27
@@ -53,7 +53,6 @@ class NavvySupport {
53
53
  }
54
54
  mapAndError(request) {
55
55
  return request.pipe(map(v => BXRestMapResult(v)), catchError(err => {
56
- // this.snackBar.error(errorText)
57
56
  return throwError(() => err);
58
57
  }));
59
58
  }
@@ -78,7 +77,7 @@ class NavvySimple extends NavvySupport {
78
77
  // ) as ReturnTypeNavvy<Observable<iBXRestAnswer<T | undefined>>, Observable<iBXRestAnswer<R | undefined>>>
79
78
  // }
80
79
  result() {
81
- return this.mapAndError(this.func).pipe(map(v => (v && this.map) ? this.map.call(this.mapClass, v) : v));
80
+ return this.mapAndError(this.func).pipe(map(v => (this.map) ? this.map.call(this.mapClass, v) : v));
82
81
  }
83
82
  }
84
83
 
@@ -409,7 +408,8 @@ const $updateTitle = 'updateTitle';
409
408
  const $updateColor = 'updateColor';
410
409
  const $updateAvatar = 'updateAvatar';
411
410
  const $setOwner = 'setOwner';
412
- const $mute = 'mute';
411
+ const $mute = 'mute';
412
+ const $timeMan = 'timeman';
413
413
 
414
414
  var partNameMethods$1 = /*#__PURE__*/Object.freeze({
415
415
  __proto__: null,
@@ -498,6 +498,7 @@ var partNameMethods$1 = /*#__PURE__*/Object.freeze({
498
498
  $template: $template,
499
499
  $terminate: $terminate,
500
500
  $time: $time,
501
+ $timeMan: $timeMan,
501
502
  $type: $type,
502
503
  $update: $update,
503
504
  $updateAvatar: $updateAvatar,
@@ -1469,17 +1470,17 @@ class BXRestTaskElapsedItem {
1469
1470
  constructor(http) {
1470
1471
  this.http = http;
1471
1472
  this.url = {
1472
- getmanifest: [$task, $elapseditem, $getmanifest],
1473
- getlist: [$task, $elapseditem, $getlist],
1473
+ getManifest: [$task, $elapseditem, $getmanifest],
1474
+ getList: [$task, $elapseditem, $getlist],
1474
1475
  get: [$task, $elapseditem, $get],
1475
1476
  add: [$task, $elapseditem, $add],
1476
1477
  delete: [$task, $elapseditem, $delete],
1477
- isactionallowed: [$task, $elapseditem, $isactionallowed],
1478
+ isActionAllowed: [$task, $elapseditem, $isactionallowed],
1478
1479
  update: [$task, $elapseditem, $update], // Изменяет параметры записи о затраченном времени
1479
1480
  };
1480
1481
  }
1481
1482
  getList(param = {}) {
1482
- return this.http.post(this.url.getlist, param);
1483
+ return this.http.post(this.url.getList, param);
1483
1484
  }
1484
1485
  add(param) {
1485
1486
  return this.http.post(this.url.add, param, {
@@ -1511,7 +1512,7 @@ class BXRestTaskElapsedItem {
1511
1512
  * @param param
1512
1513
  */
1513
1514
  isActionAllowed(param) {
1514
- return this.http.post(this.url.isactionallowed, param);
1515
+ return this.http.post(this.url.isActionAllowed, param);
1515
1516
  }
1516
1517
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTaskElapsedItem, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
1517
1518
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTaskElapsedItem, providedIn: 'root' }); }
@@ -1527,13 +1528,13 @@ class BXRestTaskCommentItem {
1527
1528
  constructor(http) {
1528
1529
  this.http = http;
1529
1530
  this.url = {
1530
- getmanifest: [$task, $commentitem, $getmanifest],
1531
- getlist: [$task, $commentitem, $getlist],
1531
+ getManifest: [$task, $commentitem, $getmanifest],
1532
+ getList: [$task, $commentitem, $getlist],
1532
1533
  get: [$task, $commentitem, $get],
1533
1534
  add: [$task, $commentitem, $add],
1534
1535
  update: [$task, $commentitem, $update],
1535
1536
  delete: [$task, $commentitem, $delete],
1536
- isactionallowed: [$task, $commentitem, $isactionallowed], // Проверяет, разрешено ли действие
1537
+ isActionAllowed: [$task, $commentitem, $isactionallowed], // Проверяет, разрешено ли действие
1537
1538
  };
1538
1539
  }
1539
1540
  add(param) {
@@ -1546,7 +1547,7 @@ class BXRestTaskCommentItem {
1546
1547
  return this.http.post(this.url.get, param);
1547
1548
  }
1548
1549
  getlist(param) {
1549
- return this.http.post(this.url.getlist, param);
1550
+ return this.http.post(this.url.getList, param);
1550
1551
  }
1551
1552
  del(param) {
1552
1553
  return this.http.post(this.url.delete, param);
@@ -2449,6 +2450,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
2449
2450
  }]
2450
2451
  }], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
2451
2452
 
2453
+ class BXRestTimeMan {
2454
+ constructor(http) {
2455
+ this.http = http;
2456
+ this.url = {
2457
+ settings: [$timeMan, $settings],
2458
+ status: [$timeMan, $status],
2459
+ open: [$timeMan, 'open'],
2460
+ close: [$timeMan, 'close'],
2461
+ pause: [$timeMan, $pause], // Приостановить рабочий день
2462
+ // networkrange: {
2463
+ // check: this.baseUrl + 'networkrange.check', // Метод для проверки IP-адреса на вхождение в диапазоны сетевых адресов офисной сети
2464
+ // get: this.baseUrl + 'networkrange.get', // Метод для получения диапазонов сетевых адресов, входящих в офисную сеть
2465
+ // set: this.baseUrl + 'networkrange.set' // Метод для установки диапазонов сетевых адресов, входящих в офисную сеть. 18.5.0
2466
+ // },
2467
+ // timecontrol: {
2468
+ // report: {
2469
+ // add: this.baseUrl + 'timecontrol.report.add', // Метод для отправки отчета о выявленном отсутствии
2470
+ // get: this.baseUrl + 'timecontrol.reports.get', // Метод для получения отчета о выявленных отсутствиях
2471
+ // settings: {
2472
+ // get: this.baseUrl + 'timecontrol.reports.settings.get' // Метод для получения пользовательских настроек для построения интерфейса отчетов инструмента контроля времени
2473
+ // },
2474
+ // users: {
2475
+ // get: this.baseUrl + 'timecontrol.reports.users.get' // Метод для получения списка пользователей, относящихся к указанному подразделению. 18.5.0
2476
+ // }
2477
+ // },
2478
+ // settings: {
2479
+ // get: this.baseUrl + 'timecontrol.settings.get', // Метод для получения настроек инструмента контроля времени
2480
+ // set: this.baseUrl + 'timecontrol.settings.set' // Метод для установки настроек инструмента контроля времени
2481
+ // },
2482
+ // },
2483
+ // schedule: {
2484
+ // get: this.baseUrl + 'schedule.get' // Метод позволяет получить рабочий график по его идентификатору
2485
+ // }
2486
+ };
2487
+ }
2488
+ status(param = undefined) {
2489
+ return this.http.post(this.url.status, param);
2490
+ }
2491
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTimeMan, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
2492
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTimeMan, providedIn: 'root' }); }
2493
+ }
2494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestTimeMan, decorators: [{
2495
+ type: Injectable,
2496
+ args: [{
2497
+ providedIn: 'root'
2498
+ }]
2499
+ }], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
2500
+
2452
2501
  class BaseMapServices extends BaseServices {
2453
2502
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BaseMapServices, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2454
2503
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BaseMapServices, providedIn: 'root' }); }
@@ -2468,7 +2517,7 @@ class BXRestMapUser extends BaseMapServices {
2468
2517
  return (v) ? v.map(i => this.userHttpToTrace(i)) : undefined;
2469
2518
  }
2470
2519
  current(v) {
2471
- return this.userHttpToTrace(v);
2520
+ return (v) ? this.userHttpToTrace(v) : undefined;
2472
2521
  }
2473
2522
  userHttpToTrace(user) {
2474
2523
  let res = Object.assign(clone(user), {
@@ -2573,10 +2622,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
2573
2622
  }], ctorParameters: function () { return [{ type: BXRestUserUserfield }]; } });
2574
2623
 
2575
2624
  class BXRestNavvyUser {
2576
- constructor(BXRestUserMap, BXRestUser, userfield) {
2625
+ constructor(BXRestUserMap, BXRestUser, userField) {
2577
2626
  this.BXRestUserMap = BXRestUserMap;
2578
2627
  this.BXRestUser = BXRestUser;
2579
- this.userfield = userfield;
2628
+ this.userField = userField;
2580
2629
  this.def = {
2581
2630
  params: { ACTIVE: 1, start: 0 }
2582
2631
  };
@@ -2898,48 +2947,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
2898
2947
  }]
2899
2948
  }], ctorParameters: function () { return [{ type: BXRestNavvyListsElement }, { type: BXRestNavvyListsField }, { type: BXRestMapLists }, { type: BXRestLists }]; } });
2900
2949
 
2901
- class Permission {
2902
- static get() {
2903
- return SessionStorage.getItem('permission');
2904
- }
2905
- static set(param) {
2906
- SessionStorage.setItem('permission', Object.assign(this.get(), param));
2907
- }
2908
- static setTaskElapsedItem(idTask, ElapsedItem) {
2909
- let permission = Permission.get();
2910
- if (permission.tasks) {
2911
- let findTask = permission.tasks.find(i => i.id === idTask);
2912
- if (findTask) {
2913
- let findTaskElapsedItem = findTask.elapsedItem.find(i => i.id === ElapsedItem.id);
2914
- if (findTaskElapsedItem) {
2915
- if (ElapsedItem.verified.edit) {
2916
- findTaskElapsedItem.verified.edit = ElapsedItem.verified.edit;
2917
- findTaskElapsedItem.edit = ElapsedItem.edit;
2918
- }
2919
- if (ElapsedItem.verified.del) {
2920
- findTaskElapsedItem.verified.del = ElapsedItem.verified.del;
2921
- findTaskElapsedItem.del = ElapsedItem.del;
2922
- }
2923
- }
2924
- else {
2925
- findTask.elapsedItem.push(ElapsedItem);
2926
- }
2927
- }
2928
- SessionStorage.setItem('permission', permission);
2929
- }
2930
- }
2931
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: Permission, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2932
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: Permission, providedIn: 'root' }); }
2933
- }
2934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: Permission, decorators: [{
2935
- type: Injectable,
2936
- args: [{
2937
- providedIn: 'root'
2938
- }]
2939
- }] });
2940
-
2941
2950
  class BXRestMapTaskElapsedItem extends BaseMapServices {
2942
2951
  update(p) {
2952
+ console.log('update', p);
2943
2953
  return (p == null);
2944
2954
  }
2945
2955
  getList(v) {
@@ -3344,7 +3354,8 @@ class BXRestNavvyOperationElapsedItem {
3344
3354
  };
3345
3355
  })).pipe(map(v => {
3346
3356
  if (v && v.length) {
3347
- return this.http.mapBranchResultWithoutKey(v).map(i => this.BXRestMapElapsedItem.getList(i)).filter((i) => i !== undefined).flat();
3357
+ const res = this.http.mapBranchResultWithoutKey(v);
3358
+ return this.BXRestMapElapsedItem.getList(res);
3348
3359
  }
3349
3360
  return undefined;
3350
3361
  }));
@@ -3366,7 +3377,7 @@ class BXRestNavvyOperationElapsedItem {
3366
3377
  .map(i => {
3367
3378
  return {
3368
3379
  [i]: {
3369
- name: this.http.getNameMethod([$tasks, $task, $getaccess]),
3380
+ name: this.http.getNameMethod([$task, $elapseditem, $isactionallowed]),
3370
3381
  param: {
3371
3382
  TASKID: i,
3372
3383
  ITEMID: 1,
@@ -3389,58 +3400,67 @@ class BXRestNavvyOperationElapsedItem {
3389
3400
  }));
3390
3401
  }
3391
3402
  checkPermissionAddElapsedTimeToTask(idTask) {
3392
- let permission = Permission.get();
3393
- if (permission?.tasks?.length) {
3394
- let findTask = permission.tasks.find(i => i.id === idTask);
3395
- if (findTask?.permission) {
3396
- return of(findTask.permission['ELAPSEDTIME.ADD']);
3403
+ // let permission = Permission.get()
3404
+ // if (permission?.tasks?.length) {
3405
+ // let findTask = permission.tasks.find(i => i.id === idTask)
3406
+ // if (findTask?.permission) {
3407
+ // return of(findTask.permission['ELAPSEDTIME.ADD'])
3408
+ // }
3409
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3410
+ if (self) {
3411
+ return this.BXRestNavvyTasks.task.getAccess({
3412
+ id: idTask,
3413
+ users: [self.ID]
3414
+ }).result().pipe(
3415
+ // tap(v => {
3416
+ // if (v && v[self.ID]) {
3417
+ // Permission.set({
3418
+ // tasks: [{id: idTask, permission: v[self.ID], elapsedItem: []}]
3419
+ // })
3420
+ // }
3421
+ // }),
3422
+ map(v => {
3423
+ return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
3424
+ }));
3397
3425
  }
3398
- return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3399
- if (self) {
3400
- return this.BXRestNavvyTasks.task.getAccess({
3401
- id: idTask,
3402
- users: [self.ID]
3403
- }).result().pipe(tap(v => {
3404
- if (v && v[self.ID]) {
3405
- Permission.set({
3406
- tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
3407
- });
3408
- }
3409
- }), map(v => {
3410
- return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
3411
- }));
3412
- }
3413
- return of(undefined);
3414
- }));
3415
- }
3416
- return of(undefined);
3426
+ return of(undefined);
3427
+ }));
3428
+ // }
3429
+ // return of(undefined)
3417
3430
  }
3431
+ // вообще метод похоже даже на вредный в какомто смысле
3418
3432
  checkPermissionReadTask(idTask) {
3419
- let permission = Permission.get();
3420
- if (permission?.tasks?.length) {
3421
- let findTask = permission.tasks.find(i => i.id === idTask);
3422
- if (findTask?.permission) {
3423
- return of(findTask.permission.ACCEPT);
3433
+ // let permission = Permission.get()
3434
+ // if (permission?.tasks?.length) {
3435
+ // let findTask = permission.tasks.find(i => i.id === idTask)
3436
+ // if (findTask?.permission) {
3437
+ // return of(findTask.permission.ACCEPT)
3438
+ // }
3439
+ // console.log('idTask', idTask)
3440
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3441
+ console.log('self', self);
3442
+ if (self) {
3443
+ return this.BXRestNavvyTasks.task.getAccess({
3444
+ id: idTask,
3445
+ users: [self.ID]
3446
+ }).result().pipe(
3447
+ // tap(v => {
3448
+ // if (v && v[self.ID]) {
3449
+ // Permission.set({
3450
+ // tasks: [{id: idTask, permission: v[self.ID], elapsedItem: []}]
3451
+ // })
3452
+ // }
3453
+ // }),
3454
+ map(v => {
3455
+ console.log('v', v);
3456
+ return (v && v[self.ID]) ? !!v[self.ID] : false; // отдельного флага на чтение нет, выходит что если права отдались то и права есть
3457
+ }));
3424
3458
  }
3425
- return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3426
- if (self) {
3427
- return this.BXRestNavvyTasks.task.getAccess({
3428
- id: idTask,
3429
- users: [self.ID]
3430
- }).result().pipe(tap(v => {
3431
- if (v && v[self.ID]) {
3432
- Permission.set({
3433
- tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
3434
- });
3435
- }
3436
- }), map(v => {
3437
- return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
3438
- }));
3439
- }
3440
- return of(undefined);
3441
- }));
3442
- }
3443
- return of(undefined);
3459
+ return of(undefined);
3460
+ }));
3461
+ // }
3462
+ //
3463
+ // return of(undefined)
3444
3464
  }
3445
3465
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyOperationElapsedItem, deps: [{ token: HttpBXServices }, { token: BXRestNavvyDelegateElapsedItem }, { token: BXRestMapTaskElapsedItem }, { token: BXRestNavvyUser }, { token: BXRestNavvyTasks }], target: i0.ɵɵFactoryTarget.Injectable }); }
3446
3466
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyOperationElapsedItem, providedIn: 'root' }); }
@@ -3472,7 +3492,13 @@ class BXRestNavvyElapsedItem {
3472
3492
  return this.delegate.getList(param);
3473
3493
  }
3474
3494
  add(param) {
3495
+ return new NavvySimple(this, this.BXRestMapElapsedItem, this.addBase.call(this, param));
3496
+ // return this.Navvy.simpleWithArg(this.addBase.bind(this), param)
3497
+ }
3498
+ addBase(param) {
3499
+ console.log('this.operation', this.operation);
3475
3500
  return this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3501
+ console.log('allowedReadTask', allowedReadTask);
3476
3502
  if (allowedReadTask) {
3477
3503
  return this.operation.checkPermissionAddElapsedTimeToTask(param.TASKID).pipe(mergeMap(allowed => {
3478
3504
  if (allowed) {
@@ -3494,21 +3520,19 @@ class BXRestNavvyElapsedItem {
3494
3520
  * @param param
3495
3521
  */
3496
3522
  update(param) {
3497
- return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3523
+ const func = () => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap((allowedReadTask) => {
3498
3524
  if (allowedReadTask) {
3499
3525
  return this.isAllowedModify(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
3500
3526
  if (allowed) {
3501
3527
  return this.BXRestElapsedItem.update(param);
3502
3528
  }
3503
- else {
3504
- return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
3505
- }
3529
+ return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
3506
3530
  }));
3507
3531
  }
3508
- else {
3509
- return throwError(() => new Error('Отсутствуют права на чтение задачи'));
3510
- }
3511
- })), this.BXRestMapElapsedItem.update);
3532
+ return throwError(() => new Error('Отсутствуют права на чтение задачи'));
3533
+ }));
3534
+ console.log('this.BXRestMapElapsedItem.update', this.BXRestMapElapsedItem.update);
3535
+ return new NavvySimple(this, this.BXRestMapElapsedItem, func.call(this), this.BXRestMapElapsedItem.update);
3512
3536
  }
3513
3537
  /*
3514
3538
  getAll(
@@ -3570,40 +3594,45 @@ class BXRestNavvyElapsedItem {
3570
3594
  )
3571
3595
  }
3572
3596
  */
3597
+ // TODO: разобраться что это за ебатня в комментах и вписать нормальной комент если она нужна
3573
3598
  isAllowedModify(idTask, idItem) {
3574
- let permission = Permission.get();
3575
- if (permission?.tasks?.length) {
3576
- let findTask = permission.tasks.find(i => i.id === idTask);
3577
- if (findTask) {
3578
- let find = findTask.elapsedItem.find(i => i.id === idItem);
3579
- if (find && find.verified.edit) {
3580
- return of(find.edit);
3581
- }
3582
- }
3583
- }
3599
+ // let permission = Permission.get()
3600
+ // if (permission?.tasks?.length) {
3601
+ // let findTask = permission.tasks.find(i => i.id === idTask)
3602
+ // if (findTask) {
3603
+ // let find = findTask.elapsedItem.find(i => i.id === idItem)
3604
+ // if (find && find.verified.edit) {
3605
+ // return of(find.edit)
3606
+ // }
3607
+ // }
3608
+ // }
3584
3609
  return this.isActionAllowed({
3585
3610
  TASKID: idTask,
3586
- ITEMID: 2,
3587
- ACTIONID: idItem
3588
- }).result().pipe(tap(v => {
3589
- if (v !== undefined) {
3590
- Permission.setTaskElapsedItem(idTask, {
3591
- id: idItem,
3592
- edit: v,
3593
- del: false,
3594
- verified: {
3595
- edit: true,
3596
- del: false,
3597
- }
3598
- });
3599
- }
3600
- }));
3611
+ ITEMID: idItem,
3612
+ ACTIONID: 2
3613
+ }).result();
3614
+ // .pipe(
3615
+ // tap(v => {
3616
+ // if (v !== undefined) {
3617
+ // Permission.setTaskElapsedItem(idTask,
3618
+ // {
3619
+ // id: idItem,
3620
+ // edit: v,
3621
+ // del: false,
3622
+ // verified: {
3623
+ // edit: true,
3624
+ // del: false,
3625
+ // }
3626
+ // })
3627
+ // }
3628
+ // })
3629
+ // )
3601
3630
  }
3602
3631
  isAllowedRemove(idTask, idItem) {
3603
3632
  return this.isActionAllowed({
3604
3633
  TASKID: idTask,
3605
- ITEMID: 3,
3606
- ACTIONID: idItem
3634
+ ITEMID: idItem,
3635
+ ACTIONID: 3
3607
3636
  }).result();
3608
3637
  }
3609
3638
  /**
@@ -3839,22 +3868,24 @@ class BXRestMapDiskBase extends BaseMapServices {
3839
3868
  return object && object.TYPE && object.TYPE === 'folder';
3840
3869
  }
3841
3870
  FolderHttpToFolder(value) {
3842
- return {
3843
- ...value,
3844
- ...{
3845
- CREATED_BY: this.toNum(value.CREATED_BY),
3846
- CREATE_TIME: this.toDate(value.CREATE_TIME),
3847
- DELETED_BY: this.toNum(value.DELETED_BY),
3848
- DELETED_TYPE: this.toNum(value.DELETED_TYPE),
3849
- DELETE_TIME: this.toDate(value.CREATE_TIME),
3850
- ID: this.toNum(value.ID),
3851
- PARENT_ID: this.toNum(value.PARENT_ID),
3852
- REAL_OBJECT_ID: this.toNum(value.REAL_OBJECT_ID),
3853
- STORAGE_ID: this.toNum(value.STORAGE_ID),
3854
- UPDATED_BY: this.toNum(value.UPDATED_BY),
3855
- UPDATE_TIME: this.toDate(value.CREATE_TIME)
3871
+ return (value)
3872
+ ? {
3873
+ ...value,
3874
+ ...{
3875
+ CREATED_BY: this.toNum(value.CREATED_BY),
3876
+ CREATE_TIME: this.toDate(value.CREATE_TIME),
3877
+ DELETED_BY: this.toNum(value.DELETED_BY),
3878
+ DELETED_TYPE: this.toNum(value.DELETED_TYPE),
3879
+ DELETE_TIME: this.toDate(value.CREATE_TIME),
3880
+ ID: this.toNum(value.ID),
3881
+ PARENT_ID: this.toNum(value.PARENT_ID),
3882
+ REAL_OBJECT_ID: this.toNum(value.REAL_OBJECT_ID),
3883
+ STORAGE_ID: this.toNum(value.STORAGE_ID),
3884
+ UPDATED_BY: this.toNum(value.UPDATED_BY),
3885
+ UPDATE_TIME: this.toDate(value.CREATE_TIME)
3886
+ }
3856
3887
  }
3857
- };
3888
+ : undefined;
3858
3889
  }
3859
3890
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapDiskBase, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3860
3891
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapDiskBase, providedIn: 'root' }); }
@@ -4031,11 +4062,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
4031
4062
  }], ctorParameters: function () { return [{ type: BXRestDiskFile }, { type: BXRestMapDiskFile }]; } });
4032
4063
 
4033
4064
  class BXRestMapDiskStorage extends BXRestMapDiskBase {
4034
- getchildren(arr) {
4065
+ getChildren(arr) {
4035
4066
  return (arr) ? this.separationFoldersAndFiles(arr) : { file: [], folder: [] };
4036
4067
  }
4037
- addfolder(value) {
4038
- return this.FolderHttpToFolder(value);
4068
+ addFolder(value) {
4069
+ return (value) ? this.FolderHttpToFolder(value) : undefined;
4039
4070
  }
4040
4071
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapDiskStorage, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4041
4072
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapDiskStorage, providedIn: 'root' }); }
@@ -4171,10 +4202,10 @@ class BXRestNavvyDiskStorage {
4171
4202
  }
4172
4203
  */
4173
4204
  getChildren(param) {
4174
- return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.getChildren, param, this.BXRestMapDiskStorage.getchildren);
4205
+ return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.getChildren, param, this.BXRestMapDiskStorage.getChildren);
4175
4206
  }
4176
4207
  addFolder(param) {
4177
- return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.addFolder, param, this.BXRestMapDiskStorage.addfolder);
4208
+ return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.addFolder, param, this.BXRestMapDiskStorage.addFolder);
4178
4209
  }
4179
4210
  uploadFile(param) {
4180
4211
  return this.Navvy.simpleWithArg(this.BXRestNavvyInterlayerDiskStorage.uploadFile, param);
@@ -4597,7 +4628,7 @@ class BXRestNavvyRestCalendarEvent {
4597
4628
  constructor(BXRestCalendarEvent, eventMap) {
4598
4629
  this.BXRestCalendarEvent = BXRestCalendarEvent;
4599
4630
  this.eventMap = eventMap;
4600
- this.Navvy = new Navvy(this.eventMap, undefined);
4631
+ this.Navvy = new Navvy(BXRestCalendarEvent, eventMap);
4601
4632
  }
4602
4633
  get(param) {
4603
4634
  return this.Navvy.simpleWithArg(this.BXRestCalendarEvent.get, param, this.eventMap.get);
@@ -4729,7 +4760,7 @@ class BXRestNavvyServer {
4729
4760
  constructor(BXRestServer, BXRestMapServer) {
4730
4761
  this.BXRestServer = BXRestServer;
4731
4762
  this.BXRestMapServer = BXRestMapServer;
4732
- this.Navvy = new Navvy(this.BXRestServer, BXRestMapServer);
4763
+ this.Navvy = new Navvy(BXRestServer, BXRestMapServer);
4733
4764
  }
4734
4765
  time() {
4735
4766
  return this.Navvy.simple(this.BXRestServer.time, this.BXRestMapServer.time);
@@ -4839,7 +4870,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
4839
4870
 
4840
4871
  class BXRestMapApp extends BaseMapServices {
4841
4872
  info(value) {
4842
- return { ...value, ...{ ID: this.toNum(value.ID), PAYMENT_EXPIRED: value.PAYMENT_EXPIRED === 'Y' } };
4873
+ return (value)
4874
+ ? { ...value, ...{ ID: this.toNum(value.ID), PAYMENT_EXPIRED: value.PAYMENT_EXPIRED === 'Y' } }
4875
+ : undefined;
4843
4876
  }
4844
4877
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapApp, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4845
4878
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapApp, providedIn: 'root' }); }
@@ -4873,6 +4906,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
4873
4906
  }]
4874
4907
  }], ctorParameters: function () { return [{ type: BXRestApp }, { type: BXRestMapApp }]; } });
4875
4908
 
4909
+ class BXRestMapTimeMan {
4910
+ status(status) {
4911
+ if (status) {
4912
+ const duration = status.DURATION.split(':');
4913
+ const time_leaks = status.TIME_LEAKS.split(':');
4914
+ return {
4915
+ STATUS: status.STATUS,
4916
+ TIME_START: (status.TIME_START) ? new Date(status.TIME_START) : undefined,
4917
+ TIME_FINISH: (status.TIME_FINISH) ? new Date(status.TIME_FINISH) : undefined,
4918
+ DURATION: (duration.length && duration.length == 3)
4919
+ ? Number(duration[0]) * 60 * 60 + Number(duration[1]) * 60 + Number(duration[2]) : 0,
4920
+ TIME_LEAKS: (time_leaks.length && time_leaks.length == 3)
4921
+ ? Number(time_leaks[0]) * 60 * 60 + Number(time_leaks[1]) * 60 + Number(time_leaks[2]) : 0,
4922
+ ACTIVE: status.ACTIVE,
4923
+ IP_OPEN: status.IP_CLOSE,
4924
+ IP_CLOSE: status.IP_CLOSE,
4925
+ LAT_OPEN: status.LAT_OPEN,
4926
+ LON_OPEN: status.LON_OPEN,
4927
+ LAT_CLOSE: status.LAT_CLOSE,
4928
+ LON_CLOSE: status.LON_CLOSE,
4929
+ TZ_OFFSET: status.TZ_OFFSET
4930
+ };
4931
+ }
4932
+ return undefined;
4933
+ }
4934
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapTimeMan, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4935
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapTimeMan, providedIn: 'root' }); }
4936
+ }
4937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestMapTimeMan, decorators: [{
4938
+ type: Injectable,
4939
+ args: [{
4940
+ providedIn: 'root'
4941
+ }]
4942
+ }] });
4943
+
4944
+ class BXRestNavvyTimeMan {
4945
+ constructor(BXRestTimeMan, BXRestMapTimeMan) {
4946
+ this.BXRestTimeMan = BXRestTimeMan;
4947
+ this.BXRestMapTimeMan = BXRestMapTimeMan;
4948
+ this.Navvy = new Navvy(BXRestTimeMan, BXRestMapTimeMan);
4949
+ }
4950
+ status(param = undefined) {
4951
+ return this.Navvy.simpleWithArg(this.BXRestTimeMan.status, param, this.BXRestMapTimeMan.status);
4952
+ }
4953
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, deps: [{ token: BXRestTimeMan }, { token: BXRestMapTimeMan }], target: i0.ɵɵFactoryTarget.Injectable }); }
4954
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, providedIn: 'root' }); }
4955
+ }
4956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, decorators: [{
4957
+ type: Injectable,
4958
+ args: [{
4959
+ providedIn: 'root'
4960
+ }]
4961
+ }], ctorParameters: function () { return [{ type: BXRestTimeMan }, { type: BXRestMapTimeMan }]; } });
4962
+
4876
4963
  class BXRestMaps extends BaseMapServices {
4877
4964
  profile(user) {
4878
4965
  return (user) ? { ...user, ...{ ID: this.toNum(user.ID) } } : undefined;
@@ -4888,7 +4975,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
4888
4975
  }] });
4889
4976
 
4890
4977
  class BXRest {
4891
- constructor(user, lists, task, tasks, disk, bizProc, log, calendar, sonet_group, server, department, im, app, http) {
4978
+ constructor(user, lists, task, tasks, disk, bizProc, log, calendar, sonet_group, server, department, im, app, timeMan, http) {
4892
4979
  this.user = user;
4893
4980
  this.lists = lists;
4894
4981
  this.task = task;
@@ -4902,12 +4989,13 @@ class BXRest {
4902
4989
  this.department = department;
4903
4990
  this.im = im;
4904
4991
  this.app = app;
4992
+ this.timeMan = timeMan;
4905
4993
  this.http = http;
4906
4994
  }
4907
4995
  profile() {
4908
4996
  return this.http.post(['profile']);
4909
4997
  }
4910
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRest, deps: [{ token: BXRestUser }, { token: BXRestLists }, { token: BXRestTask }, { token: BXRestTasks }, { token: BXRestDisk }, { token: BXRestBizProc }, { token: BXRestLog }, { token: BXRestCalendar }, { token: BXRestSonetGroup }, { token: BXRestServer }, { token: BXRestDepartment }, { token: BXRestIm }, { token: BXRestApp }, { token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
4998
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRest, deps: [{ token: BXRestUser }, { token: BXRestLists }, { token: BXRestTask }, { token: BXRestTasks }, { token: BXRestDisk }, { token: BXRestBizProc }, { token: BXRestLog }, { token: BXRestCalendar }, { token: BXRestSonetGroup }, { token: BXRestServer }, { token: BXRestDepartment }, { token: BXRestIm }, { token: BXRestApp }, { token: BXRestTimeMan }, { token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
4911
4999
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRest, providedIn: 'root' }); }
4912
5000
  }
4913
5001
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRest, decorators: [{
@@ -4915,9 +5003,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
4915
5003
  args: [{
4916
5004
  providedIn: 'root'
4917
5005
  }]
4918
- }], ctorParameters: function () { return [{ type: BXRestUser }, { type: BXRestLists }, { type: BXRestTask }, { type: BXRestTasks }, { type: BXRestDisk }, { type: BXRestBizProc }, { type: BXRestLog }, { type: BXRestCalendar }, { type: BXRestSonetGroup }, { type: BXRestServer }, { type: BXRestDepartment }, { type: BXRestIm }, { type: BXRestApp }, { type: HttpBXServices }]; } });
5006
+ }], ctorParameters: function () { return [{ type: BXRestUser }, { type: BXRestLists }, { type: BXRestTask }, { type: BXRestTasks }, { type: BXRestDisk }, { type: BXRestBizProc }, { type: BXRestLog }, { type: BXRestCalendar }, { type: BXRestSonetGroup }, { type: BXRestServer }, { type: BXRestDepartment }, { type: BXRestIm }, { type: BXRestApp }, { type: BXRestTimeMan }, { type: HttpBXServices }]; } });
4919
5007
  class BXRestNavvy {
4920
- constructor(user, lists, task, tasks, disk, bizProc, log, calendar, sonet_group, server, department, im, app, BXRest, BXRestMap) {
5008
+ constructor(user, lists, task, tasks, disk, bizProc, log, calendar, sonet_group, server, department, im, app, timeMan, BXRest, BXRestMap) {
4921
5009
  this.user = user;
4922
5010
  this.lists = lists;
4923
5011
  this.task = task;
@@ -4931,6 +5019,7 @@ class BXRestNavvy {
4931
5019
  this.department = department;
4932
5020
  this.im = im;
4933
5021
  this.app = app;
5022
+ this.timeMan = timeMan;
4934
5023
  this.BXRest = BXRest;
4935
5024
  this.BXRestMap = BXRestMap;
4936
5025
  this.Navvy = new Navvy(this.BXRest, this.BXRestMap);
@@ -4938,7 +5027,7 @@ class BXRestNavvy {
4938
5027
  profile() {
4939
5028
  return this.Navvy.simple(this.BXRest.profile, this.BXRestMap.profile);
4940
5029
  }
4941
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvy, deps: [{ token: BXRestNavvyUser }, { token: BXRestNavvyLists }, { token: BXRestNavvyTask }, { token: BXRestNavvyTasks }, { token: BXRestNavvyDisk }, { token: BXRestNavvyBizProc }, { token: BXRestNavvyLog }, { token: BXRestNavvyCalendar }, { token: BXRestNavvySonetGroup }, { token: BXRestNavvyServer }, { token: BXRestNavvyDepartment }, { token: BXRestNavvyIm }, { token: BXRestNavvyApp }, { token: BXRest }, { token: BXRestMaps }], target: i0.ɵɵFactoryTarget.Injectable }); }
5030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvy, deps: [{ token: BXRestNavvyUser }, { token: BXRestNavvyLists }, { token: BXRestNavvyTask }, { token: BXRestNavvyTasks }, { token: BXRestNavvyDisk }, { token: BXRestNavvyBizProc }, { token: BXRestNavvyLog }, { token: BXRestNavvyCalendar }, { token: BXRestNavvySonetGroup }, { token: BXRestNavvyServer }, { token: BXRestNavvyDepartment }, { token: BXRestNavvyIm }, { token: BXRestNavvyApp }, { token: BXRestNavvyTimeMan }, { token: BXRest }, { token: BXRestMaps }], target: i0.ɵɵFactoryTarget.Injectable }); }
4942
5031
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvy, providedIn: 'root' }); }
4943
5032
  }
4944
5033
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvy, decorators: [{
@@ -4946,7 +5035,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
4946
5035
  args: [{
4947
5036
  providedIn: 'root'
4948
5037
  }]
4949
- }], ctorParameters: function () { return [{ type: BXRestNavvyUser }, { type: BXRestNavvyLists }, { type: BXRestNavvyTask }, { type: BXRestNavvyTasks }, { type: BXRestNavvyDisk }, { type: BXRestNavvyBizProc }, { type: BXRestNavvyLog }, { type: BXRestNavvyCalendar }, { type: BXRestNavvySonetGroup }, { type: BXRestNavvyServer }, { type: BXRestNavvyDepartment }, { type: BXRestNavvyIm }, { type: BXRestNavvyApp }, { type: BXRest }, { type: BXRestMaps }]; } });
5038
+ }], ctorParameters: function () { return [{ type: BXRestNavvyUser }, { type: BXRestNavvyLists }, { type: BXRestNavvyTask }, { type: BXRestNavvyTasks }, { type: BXRestNavvyDisk }, { type: BXRestNavvyBizProc }, { type: BXRestNavvyLog }, { type: BXRestNavvyCalendar }, { type: BXRestNavvySonetGroup }, { type: BXRestNavvyServer }, { type: BXRestNavvyDepartment }, { type: BXRestNavvyIm }, { type: BXRestNavvyApp }, { type: BXRestNavvyTimeMan }, { type: BXRest }, { type: BXRestMaps }]; } });
4950
5039
  class BXRestMap {
4951
5040
  constructor(lists) {
4952
5041
  this.lists = lists;