bx-rest 0.2.12 → 0.2.14

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 (115) hide show
  1. package/esm2022/map/task/planner.mjs +17 -0
  2. package/esm2022/map/task.mjs +5 -7
  3. package/esm2022/map/tasks/task/result.mjs +27 -0
  4. package/esm2022/map/tasks/task.mjs +10 -3
  5. package/esm2022/request/bizproc/activity.mjs +1 -1
  6. package/esm2022/request/bizproc/event.mjs +1 -1
  7. package/esm2022/request/bizproc/robot.mjs +1 -1
  8. package/esm2022/request/bizproc/task.mjs +1 -1
  9. package/esm2022/request/bizproc/workflow/instance.mjs +1 -1
  10. package/esm2022/request/bizproc/workflow/template.mjs +1 -1
  11. package/esm2022/request/bizproc/workflow.mjs +1 -1
  12. package/esm2022/request/calendar/event.mjs +1 -1
  13. package/esm2022/request/calendar.mjs +2 -2
  14. package/esm2022/request/departments.mjs +1 -1
  15. package/esm2022/request/disk/attachedObject.mjs +1 -1
  16. package/esm2022/request/disk/file.mjs +1 -1
  17. package/esm2022/request/disk/folder.mjs +1 -1
  18. package/esm2022/request/disk/storage.mjs +1 -1
  19. package/esm2022/request/lists/element.mjs +1 -1
  20. package/esm2022/request/lists/field.mjs +1 -1
  21. package/esm2022/request/lists.mjs +1 -1
  22. package/esm2022/request/log/blogcomment.mjs +1 -1
  23. package/esm2022/request/log/blogpost.mjs +1 -1
  24. package/esm2022/request/server.mjs +1 -1
  25. package/esm2022/request/sonet_group.mjs +2 -5
  26. package/esm2022/request/task/commentitem.mjs +1 -1
  27. package/esm2022/request/task/elapseditem.mjs +1 -1
  28. package/esm2022/request/task/planner.mjs +2 -2
  29. package/esm2022/request/tasks/task/result.mjs +32 -0
  30. package/esm2022/request/tasks/task.mjs +20 -41
  31. package/esm2022/request/user/userfield.mjs +1 -1
  32. package/esm2022/request/user.mjs +1 -1
  33. package/esm2022/request-navvy/sonet_group.mjs +2 -5
  34. package/esm2022/request-navvy/task/delegate/elapseditem.mjs +37 -0
  35. package/esm2022/request-navvy/task/elapseditem.mjs +20 -87
  36. package/esm2022/request-navvy/task/operation/elapseditem.mjs +118 -6
  37. package/esm2022/request-navvy/task/planner.mjs +24 -0
  38. package/esm2022/request-navvy/task.mjs +6 -4
  39. package/esm2022/request-navvy/tasks/task/result.mjs +30 -0
  40. package/esm2022/request-navvy/tasks/task.mjs +9 -38
  41. package/esm2022/request-navvy/user/userfield.mjs +1 -1
  42. package/esm2022/services/http/HttpBX.mjs +4 -7
  43. package/esm2022/typification/rest/sonet_group/get.mjs +1 -1
  44. package/esm2022/typification/rest/task/commentitem/add.mjs +1 -1
  45. package/esm2022/typification/rest/task/commentitem/getlist.mjs +1 -1
  46. package/esm2022/typification/rest/tasks/base/fieldsName.mjs +53 -0
  47. package/esm2022/typification/rest/tasks/base/filterGenerator.mjs +2 -0
  48. package/esm2022/typification/rest/tasks/base/people.mjs +2 -0
  49. package/esm2022/typification/rest/tasks/result/list.mjs +2 -0
  50. package/esm2022/typification/rest/tasks/task/get.mjs +1 -1
  51. package/esm2022/typification/rest/tasks/task/list.mjs +1 -1
  52. package/esm2022/typification/rest/tasks/task/result/result.mjs +2 -0
  53. package/esm2022/typification/rest/tasks/task.mjs +2 -0
  54. package/fesm2022/bx-rest.mjs +356 -241
  55. package/fesm2022/bx-rest.mjs.map +1 -1
  56. package/map/task/planner.d.ts +7 -0
  57. package/map/task.d.ts +1 -3
  58. package/map/tasks/task/result.d.ts +10 -0
  59. package/map/tasks/task.d.ts +10 -7
  60. package/package.json +1 -1
  61. package/request/bizproc/activity.d.ts +1 -1
  62. package/request/bizproc/event.d.ts +1 -1
  63. package/request/bizproc/robot.d.ts +1 -1
  64. package/request/bizproc/task.d.ts +1 -1
  65. package/request/bizproc/workflow/instance.d.ts +1 -1
  66. package/request/bizproc/workflow/template.d.ts +1 -1
  67. package/request/bizproc/workflow.d.ts +1 -1
  68. package/request/calendar/event.d.ts +1 -1
  69. package/request/departments.d.ts +1 -1
  70. package/request/disk/attachedObject.d.ts +1 -1
  71. package/request/disk/file.d.ts +1 -1
  72. package/request/disk/folder.d.ts +1 -1
  73. package/request/disk/storage.d.ts +1 -1
  74. package/request/lists/element.d.ts +1 -1
  75. package/request/lists/field.d.ts +1 -1
  76. package/request/lists.d.ts +1 -1
  77. package/request/log/blogcomment.d.ts +1 -1
  78. package/request/log/blogpost.d.ts +1 -1
  79. package/request/server.d.ts +1 -1
  80. package/request/sonet_group.d.ts +1 -1
  81. package/request/task/commentitem.d.ts +1 -1
  82. package/request/task/elapseditem.d.ts +1 -1
  83. package/request/task/planner.d.ts +1 -1
  84. package/request/tasks/task/result.d.ts +18 -0
  85. package/request/tasks/task.d.ts +11 -15
  86. package/request/user/userfield.d.ts +1 -1
  87. package/request/user.d.ts +1 -1
  88. package/request-navvy/task/delegate/elapseditem.d.ts +13 -0
  89. package/request-navvy/task/elapseditem.d.ts +9 -10
  90. package/request-navvy/task/operation/elapseditem.d.ts +18 -4
  91. package/request-navvy/task/planner.d.ts +12 -0
  92. package/request-navvy/task.d.ts +3 -1
  93. package/request-navvy/tasks/task/result.d.ts +15 -0
  94. package/request-navvy/tasks/task.d.ts +9 -10
  95. package/request-navvy/user/userfield.d.ts +1 -2
  96. package/services/http/HttpBX.d.ts +4 -0
  97. package/typification/rest/sonet_group/get.d.ts +2 -2
  98. package/typification/rest/task/commentitem/add.d.ts +1 -0
  99. package/typification/rest/task/commentitem/getlist.d.ts +1 -1
  100. package/typification/rest/tasks/base/fieldsName.d.ts +7 -0
  101. package/typification/rest/tasks/result/list.d.ts +4 -0
  102. package/typification/rest/tasks/task/get.d.ts +32 -3
  103. package/typification/rest/tasks/task/list.d.ts +15 -12
  104. package/typification/rest/tasks/task/result/result.d.ts +20 -0
  105. package/typification/rest/tasks/task.d.ts +110 -0
  106. package/esm2022/map/task/result.mjs +0 -15
  107. package/esm2022/typification/rest/task/base/fieldsName.mjs +0 -2
  108. package/esm2022/typification/rest/task/base/filterGenerator.mjs +0 -2
  109. package/esm2022/typification/rest/task/people/base.mjs +0 -2
  110. package/esm2022/typification/rest/task/task.mjs +0 -2
  111. package/map/task/result.d.ts +0 -6
  112. package/typification/rest/task/base/fieldsName.d.ts +0 -1
  113. package/typification/rest/task/task.d.ts +0 -110
  114. /package/typification/rest/{task → tasks}/base/filterGenerator.d.ts +0 -0
  115. /package/typification/rest/{task/people/base.d.ts → tasks/base/people.d.ts} +0 -0
@@ -12,7 +12,7 @@ import { DateTime } from 'luxon';
12
12
  import * as i1$2 from '@angular/common/http';
13
13
  import { HttpParams, HttpHeaders } from '@angular/common/http';
14
14
  import flatten from 'just-flatten-it';
15
- import { map, catchError, mergeMap as mergeMap$1 } from 'rxjs/operators';
15
+ import { map, catchError, take, mergeMap as mergeMap$1 } from 'rxjs/operators';
16
16
 
17
17
  const BX_REST_SETTINGS = {
18
18
  auth: {
@@ -1152,12 +1152,9 @@ class HttpBXServices extends HttpServices {
1152
1152
  }
1153
1153
  return res;
1154
1154
  }
1155
- // override mapBranchResult<T>(res: iBatchRequestAnswer<T>[]) {
1156
- // return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {
1157
- // [key: keyBatch]: T
1158
- // }
1159
- // }
1160
- //
1155
+ mapBranchResult(res) {
1156
+ return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined));
1157
+ }
1161
1158
  mapBranchResultWithoutKey(res) {
1162
1159
  return flatten(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)));
1163
1160
  }
@@ -1487,7 +1484,7 @@ class BXRestTaskPlanner {
1487
1484
  constructor(http) {
1488
1485
  this.http = http;
1489
1486
  }
1490
- getlist() {
1487
+ getList() {
1491
1488
  return this.http.post([$task, $planner, $getlist]);
1492
1489
  }
1493
1490
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTaskPlanner, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -1516,8 +1513,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1516
1513
  }]
1517
1514
  }], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestTaskCommentItem }, { type: BXRestTaskPlanner }]; } });
1518
1515
 
1519
- class BXRestTasksTask {
1516
+ class BXRestTasksTaskResult {
1520
1517
  constructor(http) {
1518
+ this.http = http;
1519
+ this.url = {
1520
+ list: [$tasks, $task, $result, $list],
1521
+ addFromComment: [$tasks, $task, $result, 'addFromComment'],
1522
+ deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'], // Удаление результата задачи по комментарию из которого он был создан
1523
+ };
1524
+ }
1525
+ deleteFromComment(commentID) {
1526
+ return this.http.post(this.url.deleteFromComment, { commentId: commentID });
1527
+ }
1528
+ addFromComment(commentID) {
1529
+ return this.http.post(this.url.addFromComment, { commentId: commentID });
1530
+ }
1531
+ list(param) {
1532
+ return this.http.post(this.url.list, param);
1533
+ }
1534
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTaskResult, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
1535
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTaskResult, providedIn: 'root' }); }
1536
+ }
1537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTaskResult, decorators: [{
1538
+ type: Injectable,
1539
+ args: [{
1540
+ providedIn: 'root'
1541
+ }]
1542
+ }], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
1543
+
1544
+ // interface iBXRestParamTasksListWithSelect<S extends iBXRestTaskFieldsName> extends iBXRestParamTasksList<S> {
1545
+ // select: iBXRestFilterGenerator<iBXRestTaskFieldsName>[]
1546
+ // }
1547
+ // interface iBXRestParamTasksGetWithSelect extends iBXRestParamTasksList {
1548
+ // select: iBXRestFilterGenerator<iBXRestTaskFieldsName>[]
1549
+ // }
1550
+ // type SelectInterfaceListType<T> = T extends iBXRestParamTasksListWithSelect ? iBXRestTasksTaskListHttpDefault : iBXRestHttpTasksTaskList
1551
+ // type SelectInterfaceGetType<T> = T extends iBXRestParamTasksGetWithSelect ? iBXRestTasksTaskGetHttpDefault : iBXRestHttpTasksTaskGet
1552
+ class BXRestTasksTask {
1553
+ constructor(result, http) {
1554
+ this.result = result;
1521
1555
  this.http = http;
1522
1556
  this.url = {
1523
1557
  add: [$tasks, $task, $add],
@@ -1549,12 +1583,7 @@ class BXRestTasksTask {
1549
1583
  start: [$tasks, $task, $start],
1550
1584
  startwatch: [$tasks, $task, 'startwatch'],
1551
1585
  stopwatch: [$tasks, $task, 'stopwatch'],
1552
- update: [$tasks, $task, $update],
1553
- result: {
1554
- list: [$tasks, $task, $result, $list],
1555
- addFromComment: [$tasks, $task, $result, 'addFromComment'],
1556
- deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'], // Удаление результата задачи по комментарию из которого он был создан
1557
- }
1586
+ update: [$tasks, $task, $update], // Обновляет задачу
1558
1587
  };
1559
1588
  }
1560
1589
  add(param) {
@@ -1595,10 +1624,10 @@ class BXRestTasksTask {
1595
1624
  return of(undefined)
1596
1625
  }
1597
1626
  */
1598
- get(requestArray) {
1599
- return this.http.post(this.url.get, requestArray);
1627
+ get(param) {
1628
+ return this.http.post(this.url.get, param);
1600
1629
  }
1601
- list(param = {}) {
1630
+ list(param) {
1602
1631
  return this.http.post(this.url.list, param);
1603
1632
  }
1604
1633
  /*
@@ -1690,37 +1719,11 @@ class BXRestTasksTask {
1690
1719
  })
1691
1720
  )
1692
1721
  }
1693
-
1694
- deleteResultFromComment(commentID: number) {
1695
- return this.http.post<iHttpAnswerBX<any>>(this.url.result.deleteFromComment, {commentId: commentID})
1696
- }
1697
-
1698
- addResultFromComment(commentID: number) {
1699
- return this.http.post<iHttpAnswerBX<iTaskResultHttp>>(this.url.result.addFromComment, {commentId: commentID})
1700
- .pipe(
1701
- map(v => {
1702
- if (v && v.result) {
1703
- this.taskResultMap.iTaskResultHttpToiTaskResult(v.result)
1704
- }
1705
- return undefined
1706
- }))
1707
- }
1708
-
1709
- getResulList(taskId: number): Observable<iTaskResult[] | undefined> {
1710
- return this.http.post<iHttpAnswerBX<iTaskResultHttp[]>>(this.url.result.list, {taskId: taskId})
1711
- .pipe(
1712
- map(v => {
1713
- if (v && v.result) {
1714
- return v.result.map(i => this.taskResultMap.iTaskResultHttpToiTaskResult(i))
1715
- }
1716
- return undefined
1717
- }))
1718
- }
1719
1722
  */
1720
1723
  getaccess(param) {
1721
1724
  return this.http.post(this.url.getaccess, param);
1722
1725
  }
1723
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
1726
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, deps: [{ token: BXRestTasksTaskResult }, { token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
1724
1727
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, providedIn: 'root' }); }
1725
1728
  }
1726
1729
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, decorators: [{
@@ -1728,7 +1731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1728
1731
  args: [{
1729
1732
  providedIn: 'root'
1730
1733
  }]
1731
- }], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
1734
+ }], ctorParameters: function () { return [{ type: BXRestTasksTaskResult }, { type: HttpBXServices }]; } });
1732
1735
 
1733
1736
  class BXRestTasks {
1734
1737
  constructor(task) {
@@ -2098,7 +2101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2098
2101
  class BXRestCalendar {
2099
2102
  // TODO: эту дичь расформировать потом по классам
2100
2103
  /*
2101
- url = {
2104
+ protected url = {
2102
2105
  accessibility: {get: getNameMethod([$calendar, $accessibility, $get])}, // Возвращает занятость пользователей из списка.
2103
2106
  meeting: {
2104
2107
  params: {
@@ -2181,10 +2184,7 @@ class BXRestSonetGroup {
2181
2184
  // }
2182
2185
  // )
2183
2186
  // }
2184
- get(param = {
2185
- filter: {},
2186
- order: {}
2187
- }) {
2187
+ get(param = {}) {
2188
2188
  return this.http.post(this.url.get, param);
2189
2189
  }
2190
2190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestSonetGroup, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -3030,43 +3030,123 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3030
3030
  }]
3031
3031
  }] });
3032
3032
 
3033
- class BXRestNavvyOperationElapseditem {
3034
- constructor(http, BXRestNavvyElapseditem, BXRestMapElapseditem) {
3035
- this.http = http;
3036
- this.BXRestNavvyElapseditem = BXRestNavvyElapseditem;
3033
+ class BXRestMapTaskElapseditem extends BaseMapServices {
3034
+ update(p) {
3035
+ return (p == null);
3036
+ }
3037
+ getList(v) {
3038
+ return (v) ? v.map(i => this.ElapsedItemHttpToElapsedItem(i)) : undefined;
3039
+ }
3040
+ ElapsedItemHttpToElapsedItem(item) {
3041
+ return Object.assign(item, {
3042
+ ID: this.toNum(item.ID),
3043
+ MINUTES: this.toNum(item.MINUTES),
3044
+ SECONDS: this.toNum(item.SECONDS),
3045
+ TASK_ID: this.toNum(item.TASK_ID),
3046
+ USER_ID: this.toNum(item.USER_ID),
3047
+ SOURCE: this.toNum(item.SOURCE),
3048
+ CREATED_DATE: this.toDate(item.CREATED_DATE),
3049
+ DATE_START: this.toDate(item.DATE_START),
3050
+ DATE_STOP: this.toDate(item.DATE_STOP),
3051
+ });
3052
+ }
3053
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskElapseditem, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3054
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskElapseditem, providedIn: 'root' }); }
3055
+ }
3056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskElapseditem, decorators: [{
3057
+ type: Injectable,
3058
+ args: [{
3059
+ providedIn: 'root'
3060
+ }]
3061
+ }] });
3062
+
3063
+ class BXRestNavvyDelegateElapseditem {
3064
+ constructor(BXRestElapseditem, BXRestMapElapseditem) {
3065
+ this.BXRestElapseditem = BXRestElapseditem;
3037
3066
  this.BXRestMapElapseditem = BXRestMapElapseditem;
3067
+ this.Navvy = new Navvy(this.BXRestElapseditem, this.BXRestMapElapseditem);
3038
3068
  }
3039
- getByInterval(idsUsers, dateStart, dateEnd) {
3040
- const param = {
3041
- ORDER: {
3042
- ID: 'DESC'
3043
- },
3044
- FILTER: {
3045
- USER_ID: idsUsers,
3046
- '>=CREATED_DATE': dateStart.toLocaleString('ru-Ru'),
3047
- '<=CREATED_DATE': dateEnd.toLocaleString('ru-Ru'),
3069
+ getList(param = {}) {
3070
+ if (param) {
3071
+ if (!param.TASKID && !param.SELECT) {
3072
+ param.SELECT = ['*'];
3048
3073
  }
3049
- };
3050
- return this.BXRestNavvyElapseditem.getList(param);
3051
- }
3052
- getListByIDTask(ids) {
3053
- return this.http.branch(ids.map(i => {
3054
- return {
3055
- name: this.http.getNameMethod([$task, $elapseditem, $getlist]),
3056
- param: {
3057
- TASKID: i
3058
- }
3059
- };
3060
- })).pipe(map(v => {
3061
- if (v && v.length) {
3062
- return this.http.mapBranchResultWithoutKey(v).map(i => this.BXRestMapElapseditem.getList(i)).filter((i) => i !== undefined).flat();
3074
+ if (!param.TASKID && !param.PARAMS) {
3075
+ param.PARAMS = {
3076
+ NAV_PARAMS: {
3077
+ nPageSize: 50,
3078
+ iNumPage: 1
3079
+ }
3080
+ };
3063
3081
  }
3064
- return undefined;
3065
- }));
3082
+ }
3083
+ return this.Navvy.alterPagNav(this.BXRestElapseditem.getList, param, 'Не удалось получить список затраченного на задачу(-и) времени', this.BXRestMapElapseditem.getList);
3066
3084
  }
3067
- }
3085
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyDelegateElapseditem, deps: [{ token: BXRestTaskElapseditem }, { token: BXRestMapTaskElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
3086
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyDelegateElapseditem, providedIn: 'root' }); }
3087
+ }
3088
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyDelegateElapseditem, decorators: [{
3089
+ type: Injectable,
3090
+ args: [{
3091
+ providedIn: 'root'
3092
+ }]
3093
+ }], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestMapTaskElapseditem }]; } });
3094
+
3095
+ // import { iTaskResult, iTaskResultHttp } from '@/lib/typification/bitrix/api/rest/task/result/result'
3096
+ class BXRestMapTasksTaskResult extends BaseMapServices {
3097
+ list(item) {
3098
+ return (item) ? item.map(i => this.iTaskResultHttpToiTaskResult(i)) : undefined;
3099
+ }
3100
+ addFromComment(item) {
3101
+ return (item) ? this.iTaskResultHttpToiTaskResult(item) : undefined;
3102
+ }
3103
+ iTaskResultHttpToiTaskResult(item) {
3104
+ return Object.assign(item, {
3105
+ createdAt: this.toDate(item.createdAt),
3106
+ updatedAt: this.toDate(item.updatedAt)
3107
+ });
3108
+ }
3109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTaskResult, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTaskResult, providedIn: 'root' }); }
3111
+ }
3112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTaskResult, decorators: [{
3113
+ type: Injectable,
3114
+ args: [{
3115
+ providedIn: 'root'
3116
+ }]
3117
+ }] });
3118
+
3119
+ class BXRestNavvyTasksTaskResult {
3120
+ constructor(BXRestTasksTaskResult, BXRestMapTasksTaskResult) {
3121
+ this.BXRestTasksTaskResult = BXRestTasksTaskResult;
3122
+ this.BXRestMapTasksTaskResult = BXRestMapTasksTaskResult;
3123
+ this.Navvy = new Navvy(this.BXRestTasksTaskResult, this.BXRestMapTasksTaskResult);
3124
+ }
3125
+ deleteFromComment(commentID) {
3126
+ return this.Navvy.simpleWithArg(this.BXRestTasksTaskResult.deleteFromComment, commentID, 'Не удалось удалить комментарий');
3127
+ }
3128
+ addFromComment(commentID) {
3129
+ return this.Navvy.simpleWithArg(this.BXRestTasksTaskResult.addFromComment, commentID, 'Не удалось добавить комментарий', this.BXRestMapTasksTaskResult.addFromComment);
3130
+ }
3131
+ list(param) {
3132
+ return this.Navvy.PagNav(this.BXRestTasksTaskResult.list, param, 'Не удалось добавить комментарий', this.BXRestMapTasksTaskResult.list);
3133
+ }
3134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTaskResult, deps: [{ token: BXRestTasksTaskResult }, { token: BXRestMapTasksTaskResult }], target: i0.ɵɵFactoryTarget.Injectable }); }
3135
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTaskResult, providedIn: 'root' }); }
3136
+ }
3137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTaskResult, decorators: [{
3138
+ type: Injectable,
3139
+ args: [{
3140
+ providedIn: 'root'
3141
+ }]
3142
+ }], ctorParameters: function () { return [{ type: BXRestTasksTaskResult }, { type: BXRestMapTasksTaskResult }]; } });
3068
3143
 
3144
+ /// type SelectInterfaceTypeTasksTaskList<T> = T extends iBXRestHttpTasksTaskList ? iBXRestTasksTaskList : iBXRestTasksTaskListDefault
3069
3145
  class BXRestMapTasksTask extends BaseMapServices {
3146
+ constructor(result) {
3147
+ super();
3148
+ this.result = result;
3149
+ }
3070
3150
  getaccess(v) {
3071
3151
  return (v && v.allowedActions) ? v.allowedActions : undefined;
3072
3152
  }
@@ -3077,6 +3157,7 @@ class BXRestMapTasksTask extends BaseMapServices {
3077
3157
  return (item && item.task) ? this.TaskBXHttpToTaskBX(item.task) : undefined;
3078
3158
  }
3079
3159
  list(item) {
3160
+ // @ts-ignore
3080
3161
  return (item && item.tasks) ? item.tasks.map(i => this.TaskBXHttpToTaskBX(i)) : undefined;
3081
3162
  }
3082
3163
  TaskBXHttpToTaskBX(item) {
@@ -3180,7 +3261,7 @@ class BXRestMapTasksTask extends BaseMapServices {
3180
3261
  }
3181
3262
  return Object.assign(item, result);
3182
3263
  }
3183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, deps: [{ token: BXRestMapTasksTaskResult }], target: i0.ɵɵFactoryTarget.Injectable }); }
3184
3265
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, providedIn: 'root' }); }
3185
3266
  }
3186
3267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, decorators: [{
@@ -3188,17 +3269,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3188
3269
  args: [{
3189
3270
  providedIn: 'root'
3190
3271
  }]
3191
- }] });
3272
+ }], ctorParameters: function () { return [{ type: BXRestMapTasksTaskResult }]; } });
3192
3273
 
3193
3274
  // export interface TimeProcess {
3194
3275
  // total: number,
3195
3276
  // next: number
3196
3277
  // }
3197
3278
  class BXRestNavvyTasksTask {
3198
- constructor(BXRestTasksTask,
3279
+ constructor(result, BXRestTasksTask,
3199
3280
  // private snackBar: SnackBarService,
3200
3281
  // private store: Store<{ tasks: IStoreTask }>,
3201
3282
  BXRestMapTasksTask) {
3283
+ this.result = result;
3202
3284
  this.BXRestTasksTask = BXRestTasksTask;
3203
3285
  this.BXRestMapTasksTask = BXRestMapTasksTask;
3204
3286
  // pageSize = 50
@@ -3359,42 +3441,11 @@ class BXRestNavvyTasksTask {
3359
3441
  }
3360
3442
  })
3361
3443
  )
3362
- }
3363
-
3364
- deleteResultFromComment(commentID: number) {
3365
- return this.http.post<iHttpAnswerBX<any>>(this.url.result.deleteFromComment, {commentId: commentID})
3366
- }
3367
-
3368
- addResultFromComment(commentID: number) {
3369
- return this.http.post<iHttpAnswerBX<iTaskResultHttp>>(this.url.result.addFromComment, {commentId: commentID})
3370
- .pipe(
3371
- map(v => {
3372
- if (v && v.result) {
3373
- this.taskResultMap.iTaskResultHttpToiTaskResult(v.result)
3374
- }
3375
- return undefined
3376
- }))
3377
- }
3378
-
3379
- getResulList(taskId: number): Observable<iTaskResult[] | undefined> {
3380
- return this.http.post<iHttpAnswerBX<iTaskResultHttp[]>>(this.url.result.list, {taskId: taskId})
3381
- .pipe(
3382
- map(v => {
3383
- if (v && v.result) {
3384
- return v.result.map(i => this.taskResultMap.iTaskResultHttpToiTaskResult(i))
3385
- }
3386
- return undefined
3387
- }))
3388
- }
3389
-
3390
- getPlannerList() {
3391
- return this.http.post<iHttpAnswerBX<(string | number)[]>>(this.url.planner.getlist)
3392
- }
3393
- */
3444
+ } */
3394
3445
  getaccess(param) {
3395
3446
  return this.Navvy.simpleWithArg(this.BXRestTasksTask.getaccess, param, 'Не удалось получить права на указанных пользователей', this.BXRestMapTasksTask.getaccess);
3396
3447
  }
3397
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, deps: [{ token: BXRestTasksTask }, { token: BXRestMapTasksTask }], target: i0.ɵɵFactoryTarget.Injectable }); }
3448
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, deps: [{ token: BXRestNavvyTasksTaskResult }, { token: BXRestTasksTask }, { token: BXRestMapTasksTask }], target: i0.ɵɵFactoryTarget.Injectable }); }
3398
3449
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, providedIn: 'root' }); }
3399
3450
  }
3400
3451
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, decorators: [{
@@ -3402,7 +3453,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3402
3453
  args: [{
3403
3454
  providedIn: 'root'
3404
3455
  }]
3405
- }], ctorParameters: function () { return [{ type: BXRestTasksTask }, { type: BXRestMapTasksTask }]; } });
3456
+ }], ctorParameters: function () { return [{ type: BXRestNavvyTasksTaskResult }, { type: BXRestTasksTask }, { type: BXRestMapTasksTask }]; } });
3406
3457
 
3407
3458
  class BXRestNavvyTasks {
3408
3459
  constructor(task) {
@@ -3418,45 +3469,152 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3418
3469
  }]
3419
3470
  }], ctorParameters: function () { return [{ type: BXRestNavvyTasksTask }]; } });
3420
3471
 
3421
- class BXRestMapTaskElapseditem extends BaseMapServices {
3422
- update(p) {
3423
- return (p == null);
3472
+ class BXRestNavvyOperationElapseditem {
3473
+ constructor(http, delegate, BXRestMapElapseditem, BXRestNavvyUser, BXRestNavvyTasks) {
3474
+ this.http = http;
3475
+ this.delegate = delegate;
3476
+ this.BXRestMapElapseditem = BXRestMapElapseditem;
3477
+ this.BXRestNavvyUser = BXRestNavvyUser;
3478
+ this.BXRestNavvyTasks = BXRestNavvyTasks;
3424
3479
  }
3425
- getList(v) {
3426
- return (v) ? v.map(i => this.ElapsedItemHttpToElapsedItem(i)) : undefined;
3480
+ getByInterval(idsUsers, dateStart, dateEnd) {
3481
+ const param = {
3482
+ ORDER: {
3483
+ ID: 'DESC'
3484
+ },
3485
+ FILTER: {
3486
+ USER_ID: idsUsers,
3487
+ '>=CREATED_DATE': dateStart.toLocaleString('ru-Ru'),
3488
+ '<=CREATED_DATE': dateEnd.toLocaleString('ru-Ru'),
3489
+ }
3490
+ };
3491
+ return this.delegate.getList(param);
3427
3492
  }
3428
- ElapsedItemHttpToElapsedItem(item) {
3429
- return Object.assign(item, {
3430
- ID: this.toNum(item.ID),
3431
- MINUTES: this.toNum(item.MINUTES),
3432
- SECONDS: this.toNum(item.SECONDS),
3433
- TASK_ID: this.toNum(item.TASK_ID),
3434
- USER_ID: this.toNum(item.USER_ID),
3435
- SOURCE: this.toNum(item.SOURCE),
3436
- CREATED_DATE: this.toDate(item.CREATED_DATE),
3437
- DATE_START: this.toDate(item.DATE_START),
3438
- DATE_STOP: this.toDate(item.DATE_STOP),
3439
- });
3493
+ getListByIDTask(ids) {
3494
+ return this.http.branch(ids.map(i => {
3495
+ return {
3496
+ name: this.http.getNameMethod([$task, $elapseditem, $getlist]),
3497
+ param: {
3498
+ TASKID: i
3499
+ }
3500
+ };
3501
+ })).pipe(map(v => {
3502
+ if (v && v.length) {
3503
+ return this.http.mapBranchResultWithoutKey(v).map(i => this.BXRestMapElapseditem.getList(i)).filter((i) => i !== undefined).flat();
3504
+ }
3505
+ return undefined;
3506
+ }));
3440
3507
  }
3441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskElapseditem, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3442
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskElapseditem, providedIn: 'root' }); }
3508
+ checkPermissionAddElapsedtimeToTaskArr(tasks) {
3509
+ let request = Object.assign({}, ...tasks.map(i => {
3510
+ return { [i]: this.checkPermissionAddElapsedtimeToTask(i) };
3511
+ }));
3512
+ return forkJoin(request)
3513
+ .pipe(take(1), mergeMap(v => {
3514
+ let forForeach = Object.entries(v).map(([key, value]) => {
3515
+ return { id: Number(key), value: value };
3516
+ });
3517
+ if (forForeach.find(i => i.value === undefined) !== undefined) {
3518
+ let forForeachHave = forForeach.filter(i => i.value !== undefined);
3519
+ let forForeachNotHave = forForeach.filter(i => i.value === undefined); // тут получаем все id не сохраненных у нас прав
3520
+ return this.http.branch(Object.assign({}, ...forForeachNotHave
3521
+ .map(i => i.id)
3522
+ .map(i => {
3523
+ return {
3524
+ [i]: {
3525
+ name: this.http.getNameMethod([$tasks, $task, $getaccess]),
3526
+ param: {
3527
+ TASKID: i,
3528
+ ITEMID: 1,
3529
+ ACTIONID: 1
3530
+ }
3531
+ }
3532
+ };
3533
+ }))).pipe(map(v => {
3534
+ if (v && v.length) {
3535
+ const res = this.http.mapBranchResult(v);
3536
+ forForeachNotHave = Object.entries(res).map(([key, value]) => {
3537
+ return { id: Number(key), value: value };
3538
+ });
3539
+ return Object.assign(forForeachHave, forForeachNotHave);
3540
+ }
3541
+ return undefined;
3542
+ }));
3543
+ }
3544
+ return of(forForeach);
3545
+ }));
3546
+ }
3547
+ checkPermissionAddElapsedtimeToTask(idTask) {
3548
+ let permission = Permission.get();
3549
+ if (permission?.tasks?.length) {
3550
+ let findTask = permission.tasks.find(i => i.id === idTask);
3551
+ if (findTask?.permission) {
3552
+ return of(findTask.permission['ELAPSEDTIME.ADD']);
3553
+ }
3554
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3555
+ if (self) {
3556
+ return this.BXRestNavvyTasks.task.getaccess({
3557
+ id: idTask,
3558
+ users: [self.ID]
3559
+ }).result().pipe(tap(v => {
3560
+ if (v && v[self.ID]) {
3561
+ Permission.set({
3562
+ tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
3563
+ });
3564
+ }
3565
+ }), map(v => {
3566
+ return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
3567
+ }));
3568
+ }
3569
+ return of(undefined);
3570
+ }));
3571
+ }
3572
+ return of(undefined);
3573
+ }
3574
+ checkPermissionReadTask(idTask) {
3575
+ let permission = Permission.get();
3576
+ if (permission?.tasks?.length) {
3577
+ let findTask = permission.tasks.find(i => i.id === idTask);
3578
+ if (findTask?.permission) {
3579
+ return of(findTask.permission.ACCEPT);
3580
+ }
3581
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3582
+ if (self) {
3583
+ return this.BXRestNavvyTasks.task.getaccess({
3584
+ id: idTask,
3585
+ users: [self.ID]
3586
+ }).result().pipe(tap(v => {
3587
+ if (v && v[self.ID]) {
3588
+ Permission.set({
3589
+ tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
3590
+ });
3591
+ }
3592
+ }), map(v => {
3593
+ return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
3594
+ }));
3595
+ }
3596
+ return of(undefined);
3597
+ }));
3598
+ }
3599
+ return of(undefined);
3600
+ }
3601
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, deps: [{ token: HttpBXServices }, { token: BXRestNavvyDelegateElapseditem }, { token: BXRestMapTaskElapseditem }, { token: BXRestNavvyUser }, { token: BXRestNavvyTasks }], target: i0.ɵɵFactoryTarget.Injectable }); }
3602
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, providedIn: 'root' }); }
3443
3603
  }
3444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskElapseditem, decorators: [{
3604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, decorators: [{
3445
3605
  type: Injectable,
3446
3606
  args: [{
3447
3607
  providedIn: 'root'
3448
3608
  }]
3449
- }] });
3609
+ }], ctorParameters: function () { return [{ type: HttpBXServices }, { type: BXRestNavvyDelegateElapseditem }, { type: BXRestMapTaskElapseditem }, { type: BXRestNavvyUser }, { type: BXRestNavvyTasks }]; } });
3450
3610
 
3451
3611
  class BXRestNavvyElapseditem {
3452
- constructor(BXRestElapseditem, BXRestNavvyUser, BXRestNavvyTasks, BXRestMapElapseditem, http) {
3612
+ constructor(BXRestElapseditem, BXRestMapElapseditem, delegate, operation) {
3453
3613
  this.BXRestElapseditem = BXRestElapseditem;
3454
- this.BXRestNavvyUser = BXRestNavvyUser;
3455
- this.BXRestNavvyTasks = BXRestNavvyTasks;
3456
3614
  this.BXRestMapElapseditem = BXRestMapElapseditem;
3457
- this.http = http;
3615
+ this.delegate = delegate;
3616
+ this.operation = operation;
3458
3617
  this.Navvy = new Navvy(this.BXRestElapseditem, this.BXRestMapElapseditem);
3459
- this.operation = new BXRestNavvyOperationElapseditem(this.http, this, this.BXRestMapElapseditem);
3460
3618
  }
3461
3619
  /*
3462
3620
  call(methodName: string, ...args: any[]){
@@ -3467,25 +3625,12 @@ class BXRestNavvyElapseditem {
3467
3625
  }
3468
3626
  */
3469
3627
  getList(param = {}) {
3470
- if (param) {
3471
- if (!param.TASKID && !param.SELECT) {
3472
- param.SELECT = ['*'];
3473
- }
3474
- if (!param.TASKID && !param.PARAMS) {
3475
- param.PARAMS = {
3476
- NAV_PARAMS: {
3477
- nPageSize: 50,
3478
- iNumPage: 1
3479
- }
3480
- };
3481
- }
3482
- }
3483
- return this.Navvy.alterPagNav(this.BXRestElapseditem.getList, param, 'Не удалось получить список затраченного на задачу(-и) времени', this.BXRestMapElapseditem.getList);
3628
+ return this.delegate.getList(param);
3484
3629
  }
3485
3630
  add(param) {
3486
- return this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3631
+ return this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3487
3632
  if (allowedReadTask) {
3488
- return this.checkPermissionAddTask(param.TASKID).pipe(mergeMap(allowed => {
3633
+ return this.operation.checkPermissionAddElapsedtimeToTask(param.TASKID).pipe(mergeMap(allowed => {
3489
3634
  if (allowed) {
3490
3635
  return this.BXRestElapseditem.add(param);
3491
3636
  }
@@ -3499,8 +3644,13 @@ class BXRestNavvyElapseditem {
3499
3644
  }
3500
3645
  }));
3501
3646
  }
3647
+ /**
3648
+ * Обновление записи рабочего времени
3649
+ *
3650
+ * @param param
3651
+ */
3502
3652
  update(param) {
3503
- return this.Navvy.simple(() => this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3653
+ return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3504
3654
  if (allowedReadTask) {
3505
3655
  return this.isAllowedModify(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
3506
3656
  if (allowed) {
@@ -3620,69 +3770,15 @@ class BXRestNavvyElapseditem {
3620
3770
  * @param param
3621
3771
  */
3622
3772
  isActionAllowed(param) {
3623
- return this.Navvy.simple(() => this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(canRead => {
3773
+ return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(canRead => {
3624
3774
  if (canRead) {
3625
3775
  return this.BXRestElapseditem.isActionAllowed(param);
3626
3776
  }
3627
3777
  return throwError(() => new Error('Отсутствуют права на чтение задачи'));
3628
3778
  })));
3629
3779
  }
3630
- checkPermissionAddTask(idTask) {
3631
- let permission = Permission.get();
3632
- if (permission?.tasks?.length) {
3633
- let findTask = permission.tasks.find(i => i.id === idTask);
3634
- if (findTask?.permission) {
3635
- return of(findTask.permission['ELAPSEDTIME.ADD']);
3636
- }
3637
- return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3638
- if (self) {
3639
- return this.BXRestNavvyTasks.task.getaccess({
3640
- id: idTask,
3641
- users: [self.ID]
3642
- }).result().pipe(tap(v => {
3643
- if (v && v[self.ID]) {
3644
- Permission.set({
3645
- tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
3646
- });
3647
- }
3648
- }), map(v => {
3649
- return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
3650
- }));
3651
- }
3652
- return of(undefined);
3653
- }));
3654
- }
3655
- return of(undefined);
3656
- }
3657
- checkPermissionReadTask(idTask) {
3658
- let permission = Permission.get();
3659
- if (permission?.tasks?.length) {
3660
- let findTask = permission.tasks.find(i => i.id === idTask);
3661
- if (findTask?.permission) {
3662
- return of(findTask.permission.ACCEPT);
3663
- }
3664
- return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
3665
- if (self) {
3666
- return this.BXRestNavvyTasks.task.getaccess({
3667
- id: idTask,
3668
- users: [self.ID]
3669
- }).result().pipe(tap(v => {
3670
- if (v && v[self.ID]) {
3671
- Permission.set({
3672
- tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
3673
- });
3674
- }
3675
- }), map(v => {
3676
- return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
3677
- }));
3678
- }
3679
- return of(undefined);
3680
- }));
3681
- }
3682
- return of(undefined);
3683
- }
3684
3780
  del(param) {
3685
- return this.Navvy.simple(() => this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3781
+ return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
3686
3782
  if (allowedReadTask) {
3687
3783
  return this.isAllowedRemove(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
3688
3784
  if (allowed) {
@@ -3698,7 +3794,7 @@ class BXRestNavvyElapseditem {
3698
3794
  }
3699
3795
  })), 'Не удалось удалить элемент списка', v => (v === null));
3700
3796
  }
3701
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, deps: [{ token: BXRestTaskElapseditem }, { token: BXRestNavvyUser }, { token: BXRestNavvyTasks }, { token: BXRestMapTaskElapseditem }, { token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
3797
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, deps: [{ token: BXRestTaskElapseditem }, { token: BXRestMapTaskElapseditem }, { token: BXRestNavvyDelegateElapseditem }, { token: BXRestNavvyOperationElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
3702
3798
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, providedIn: 'root' }); }
3703
3799
  }
3704
3800
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, decorators: [{
@@ -3706,7 +3802,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3706
3802
  args: [{
3707
3803
  providedIn: 'root'
3708
3804
  }]
3709
- }], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestNavvyUser }, { type: BXRestNavvyTasks }, { type: BXRestMapTaskElapseditem }, { type: HttpBXServices }]; } });
3805
+ }], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestMapTaskElapseditem }, { type: BXRestNavvyDelegateElapseditem }, { type: BXRestNavvyOperationElapseditem }]; } });
3710
3806
 
3711
3807
  class BXRestMapTaskCommentItem extends BaseMapServices {
3712
3808
  getlist(value) {
@@ -3808,12 +3904,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3808
3904
  }]
3809
3905
  }], ctorParameters: function () { return [{ type: BXRestTaskCommentItem }, { type: BXRestMapTaskCommentItem }, { type: SnackBarService }]; } });
3810
3906
 
3907
+ class BXRestMapTaskPlaner extends BaseMapServices {
3908
+ getList(v) {
3909
+ return (v) ? v.map(i => this.toNum(i)) : undefined;
3910
+ }
3911
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskPlaner, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3912
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskPlaner, providedIn: 'root' }); }
3913
+ }
3914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskPlaner, decorators: [{
3915
+ type: Injectable,
3916
+ args: [{
3917
+ providedIn: 'root'
3918
+ }]
3919
+ }] });
3920
+
3921
+ class BXRestNavvyTaskPlanner {
3922
+ constructor(BXRestTaskPlanner, BXRestMapTaskPlaner) {
3923
+ this.BXRestTaskPlanner = BXRestTaskPlanner;
3924
+ this.BXRestMapTaskPlaner = BXRestMapTaskPlaner;
3925
+ this.Navvy = new Navvy(this.BXRestTaskPlanner, this.BXRestMapTaskPlaner);
3926
+ }
3927
+ getList() {
3928
+ return this.Navvy.simple(this.BXRestTaskPlanner.getList, 'Не удалось получить текущий клан на день', this.BXRestMapTaskPlaner.getList);
3929
+ }
3930
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskPlanner, deps: [{ token: BXRestTaskPlanner }, { token: BXRestMapTaskPlaner }], target: i0.ɵɵFactoryTarget.Injectable }); }
3931
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskPlanner, providedIn: 'root' }); }
3932
+ }
3933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskPlanner, decorators: [{
3934
+ type: Injectable,
3935
+ args: [{
3936
+ providedIn: 'root'
3937
+ }]
3938
+ }], ctorParameters: function () { return [{ type: BXRestTaskPlanner }, { type: BXRestMapTaskPlaner }]; } });
3939
+
3811
3940
  class BXRestNavvyTask {
3812
- constructor(elapseditem, commentitem) {
3941
+ constructor(elapseditem, commentitem, planner) {
3813
3942
  this.elapseditem = elapseditem;
3814
3943
  this.commentitem = commentitem;
3944
+ this.planner = planner;
3815
3945
  }
3816
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, deps: [{ token: BXRestNavvyElapseditem }, { token: BXRestNavvyTaskCommentItem }], target: i0.ɵɵFactoryTarget.Injectable }); }
3946
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, deps: [{ token: BXRestNavvyElapseditem }, { token: BXRestNavvyTaskCommentItem }, { token: BXRestNavvyTaskPlanner }], target: i0.ɵɵFactoryTarget.Injectable }); }
3817
3947
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, providedIn: 'root' }); }
3818
3948
  }
3819
3949
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, decorators: [{
@@ -3821,7 +3951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3821
3951
  args: [{
3822
3952
  providedIn: 'root'
3823
3953
  }]
3824
- }], ctorParameters: function () { return [{ type: BXRestNavvyElapseditem }, { type: BXRestNavvyTaskCommentItem }]; } });
3954
+ }], ctorParameters: function () { return [{ type: BXRestNavvyElapseditem }, { type: BXRestNavvyTaskCommentItem }, { type: BXRestNavvyTaskPlanner }]; } });
3825
3955
 
3826
3956
  class BXRestMapDiskBase extends BaseMapServices {
3827
3957
  separationFoldersAndFiles(arr) {
@@ -4554,10 +4684,7 @@ class BXRestNavvySonetGroup {
4554
4684
  this.mapSonetGroup = mapSonetGroup;
4555
4685
  this.Navvy = new Navvy(this.BXRestSonetGroup, this.mapSonetGroup);
4556
4686
  }
4557
- get(param = {
4558
- filter: {},
4559
- order: {}
4560
- }) {
4687
+ get(param = {}) {
4561
4688
  return this.Navvy.simpleWithArg(this.BXRestSonetGroup.get, param, 'Не удалось получить рабочую группу', this.mapSonetGroup.get);
4562
4689
  }
4563
4690
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvySonetGroup, deps: [{ token: BXRestSonetGroup }, { token: BXRestMapSonetGroup }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -4831,17 +4958,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4831
4958
  }]
4832
4959
  }], ctorParameters: function () { return [{ type: BXRestMapLogBlogPost }]; } });
4833
4960
 
4834
- class BXRestMapTaskResult extends BaseMapServices {
4835
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskResult, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4836
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskResult, providedIn: 'root' }); }
4837
- }
4838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskResult, decorators: [{
4839
- type: Injectable,
4840
- args: [{
4841
- providedIn: 'root'
4842
- }]
4843
- }] });
4844
-
4845
4961
  class BXRestMapTaskStage extends BaseMapServices {
4846
4962
  get(value) {
4847
4963
  return (value) ? value.map(i => Object.assign(i, {
@@ -4861,13 +4977,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4861
4977
  }] });
4862
4978
 
4863
4979
  class BXRestMapTask {
4864
- constructor(commentItem, elapsedItem, result, stages) {
4980
+ constructor(commentItem, elapsedItem, stages) {
4865
4981
  this.commentItem = commentItem;
4866
4982
  this.elapsedItem = elapsedItem;
4867
- this.result = result;
4868
4983
  this.stages = stages;
4869
4984
  }
4870
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, deps: [{ token: BXRestMapTaskCommentItem }, { token: BXRestMapTaskElapseditem }, { token: BXRestMapTaskResult }, { token: BXRestMapTaskStage }], target: i0.ɵɵFactoryTarget.Injectable }); }
4985
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, deps: [{ token: BXRestMapTaskCommentItem }, { token: BXRestMapTaskElapseditem }, { token: BXRestMapTaskStage }], target: i0.ɵɵFactoryTarget.Injectable }); }
4871
4986
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, providedIn: 'root' }); }
4872
4987
  }
4873
4988
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, decorators: [{
@@ -4875,7 +4990,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4875
4990
  args: [{
4876
4991
  providedIn: 'root'
4877
4992
  }]
4878
- }], ctorParameters: function () { return [{ type: BXRestMapTaskCommentItem }, { type: BXRestMapTaskElapseditem }, { type: BXRestMapTaskResult }, { type: BXRestMapTaskStage }]; } });
4993
+ }], ctorParameters: function () { return [{ type: BXRestMapTaskCommentItem }, { type: BXRestMapTaskElapseditem }, { type: BXRestMapTaskStage }]; } });
4879
4994
 
4880
4995
  class BXRestMapTasks {
4881
4996
  constructor(task) {