bx-rest 0.1.0 → 0.1.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 (37) hide show
  1. package/esm2020/request/disk/file.mjs +3 -3
  2. package/esm2020/request/disk/folder.mjs +2 -2
  3. package/esm2020/request/disk/storage.mjs +3 -3
  4. package/esm2020/request/lists/element.mjs +2 -2
  5. package/esm2020/request/user.mjs +32 -103
  6. package/esm2020/request-navvy/disk/file.mjs +12 -16
  7. package/esm2020/request-navvy/disk/folder.mjs +9 -10
  8. package/esm2020/request-navvy/disk/storage.mjs +21 -16
  9. package/esm2020/request-navvy/lists/element.mjs +7 -6
  10. package/esm2020/request-navvy/user.mjs +34 -22
  11. package/esm2020/services/http/HttpBX.mjs +13 -28
  12. package/esm2020/services/http/base/base.mjs +3 -4
  13. package/esm2020/services/http/base/http.mjs +6 -21
  14. package/esm2020/services/http/http.mjs +7 -71
  15. package/esm2020/services/navvy.mjs +26 -0
  16. package/esm2020/services/vanilla/sessionStorage.mjs +23 -0
  17. package/esm2020/typification/rest/user/get.mjs +1 -1
  18. package/fesm2015/bx-rest.mjs +242 -418
  19. package/fesm2015/bx-rest.mjs.map +1 -1
  20. package/fesm2020/bx-rest.mjs +242 -418
  21. package/fesm2020/bx-rest.mjs.map +1 -1
  22. package/package.json +1 -1
  23. package/request/user.d.ts +7 -7
  24. package/request-navvy/disk/file.d.ts +7 -9
  25. package/request-navvy/disk/folder.d.ts +3 -1
  26. package/request-navvy/disk/storage.d.ts +7 -2
  27. package/request-navvy/lists/element.d.ts +3 -1
  28. package/request-navvy/user.d.ts +14 -9
  29. package/services/http/HttpBX.d.ts +6 -6
  30. package/services/http/base/base.d.ts +4 -4
  31. package/services/http/base/http.d.ts +3 -3
  32. package/services/http/http.d.ts +3 -12
  33. package/services/navvy.d.ts +11 -0
  34. package/services/vanilla/sessionStorage.d.ts +7 -0
  35. package/typification/rest/user/get.d.ts +1 -1
  36. package/esm2020/store/users.mjs +0 -67
  37. package/store/users.d.ts +0 -34
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, inject, Component, ViewEncapsulation, Inject, Injectable, Optional } from '@angular/core';
3
- import { Subscription, filter, take, of, throwError, forkJoin, mergeMap, tap } from 'rxjs';
4
- import { map, catchError, mergeMap as mergeMap$1, first, take as take$1 } from 'rxjs/operators';
3
+ import { Subscription, filter, take, of, mergeMap, throwError, forkJoin, tap } from 'rxjs';
4
+ import { map, catchError, take as take$1, mergeMap as mergeMap$1 } from 'rxjs/operators';
5
5
  import clone from 'just-clone';
6
6
  import * as i1$1 from '@angular/material/snack-bar';
7
7
  import { MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
@@ -455,9 +455,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
455
455
  }]
456
456
  }] });
457
457
 
458
- const save$1 = createAction('[Auth Component] Save', props());
458
+ const save = createAction('[Auth Component] Save', props());
459
459
  const saveAccessToken = createAction('[Auth Component] SaveAccessToken', props());
460
- const initialState$1 = {
460
+ const initialState = {
461
461
  access_token: '',
462
462
  client_endpoint: '',
463
463
  domain: '',
@@ -470,11 +470,11 @@ const initialState$1 = {
470
470
  status: '',
471
471
  user_id: 0
472
472
  };
473
- const _authReducer = createReducer(initialState$1, on(saveAccessToken, (s, data) => {
473
+ const _authReducer = createReducer(initialState, on(saveAccessToken, (s, data) => {
474
474
  let copy = clone(s);
475
475
  return Object.assign(copy, data);
476
476
  }));
477
- function authReducer(state = initialState$1, action) {
477
+ function authReducer(state = initialState, action) {
478
478
  return _authReducer(state, action);
479
479
  }
480
480
 
@@ -1017,10 +1017,9 @@ class BaseHttp extends HttpData {
1017
1017
  this.http = http;
1018
1018
  this.snackBar = snackBar;
1019
1019
  }
1020
- handleError(result, textError = 'получения данных') {
1020
+ handleError(result) {
1021
1021
  return (error) => {
1022
1022
  console.error(`failed: ${error.message}`);
1023
- this.snackBar.error('Ошибка: ' + textError);
1024
1023
  return of(result);
1025
1024
  };
1026
1025
  }
@@ -1035,26 +1034,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1035
1034
  }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: SnackBarService }]; } });
1036
1035
 
1037
1036
  class BaseHttpServices extends BaseHttp {
1038
- httpGet(url, params = {}, textError = '', settings = this.defSettings) {
1037
+ httpGet(url, params = {}, settings = this.defSettings) {
1039
1038
  return this.http.get(url, {
1040
1039
  params: this.getHttpParamsGet(params, new HttpParams(), false, [], settings)
1041
- }).pipe(catchError(err => {
1042
- if (!textError.length && err.error.error_description) {
1043
- textError = err.error.error_description;
1044
- }
1045
- this.snackBar.error('Ошибка: ' + textError);
1046
- return throwError(() => err);
1047
- }));
1040
+ });
1048
1041
  }
1049
- httpPost(url, params = {}, textError = '', settings = this.defSettings) {
1050
- return this.http.post(url, this.getHttpParamsPost(params, new FormData(), false, [], settings)).pipe(catchError(err => {
1051
- if (!textError.length && err.error.error_description) {
1052
- textError = err.error.error_description;
1053
- }
1054
- this.snackBar.error('Ошибка: ' + textError);
1055
- console.error(err);
1056
- return throwError(() => err);
1057
- }));
1042
+ httpPost(url, params = {}, settings = this.defSettings) {
1043
+ return this.http.post(url, this.getHttpParamsPost(params, new FormData(), false, [], settings));
1058
1044
  }
1059
1045
  }
1060
1046
 
@@ -1063,68 +1049,14 @@ class HttpServices extends BaseHttpServices {
1063
1049
  super(http, snackBar);
1064
1050
  this.session = session;
1065
1051
  }
1066
- timeNowOnServer() {
1067
- return this.httpGet('server.time').pipe(map(v => {
1068
- if (v && v.result) {
1069
- return new Date(v.result);
1070
- }
1071
- return undefined;
1072
- }));
1073
- }
1074
- /**
1075
- * Это пиздец а не метод
1076
- * @param param
1077
- */
1078
- branch(param) {
1079
- let prepareParam = Object.entries(this.prepareBatch(param));
1080
- const size = 50; // больше не отдаст
1081
- let subarray = []; //массив в который будет выведен результат.
1082
- for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {
1083
- subarray[i] = prepareParam.slice((i * size), (i * size) + size);
1084
- }
1085
- return forkJoin(subarray.map(i => {
1086
- return this.httpPost('batch.json', {
1087
- halt: 0,
1088
- cmd: Object.assign({}, ...i.map(x => {
1089
- return { [x[0]]: x[1] };
1090
- }))
1091
- });
1092
- }));
1093
- }
1094
- prepareBatch(param) {
1095
- let res = Object.keys(param).reduce((obj, key) => {
1096
- obj[key] = '';
1097
- return obj;
1098
- }, {});
1099
- for (let key in param) {
1100
- if (typeof key === 'string' || typeof key === 'number' && param[key].param) {
1101
- res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString();
1102
- }
1103
- }
1104
- return res;
1105
- }
1106
- // mapBranchResult<T>(res: iBatchRequestAnswer<T>[]){
1107
- // return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {[key:keyBatch]: T}
1108
- // }
1109
- //
1110
- // mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[]{
1111
- // return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))
1112
- // }
1113
- httpPost(url, params = {}, textError = '', settings = this.defSettings) {
1052
+ httpPost(url, params = {}, settings = this.defSettings) {
1114
1053
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1115
1054
  if (auth) {
1116
1055
  const paramsClone = clone(params);
1117
1056
  paramsClone[this.session.getKeyAuth()] = auth;
1118
1057
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1119
1058
  if (v) {
1120
- return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))
1121
- .pipe(take(1), catchError(err => {
1122
- if (!textError.length && err.error.error_description) {
1123
- textError = err.error.error_description;
1124
- }
1125
- this.snackBar.error('Ошибка: ' + textError);
1126
- return throwError(() => err);
1127
- }));
1059
+ return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings));
1128
1060
  }
1129
1061
  return throwError(() => 'get base url error');
1130
1062
  }));
@@ -1135,7 +1067,7 @@ class HttpServices extends BaseHttpServices {
1135
1067
  }
1136
1068
  }));
1137
1069
  }
1138
- httpGet(url, params = {}, textError = '', settings = this.defSettings) {
1070
+ httpGet(url, params = {}, settings = this.defSettings) {
1139
1071
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1140
1072
  if (auth) {
1141
1073
  if (params === null) {
@@ -1148,13 +1080,7 @@ class HttpServices extends BaseHttpServices {
1148
1080
  };
1149
1081
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1150
1082
  if (v) {
1151
- return this.http.get(this.prepareBaseAddress(v) + url, options).pipe(take(1), catchError(err => {
1152
- if (!textError.length && err.error.error_description) {
1153
- textError = err.error.error_description;
1154
- }
1155
- this.snackBar.error('Ошибка: ' + textError);
1156
- return throwError(() => err);
1157
- }));
1083
+ return this.http.get(this.prepareBaseAddress(v) + url, options);
1158
1084
  }
1159
1085
  return throwError(() => 'get base url error');
1160
1086
  }));
@@ -1165,9 +1091,6 @@ class HttpServices extends BaseHttpServices {
1165
1091
  }
1166
1092
  }));
1167
1093
  }
1168
- getNameMethod(arr) {
1169
- return arr.join('.');
1170
- }
1171
1094
  }
1172
1095
  HttpServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpServices, deps: [{ token: i1$3.HttpClient }, { token: SnackBarService }, { token: SessionKeyServices }], target: i0.ɵɵFactoryTarget.Injectable });
1173
1096
  HttpServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpServices, providedIn: 'root' });
@@ -1229,38 +1152,30 @@ class HttpBXServices extends HttpServices {
1229
1152
  // override mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[] {
1230
1153
  // return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))
1231
1154
  // }
1232
- post(name, params = {}, textError = '', settings = this.defSettings) {
1233
- return this.httpPost(this.getNameMethod(name), params, textError, settings);
1155
+ post(name, params = {}, settings = this.defSettings) {
1156
+ return this.httpPost(this.getNameMethod(name), params, settings);
1234
1157
  }
1235
- get(name, params = {}, textError = '', settings = this.defSettings) {
1236
- return this.httpGet(this.getNameMethod(name), params, textError, settings);
1158
+ get(name, params = {}, settings = this.defSettings) {
1159
+ return this.httpGet(this.getNameMethod(name), params, settings);
1237
1160
  }
1238
- httpPost(url, params = {}, textError = '', settings = this.defSettings) {
1161
+ httpPost(url, params = {}, settings = this.defSettings) {
1239
1162
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1240
1163
  if (auth) {
1241
1164
  const paramsClone = clone(params);
1242
1165
  paramsClone[this.session.getKeyAuth()] = auth;
1243
1166
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1244
1167
  if (v) {
1245
- return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))
1246
- .pipe(take(1), catchError(err => {
1247
- if (!textError.length && err.error.error_description) {
1248
- textError = err.error.error_description;
1249
- }
1250
- this.snackBar.error('Ошибка: ' + textError);
1251
- return throwError(() => err);
1252
- }));
1168
+ return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings));
1253
1169
  }
1254
1170
  return throwError(() => 'get base url error');
1255
1171
  }));
1256
1172
  }
1257
1173
  else {
1258
- this.snackBar.error('Error: Auth not get');
1259
1174
  return throwError(() => 'auth not get');
1260
1175
  }
1261
1176
  }));
1262
1177
  }
1263
- httpGet(url, params = {}, textError = '', settings = this.defSettings) {
1178
+ httpGet(url, params = {}, settings = this.defSettings) {
1264
1179
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1265
1180
  if (auth) {
1266
1181
  if (params === null) {
@@ -1273,19 +1188,12 @@ class HttpBXServices extends HttpServices {
1273
1188
  };
1274
1189
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1275
1190
  if (v) {
1276
- return this.http.get(this.prepareBaseAddress(v) + url, options).pipe(take(1), catchError(err => {
1277
- if (!textError.length && err.error.error_description) {
1278
- textError = err.error.error_description;
1279
- }
1280
- this.snackBar.error('Ошибка: ' + textError);
1281
- return throwError(() => err);
1282
- }));
1191
+ return this.http.get(this.prepareBaseAddress(v) + url, options);
1283
1192
  }
1284
1193
  return throwError(() => 'get base url error');
1285
1194
  }));
1286
1195
  }
1287
1196
  else {
1288
- this.snackBar.error('Error: Auth not get');
1289
1197
  return throwError(() => 'auth not get');
1290
1198
  }
1291
1199
  }));
@@ -1315,7 +1223,7 @@ class BXRestListsElement {
1315
1223
  };
1316
1224
  }
1317
1225
  get(pram) {
1318
- return this.http.post(this.url.get, pram, 'Не Удалось получить элемент списка');
1226
+ return this.http.post(this.url.get, pram);
1319
1227
  }
1320
1228
  customPipe() {
1321
1229
  }
@@ -1395,23 +1303,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1395
1303
  }]
1396
1304
  }], ctorParameters: function () { return [{ type: BXRestMapListsElement }]; } });
1397
1305
 
1306
+ class Navvy {
1307
+ constructor(snackBar) {
1308
+ this.snackBar = snackBar;
1309
+ }
1310
+ mapAndSnackBarError(request, errorText) {
1311
+ return request.pipe(map(v => BXRestMapResult(v)), catchError(err => {
1312
+ this.snackBar.error(errorText);
1313
+ return throwError(() => err);
1314
+ }));
1315
+ }
1316
+ }
1317
+ Navvy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navvy, deps: [{ token: SnackBarService }], target: i0.ɵɵFactoryTarget.Injectable });
1318
+ Navvy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navvy, providedIn: 'root' });
1319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navvy, decorators: [{
1320
+ type: Injectable,
1321
+ args: [{
1322
+ providedIn: 'root'
1323
+ }]
1324
+ }], ctorParameters: function () { return [{ type: SnackBarService }]; } });
1325
+
1398
1326
  class BXRestNavvyListsElement {
1399
- constructor(BXRestListsElement, BXRestMap) {
1327
+ constructor(BXRestListsElement, BXRestMap, Navvy) {
1400
1328
  this.BXRestListsElement = BXRestListsElement;
1401
1329
  this.BXRestMap = BXRestMap;
1330
+ this.Navvy = Navvy;
1402
1331
  }
1403
1332
  get(pram) {
1404
- return this.BXRestListsElement.get(pram).pipe(map(v => (v) ? this.BXRestMap.get(BXRestMapResult(v)) : undefined));
1333
+ return this.Navvy.mapAndSnackBarError(this.BXRestListsElement.get(pram), 'Не удалось получить элемент списка').pipe(map(v => (v) ? this.BXRestMap.get(v) : undefined));
1405
1334
  }
1406
1335
  }
1407
- BXRestNavvyListsElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyListsElement, deps: [{ token: BXRestListsElement }, { token: BXRestMapListsElement }], target: i0.ɵɵFactoryTarget.Injectable });
1336
+ BXRestNavvyListsElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyListsElement, deps: [{ token: BXRestListsElement }, { token: BXRestMapListsElement }, { token: Navvy }], target: i0.ɵɵFactoryTarget.Injectable });
1408
1337
  BXRestNavvyListsElement.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyListsElement, providedIn: 'root' });
1409
1338
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyListsElement, decorators: [{
1410
1339
  type: Injectable,
1411
1340
  args: [{
1412
1341
  providedIn: 'root'
1413
1342
  }]
1414
- }], ctorParameters: function () { return [{ type: BXRestListsElement }, { type: BXRestMapListsElement }]; } });
1343
+ }], ctorParameters: function () { return [{ type: BXRestListsElement }, { type: BXRestMapListsElement }, { type: Navvy }]; } });
1415
1344
 
1416
1345
  class BXRestNavvyLists {
1417
1346
  constructor(element) {
@@ -1434,10 +1363,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1434
1363
  }]
1435
1364
  }], ctorParameters: function () { return [{ type: BXRestNavvyListsElement }]; } });
1436
1365
 
1366
+ class BXRestUserMap extends BaseMapServices {
1367
+ current(user) {
1368
+ let res = Object.assign(clone(user), {
1369
+ ID: this.toNum(user.ID),
1370
+ IS_ONLINE: this.toBool(user.IS_ONLINE),
1371
+ DATE_REGISTER: this.toDate(user.DATE_REGISTER),
1372
+ PERSONAL_BIRTHDAY: this.toDate(user.PERSONAL_BIRTHDAY),
1373
+ });
1374
+ if (user.LAST_LOGIN) {
1375
+ res.LAST_LOGIN = this.toDate(user.LAST_LOGIN);
1376
+ }
1377
+ return res;
1378
+ }
1379
+ BXtoHttp(user) {
1380
+ return Object.assign(clone(user), {
1381
+ ID: this.toStr(user.ID),
1382
+ IS_ONLINE: this.toBXYorN(user.IS_ONLINE),
1383
+ DATE_REGISTER: this.getBXStrTime(user.DATE_REGISTER),
1384
+ PERSONAL_BIRTHDAY: this.toStr(user.PERSONAL_BIRTHDAY),
1385
+ LAST_LOGIN: this.toStr(user.LAST_LOGIN)
1386
+ });
1387
+ }
1388
+ getFIO(user) {
1389
+ let res = '';
1390
+ if (!user.LAST_NAME) {
1391
+ const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1392
+ const NAME = (user.NAME) ? user.NAME : '';
1393
+ res = NAME + ' ' + SECOND_NAME;
1394
+ }
1395
+ else if (!user.NAME) {
1396
+ res = user.LAST_NAME;
1397
+ }
1398
+ else if (!user.SECOND_NAME) {
1399
+ res = user.LAST_NAME + ' ' + user.NAME;
1400
+ }
1401
+ else {
1402
+ res = user.LAST_NAME + ' ' + user.NAME + ' ' + user.SECOND_NAME;
1403
+ }
1404
+ return res.trim();
1405
+ }
1406
+ getFI(user) {
1407
+ let res = '';
1408
+ if (!user.LAST_NAME) {
1409
+ const NAME = (user.NAME) ? user.NAME : '';
1410
+ res = NAME;
1411
+ }
1412
+ else if (!user.NAME) {
1413
+ res = user.LAST_NAME;
1414
+ }
1415
+ else {
1416
+ res = user.LAST_NAME + ' ' + user.NAME;
1417
+ }
1418
+ return res.trim();
1419
+ }
1420
+ getFIOShort(user) {
1421
+ let res = '';
1422
+ if (!user.LAST_NAME) {
1423
+ const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1424
+ const NAME = (user.NAME) ? user.NAME : '';
1425
+ res = NAME + ' ' + SECOND_NAME;
1426
+ }
1427
+ else if (!user.NAME) {
1428
+ res = user.LAST_NAME;
1429
+ }
1430
+ else if (!user.SECOND_NAME) {
1431
+ res = user.LAST_NAME + ' ' + user.NAME.charAt(0).toUpperCase() + '.';
1432
+ }
1433
+ else {
1434
+ res =
1435
+ user.LAST_NAME + ' ' +
1436
+ user.NAME.charAt(0).toUpperCase() + '.' +
1437
+ user.SECOND_NAME.charAt(0).toUpperCase() + '.';
1438
+ }
1439
+ return res.trim();
1440
+ }
1441
+ }
1442
+ BXRestUserMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1443
+ BXRestUserMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, providedIn: 'root' });
1444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, decorators: [{
1445
+ type: Injectable,
1446
+ args: [{
1447
+ providedIn: 'root'
1448
+ }]
1449
+ }] });
1450
+
1437
1451
  class BXRestUser {
1438
- constructor(http, snackBar) {
1452
+ constructor(http, BXRestUserMap) {
1439
1453
  this.http = http;
1440
- this.snackBar = snackBar;
1454
+ this.BXRestUserMap = BXRestUserMap;
1441
1455
  this.url = {
1442
1456
  admin: [$user, 'admin'],
1443
1457
  get: [$user, $get],
@@ -1463,64 +1477,31 @@ class BXRestUser {
1463
1477
  get(params = {}) {
1464
1478
  let copyParams = clone(params);
1465
1479
  this.setDefParam(copyParams);
1466
- return this.http.post(this.url.get, copyParams, 'Не удалось получить пользователей');
1467
- // .pipe(
1468
- // tap(v => {
1469
- // if (v && v.result) {
1470
- // this.saveArrUser(v.result)
1471
- // }
1472
- // })
1473
- // )
1480
+ return this.http.post(this.url.get, copyParams);
1474
1481
  }
1475
1482
  current() {
1476
- return this.http.get(this.url.current, {}, 'Не удалось получить пользователя');
1483
+ return this.http.get(this.url.current, {});
1477
1484
  }
1478
- access(access, textError = 'Не удалось получить права') {
1479
- return this.http.get(this.url.access, { ACCESS: access }, textError);
1485
+ update(user, fieldUpdate) {
1486
+ if (fieldUpdate && fieldUpdate.length) {
1487
+ let sendData = {
1488
+ ID: user.ID,
1489
+ };
1490
+ const userBX = this.BXRestUserMap.BXtoHttp(user);
1491
+ for (const field of fieldUpdate) {
1492
+ if (userBX[field]) {
1493
+ sendData[field] = userBX[field];
1494
+ }
1495
+ else {
1496
+ return throwError(() => 'One sent field is empty');
1497
+ }
1498
+ }
1499
+ return this.http.post(this.url.update, sendData);
1500
+ }
1501
+ else {
1502
+ return throwError(() => 'All sent field for edit is empty');
1503
+ }
1480
1504
  }
1481
- // getAll(params: iBXGetParam = {}): Observable<iBXRestUser [] | undefined> {
1482
- // if (!Object.keys(params).length) {
1483
- // params = clone(this.def.params)
1484
- // }
1485
- //
1486
- // const saveAllUser = compare(params, this.def.params)
1487
- // return this.user$.pipe(
1488
- // take(1),
1489
- // mergeMap(v => {
1490
- // if (v.load.all) {
1491
- // if (compare(this.def.params, params)) {
1492
- // return of(clone(v.data))
1493
- // }
1494
- // }
1495
- //
1496
- // return this.getEndArray(params).pipe(
1497
- // take(1),
1498
- // map(v => {
1499
- // if (v && v.result) {
1500
- // let cl = clone(v.result)
1501
- // return this.saveArrUser(cl)
1502
- // }
1503
- // return undefined
1504
- // }),
1505
- // )
1506
- // }),
1507
- // tap(v => {
1508
- // if (v && v.length && saveAllUser) {
1509
- // this.store.dispatch(loadAll({load: true}))
1510
- // }
1511
- // params.start = this.def.params.start
1512
- // })
1513
- // )
1514
- // }
1515
- // private saveArrUser(users: iBXRestUserHttp[]) {
1516
- // let result: iBXRestUser [] = []
1517
- // for (const user of users) {
1518
- // result.push(this.userMap.HttpToBX(user))
1519
- // }
1520
- // this.store.dispatch(saveArr({arr: result}))
1521
- //
1522
- // return result
1523
- // }
1524
1505
  search(params) {
1525
1506
  if (typeof params === 'string') {
1526
1507
  params = { FIND: params };
@@ -1528,51 +1509,14 @@ class BXRestUser {
1528
1509
  if (typeof params.ACTIVE !== 'boolean') {
1529
1510
  params.ACTIVE = true;
1530
1511
  }
1531
- return this.http.get(this.url.search, params, 'Сервер не отвечает на запрос поиска');
1512
+ return this.http.get(this.url.search, params);
1513
+ }
1514
+ access(access) {
1515
+ return this.http.get(this.url.access, { ACCESS: access });
1532
1516
  }
1533
1517
  fields() {
1534
1518
  return this.http.get(this.url.fields);
1535
1519
  }
1536
- update(user, fieldUpdate) {
1537
- if (fieldUpdate && fieldUpdate.length) {
1538
- let sendData = {
1539
- ID: user.ID,
1540
- };
1541
- // const userBX = this.userMap.BXtoHttp(user)
1542
- // for (const field of fieldUpdate) {
1543
- // if (userBX[field]) {
1544
- // sendData[field] = userBX[field]
1545
- // } else {
1546
- // this.snackBar.error('Одно из указанных полей отправлено не верно')
1547
- // }
1548
- // }
1549
- return this.http.post(this.url.update, sendData, 'Не удалось обновить пользователя с ID' + user.ID);
1550
- }
1551
- else {
1552
- this.snackBar.error('Не указано ни одно поле для редактирования пользователя');
1553
- return of({});
1554
- }
1555
- }
1556
- // getEndArray(params: UserFilter = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {
1557
- // return this.get(params).pipe(
1558
- // mergeMap(items => {
1559
- // if (items && items.result && typeof items.result === 'object') {
1560
- // if (items.next) {
1561
- // params.start = items.next
1562
- // return this.getEndArray(params).pipe(map(vEnd => {
1563
- // if (vEnd && items.result && vEnd.result) {
1564
- // return {result: [...items.result, ...vEnd.result]}
1565
- // }
1566
- // return (items) ? items : undefined
1567
- // }))
1568
- // }
1569
- // return of(items)
1570
- // } else {
1571
- // return of(undefined)
1572
- // }
1573
- // }),
1574
- // )
1575
- // }
1576
1520
  setDefParam(params) {
1577
1521
  if (!params.hasOwnProperty('ACTIVE')) {
1578
1522
  params.ACTIVE = this.def.params.ACTIVE;
@@ -1588,14 +1532,14 @@ class BXRestUser {
1588
1532
  }
1589
1533
  }
1590
1534
  }
1591
- BXRestUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, deps: [{ token: HttpBXServices }, { token: SnackBarService }], target: i0.ɵɵFactoryTarget.Injectable });
1535
+ BXRestUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, deps: [{ token: HttpBXServices }, { token: BXRestUserMap }], target: i0.ɵɵFactoryTarget.Injectable });
1592
1536
  BXRestUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, providedIn: 'root' });
1593
1537
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, decorators: [{
1594
1538
  type: Injectable,
1595
1539
  args: [{
1596
1540
  providedIn: 'root'
1597
1541
  }]
1598
- }], ctorParameters: function () { return [{ type: HttpBXServices }, { type: SnackBarService }]; } });
1542
+ }], ctorParameters: function () { return [{ type: HttpBXServices }, { type: BXRestUserMap }]; } });
1599
1543
 
1600
1544
  class BXRestTasksTask {
1601
1545
  constructor(http) {
@@ -1687,10 +1631,10 @@ class BXRestDiskFile {
1687
1631
  };
1688
1632
  }
1689
1633
  get(id) {
1690
- return this.http.post(this.url.get, { id: id }, 'Не удалось получить файл');
1634
+ return this.http.post(this.url.get, { id: id });
1691
1635
  }
1692
1636
  markDel(id) {
1693
- return this.http.post(this.url.markdeleted, { id: id }, 'Не удалось переместить файл в корзину');
1637
+ return this.http.post(this.url.markdeleted, { id: id });
1694
1638
  }
1695
1639
  }
1696
1640
  BXRestDiskFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskFile, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1732,7 +1676,7 @@ class BXRestDiskFolder {
1732
1676
  });
1733
1677
  }
1734
1678
  getchildren(id) {
1735
- return this.http.post(this.url.getchildren, { id: id }, 'get folders and files');
1679
+ return this.http.post(this.url.getchildren, { id: id });
1736
1680
  }
1737
1681
  }
1738
1682
  BXRestDiskFolder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskFolder, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1759,149 +1703,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1759
1703
  }]
1760
1704
  }], ctorParameters: function () { return [{ type: BXRestDiskFile }, { type: BXRestDiskFolder }]; } });
1761
1705
 
1762
- const save = createAction('[Users Component] Save', props());
1763
- const saveArr = createAction('[Users Component] Save Arr', props());
1764
- const update = createAction('[Users Component] Update', props());
1765
- const loadAll = createAction('[Users Component] loadAll', props());
1766
- const saveSelf = createAction('[Users Component] saveSelf', props());
1767
- const saveIDLoadedDepartment = createAction('[Users Component] saveIDLoadedDepartment', props());
1768
- const initialState = {
1769
- load: {
1770
- all: false,
1771
- department: []
1772
- },
1773
- self: undefined,
1774
- data: []
1775
- };
1776
- const _usersReducer = createReducer(initialState, on(saveIDLoadedDepartment, (s, data) => {
1777
- let copy = clone(s);
1778
- copy.load.department = [...copy.load.department, ...data.id];
1779
- return copy;
1780
- }), on(save, (s, data) => {
1781
- const find = s.data.find(v => v.ID === data.ID);
1782
- if (!find) {
1783
- const copy = clone(s);
1784
- copy.data.push(data);
1785
- return copy;
1786
- }
1787
- return s;
1788
- }), on(saveArr, (s, data) => {
1789
- const copy = clone(s);
1790
- if (copy.data && copy.data.length) {
1791
- for (const user of data.arr) {
1792
- const find = copy.data.find(v => v.ID === user.ID);
1793
- if (!find) {
1794
- copy.data.push(user);
1795
- }
1796
- }
1797
- }
1798
- else {
1799
- copy.data = [...data.arr];
1800
- }
1801
- return copy;
1802
- }), on(update, (s, data) => {
1803
- const copy = clone(s);
1804
- let find = copy.data.findIndex(v => v.ID === data.ID);
1805
- if (find !== -1) {
1806
- const copy = clone(s);
1807
- copy.data.splice(find, 1, data);
1808
- // copy.data.push(data)
1809
- return copy;
1810
- }
1811
- return s;
1812
- }), on(loadAll, (s, data) => {
1813
- if (data.load !== s.load.all) {
1814
- const copy = clone(s);
1815
- copy.load.all = data.load;
1816
- return copy;
1817
- }
1818
- return s;
1819
- }), on(saveSelf, (s, data) => {
1820
- return Object.assign(Object.assign({}, s), { self: data.self });
1821
- }));
1822
- function usersReducer(state = initialState, action) {
1823
- return _usersReducer(state, action);
1824
- }
1825
-
1826
- class BXRestUserMap extends BaseMapServices {
1827
- current(user) {
1828
- let res = Object.assign(clone(user), {
1829
- ID: this.toNum(user.ID),
1830
- IS_ONLINE: this.toBool(user.IS_ONLINE),
1831
- DATE_REGISTER: this.toDate(user.DATE_REGISTER),
1832
- PERSONAL_BIRTHDAY: this.toDate(user.PERSONAL_BIRTHDAY),
1833
- });
1834
- if (user.LAST_LOGIN) {
1835
- res.LAST_LOGIN = this.toDate(user.LAST_LOGIN);
1836
- }
1837
- return res;
1838
- }
1839
- BXtoHttp(user) {
1840
- return Object.assign(clone(user), {
1841
- ID: this.toStr(user.ID),
1842
- IS_ONLINE: this.toBXYorN(user.IS_ONLINE),
1843
- DATE_REGISTER: this.getBXStrTime(user.DATE_REGISTER),
1844
- PERSONAL_BIRTHDAY: this.toStr(user.PERSONAL_BIRTHDAY),
1845
- LAST_LOGIN: this.toStr(user.LAST_LOGIN)
1846
- });
1847
- }
1848
- getFIO(user) {
1849
- let res = '';
1850
- if (!user.LAST_NAME) {
1851
- const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1852
- const NAME = (user.NAME) ? user.NAME : '';
1853
- res = NAME + ' ' + SECOND_NAME;
1854
- }
1855
- else if (!user.NAME) {
1856
- res = user.LAST_NAME;
1857
- }
1858
- else if (!user.SECOND_NAME) {
1859
- res = user.LAST_NAME + ' ' + user.NAME;
1860
- }
1861
- else {
1862
- res = user.LAST_NAME + ' ' + user.NAME + ' ' + user.SECOND_NAME;
1863
- }
1864
- return res.trim();
1865
- }
1866
- getFI(user) {
1867
- let res = '';
1868
- if (!user.LAST_NAME) {
1869
- const NAME = (user.NAME) ? user.NAME : '';
1870
- res = NAME;
1871
- }
1872
- else if (!user.NAME) {
1873
- res = user.LAST_NAME;
1874
- }
1875
- else {
1876
- res = user.LAST_NAME + ' ' + user.NAME;
1877
- }
1878
- return res.trim();
1706
+ class SessionStorageServices {
1707
+ setItem(name, value) {
1708
+ sessionStorage.setItem(name, JSON.stringify(value));
1879
1709
  }
1880
- getFIOShort(user) {
1881
- let res = '';
1882
- if (!user.LAST_NAME) {
1883
- const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1884
- const NAME = (user.NAME) ? user.NAME : '';
1885
- res = NAME + ' ' + SECOND_NAME;
1886
- }
1887
- else if (!user.NAME) {
1888
- res = user.LAST_NAME;
1889
- }
1890
- else if (!user.SECOND_NAME) {
1891
- res = user.LAST_NAME + ' ' + user.NAME.charAt(0).toUpperCase() + '.';
1710
+ getItem(name) {
1711
+ const res = sessionStorage.getItem(name);
1712
+ if (res) {
1713
+ return JSON.parse(res);
1892
1714
  }
1893
- else {
1894
- res =
1895
- user.LAST_NAME + ' ' +
1896
- user.NAME.charAt(0).toUpperCase() + '.' +
1897
- user.SECOND_NAME.charAt(0).toUpperCase() + '.';
1898
- }
1899
- return res.trim();
1715
+ return undefined;
1900
1716
  }
1901
1717
  }
1902
- BXRestUserMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1903
- BXRestUserMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, providedIn: 'root' });
1904
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, decorators: [{
1718
+ SessionStorageServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorageServices, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1719
+ SessionStorageServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorageServices, providedIn: 'root' });
1720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorageServices, decorators: [{
1905
1721
  type: Injectable,
1906
1722
  args: [{
1907
1723
  providedIn: 'root'
@@ -1909,49 +1725,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1909
1725
  }] });
1910
1726
 
1911
1727
  class BXRestNavvyUser {
1912
- constructor(BXRestUser, store, BXRestUserMap) {
1728
+ constructor(BXRestUser, BXRestUserMap, Navvy, SessionStorage) {
1913
1729
  this.BXRestUser = BXRestUser;
1914
- this.store = store;
1915
1730
  this.BXRestUserMap = BXRestUserMap;
1916
- this.user$ = this.store.select('users');
1731
+ this.Navvy = Navvy;
1732
+ this.SessionStorage = SessionStorage;
1733
+ }
1734
+ get(params = {}) {
1735
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.get(params), 'Не удалось получить пользователей');
1917
1736
  }
1918
1737
  current(update = false) {
1919
1738
  if (update) {
1920
1739
  return this.self();
1921
1740
  }
1922
1741
  else {
1923
- return this.user$.pipe(mergeMap$1(v => {
1924
- if (v && v.self) {
1925
- return of(v.self);
1926
- }
1927
- else {
1928
- return this.self();
1929
- }
1930
- }), first());
1742
+ let self = this.SessionStorage.getItem(this.constructor.name + this.self.name);
1743
+ if (self) {
1744
+ return of(self);
1745
+ }
1746
+ return this.self();
1931
1747
  }
1932
1748
  }
1749
+ update(user, fieldUpdate) {
1750
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.update(user, fieldUpdate), 'Не удалось обновить пользователя с ID' + user.ID);
1751
+ }
1933
1752
  self() {
1934
- return this.BXRestUser.current()
1753
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.current(), 'Не удалось получить пользователя')
1935
1754
  .pipe(map(v => {
1936
- if (v && v.result) {
1937
- return this.BXRestUserMap.current(v.result);
1755
+ if (v) {
1756
+ return this.BXRestUserMap.current(v);
1938
1757
  }
1939
1758
  return undefined;
1940
1759
  }), tap(v => {
1941
1760
  if (v) {
1942
- this.store.dispatch(saveSelf({ self: v }));
1761
+ this.SessionStorage.setItem(this.constructor.name + this.self.name, v);
1943
1762
  }
1944
1763
  }));
1945
1764
  }
1765
+ search(params) {
1766
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.search(params), 'Сервер не отвечает на запрос поиска');
1767
+ }
1768
+ access(access) {
1769
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.access(access), 'Не удалось получить права');
1770
+ }
1771
+ fields() {
1772
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.fields(), 'Не удалось поля');
1773
+ }
1946
1774
  }
1947
- BXRestNavvyUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyUser, deps: [{ token: BXRestUser }, { token: i1$2.Store }, { token: BXRestUserMap }], target: i0.ɵɵFactoryTarget.Injectable });
1775
+ BXRestNavvyUser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyUser, deps: [{ token: BXRestUser }, { token: BXRestUserMap }, { token: Navvy }, { token: SessionStorageServices }], target: i0.ɵɵFactoryTarget.Injectable });
1948
1776
  BXRestNavvyUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyUser, providedIn: 'root' });
1949
1777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyUser, decorators: [{
1950
1778
  type: Injectable,
1951
1779
  args: [{
1952
1780
  providedIn: 'root'
1953
1781
  }]
1954
- }], ctorParameters: function () { return [{ type: BXRestUser }, { type: i1$2.Store }, { type: BXRestUserMap }]; } });
1782
+ }], ctorParameters: function () { return [{ type: BXRestUser }, { type: BXRestUserMap }, { type: Navvy }, { type: SessionStorageServices }]; } });
1955
1783
 
1956
1784
  class BXRestTaskMap extends BaseMapServices {
1957
1785
  TaskBXHttpToTaskBX(item) {
@@ -2138,42 +1966,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2138
1966
  }], ctorParameters: function () { return [{ type: BXRestNavvyTasksTask }]; } });
2139
1967
 
2140
1968
  class BXRestNavvyDiskFile extends BaseServices {
2141
- constructor(BXRestDiskFile) {
1969
+ constructor(BXRestDiskFile, Navvy) {
2142
1970
  super();
2143
1971
  this.BXRestDiskFile = BXRestDiskFile;
1972
+ this.Navvy = Navvy;
2144
1973
  }
2145
1974
  get(id) {
2146
- return this.BXRestDiskFile.get(id).pipe(map(v => {
2147
- if (v && v.result) {
2148
- let newResult = Object.assign(v.result, { SIZE: this.toNum(v.result.SIZE) });
2149
- return Object.assign(v, {
2150
- result: newResult
2151
- });
1975
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskFile.get(id), 'Не удалось получить файл').pipe(map(v => {
1976
+ if (v) {
1977
+ return Object.assign(v, { SIZE: this.toNum(v.SIZE) });
2152
1978
  }
2153
1979
  return undefined;
2154
1980
  }));
2155
1981
  }
2156
1982
  markDel(id) {
2157
- return this.BXRestDiskFile.markDel(id)
1983
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskFile.markDel(id), 'Не удалось переместить файл в корзину')
2158
1984
  .pipe(map(v => {
2159
- if (v && v.result) {
2160
- let newResult = Object.assign(v.result, { SIZE: this.toNum(v.result.SIZE) });
2161
- return Object.assign(v, {
2162
- result: newResult
2163
- });
1985
+ if (v) {
1986
+ return Object.assign(v, { SIZE: this.toNum(v.SIZE) });
2164
1987
  }
2165
1988
  return undefined;
2166
1989
  }));
2167
1990
  }
2168
1991
  }
2169
- BXRestNavvyDiskFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, deps: [{ token: BXRestDiskFile }], target: i0.ɵɵFactoryTarget.Injectable });
1992
+ BXRestNavvyDiskFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, deps: [{ token: BXRestDiskFile }, { token: Navvy }], target: i0.ɵɵFactoryTarget.Injectable });
2170
1993
  BXRestNavvyDiskFile.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, providedIn: 'root' });
2171
1994
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, decorators: [{
2172
1995
  type: Injectable,
2173
1996
  args: [{
2174
1997
  providedIn: 'root'
2175
1998
  }]
2176
- }], ctorParameters: function () { return [{ type: BXRestDiskFile }]; } });
1999
+ }], ctorParameters: function () { return [{ type: BXRestDiskFile }, { type: Navvy }]; } });
2177
2000
 
2178
2001
  class BXRestMapDiskBase extends BaseMapServices {
2179
2002
  separationFoldersAndFiles(arr) {
@@ -2244,11 +2067,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2244
2067
  }] });
2245
2068
 
2246
2069
  class BXRestDiskNavvyFolder {
2247
- constructor(BXRestDiskFolder, BXRestMapDiskFolder
2248
- // private diskFileBaseMap: diskFileBaseMapServices
2249
- ) {
2070
+ constructor(BXRestDiskFolder, BXRestMapDiskFolder, Navvy) {
2250
2071
  this.BXRestDiskFolder = BXRestDiskFolder;
2251
2072
  this.BXRestMapDiskFolder = BXRestMapDiskFolder;
2073
+ this.Navvy = Navvy;
2252
2074
  }
2253
2075
  // uploadfile(id: number, fileContent: string[]) {
2254
2076
  // return this.httpPost(
@@ -2265,22 +2087,22 @@ class BXRestDiskNavvyFolder {
2265
2087
  // )
2266
2088
  // }
2267
2089
  getchildren(id) {
2268
- return this.BXRestDiskFolder.getchildren(id).pipe(map(v => {
2269
- if (v && v.result) {
2270
- return this.BXRestMapDiskFolder.getContent(BXRestMapResult(v));
2090
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskFolder.getchildren(id), 'get folders and files').pipe(map(v => {
2091
+ if (v) {
2092
+ return this.BXRestMapDiskFolder.getContent(v);
2271
2093
  }
2272
2094
  return { file: [], folder: [] };
2273
2095
  }));
2274
2096
  }
2275
2097
  }
2276
- BXRestDiskNavvyFolder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, deps: [{ token: BXRestDiskFolder }, { token: BXRestMapDiskFolder }], target: i0.ɵɵFactoryTarget.Injectable });
2098
+ BXRestDiskNavvyFolder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, deps: [{ token: BXRestDiskFolder }, { token: BXRestMapDiskFolder }, { token: Navvy }], target: i0.ɵɵFactoryTarget.Injectable });
2277
2099
  BXRestDiskNavvyFolder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, providedIn: 'root' });
2278
2100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, decorators: [{
2279
2101
  type: Injectable,
2280
2102
  args: [{
2281
2103
  providedIn: 'root'
2282
2104
  }]
2283
- }], ctorParameters: function () { return [{ type: BXRestDiskFolder }, { type: BXRestMapDiskFolder }]; } });
2105
+ }], ctorParameters: function () { return [{ type: BXRestDiskFolder }, { type: BXRestMapDiskFolder }, { type: Navvy }]; } });
2284
2106
 
2285
2107
  class BXRestMapDiskStorage extends BXRestMapDiskBase {
2286
2108
  getchildren(arr) {
@@ -2315,11 +2137,11 @@ class BXRestDiskStorage {
2315
2137
  };
2316
2138
  }
2317
2139
  getforapp() {
2318
- return this.http.post(this.url.getforapp, {}, 'get root app folder');
2140
+ return this.http.post(this.url.getforapp, {});
2319
2141
  }
2320
2142
  // TODO: разобраться с фильтром
2321
2143
  getchildren(param) {
2322
- return this.http.post(this.url.getchildren, param, 'get root app folders and files');
2144
+ return this.http.post(this.url.getchildren, param);
2323
2145
  }
2324
2146
  // TODO: разобраться что возвращает и что вставлять
2325
2147
  addfolder(param) {
@@ -2340,29 +2162,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2340
2162
 
2341
2163
  class BXRestNavvyDiskStorage {
2342
2164
  // BXDiskFolder$ = new Observable<BXDiskFolderStore>()
2343
- constructor(BXRestDiskStorage, BXRestMapDiskStorage
2165
+ constructor(BXRestDiskStorage, BXRestMapDiskStorage, Navvy, SessionStorage
2344
2166
  // private store: Store<{ BXDiskFolder: BXDiskFolderStore }>,
2345
2167
  ) {
2346
2168
  this.BXRestDiskStorage = BXRestDiskStorage;
2347
2169
  this.BXRestMapDiskStorage = BXRestMapDiskStorage;
2170
+ this.Navvy = Navvy;
2171
+ this.SessionStorage = SessionStorage;
2348
2172
  // this.BXDiskFolder$ = this.store.select('BXDiskFolder')
2349
2173
  }
2350
2174
  getforapp() {
2351
- // return this.BXDiskFolder$.pipe(
2352
- // take(1),
2353
- // mergeMap(
2354
- // saveData => {
2355
- // if (saveData.folder.app) {
2356
- // return of(saveData.folder.app)
2357
- // }
2358
- return this.BXRestDiskStorage.getforapp().pipe(map(v => BXRestMapResult(v)));
2359
- // }
2360
- // )
2361
- // )
2175
+ let res = this.SessionStorage.getItem(this.constructor.name + this.getforapp.name);
2176
+ if (res) {
2177
+ return of(res);
2178
+ }
2179
+ else {
2180
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskStorage.getforapp(), 'get root app folder').pipe(tap(v => {
2181
+ if (v) {
2182
+ this.SessionStorage.setItem(this.constructor.name + this.getforapp.name, v);
2183
+ }
2184
+ }));
2185
+ }
2362
2186
  }
2363
2187
  // TODO: разобраться с фильтром позже
2364
2188
  getchildren(param) {
2365
- return this.BXRestDiskStorage.getchildren(param).pipe(map(v => BXRestMapResult(v)), map(v => {
2189
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskStorage.getchildren(param), 'get root app folders and files').pipe(map(v => {
2366
2190
  if (v && v.length) {
2367
2191
  return this.BXRestMapDiskStorage.getchildren(v);
2368
2192
  }
@@ -2377,14 +2201,14 @@ class BXRestNavvyDiskStorage {
2377
2201
  return this.BXRestDiskStorage.uploadfile(param);
2378
2202
  }
2379
2203
  }
2380
- BXRestNavvyDiskStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskStorage, deps: [{ token: BXRestDiskStorage }, { token: BXRestMapDiskStorage }], target: i0.ɵɵFactoryTarget.Injectable });
2204
+ BXRestNavvyDiskStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskStorage, deps: [{ token: BXRestDiskStorage }, { token: BXRestMapDiskStorage }, { token: Navvy }, { token: SessionStorageServices }], target: i0.ɵɵFactoryTarget.Injectable });
2381
2205
  BXRestNavvyDiskStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskStorage, providedIn: 'root' });
2382
2206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskStorage, decorators: [{
2383
2207
  type: Injectable,
2384
2208
  args: [{
2385
2209
  providedIn: 'root'
2386
2210
  }]
2387
- }], ctorParameters: function () { return [{ type: BXRestDiskStorage }, { type: BXRestMapDiskStorage }]; } });
2211
+ }], ctorParameters: function () { return [{ type: BXRestDiskStorage }, { type: BXRestMapDiskStorage }, { type: Navvy }, { type: SessionStorageServices }]; } });
2388
2212
 
2389
2213
  class BXRestNavvyDiskOperation {
2390
2214
  constructor(folder, disk, storage) {