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';
@@ -452,9 +452,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
452
452
  }]
453
453
  }] });
454
454
 
455
- const save$1 = createAction('[Auth Component] Save', props());
455
+ const save = createAction('[Auth Component] Save', props());
456
456
  const saveAccessToken = createAction('[Auth Component] SaveAccessToken', props());
457
- const initialState$1 = {
457
+ const initialState = {
458
458
  access_token: '',
459
459
  client_endpoint: '',
460
460
  domain: '',
@@ -467,11 +467,11 @@ const initialState$1 = {
467
467
  status: '',
468
468
  user_id: 0
469
469
  };
470
- const _authReducer = createReducer(initialState$1, on(saveAccessToken, (s, data) => {
470
+ const _authReducer = createReducer(initialState, on(saveAccessToken, (s, data) => {
471
471
  let copy = clone(s);
472
472
  return Object.assign(copy, data);
473
473
  }));
474
- function authReducer(state = initialState$1, action) {
474
+ function authReducer(state = initialState, action) {
475
475
  return _authReducer(state, action);
476
476
  }
477
477
 
@@ -1010,10 +1010,9 @@ class BaseHttp extends HttpData {
1010
1010
  this.http = http;
1011
1011
  this.snackBar = snackBar;
1012
1012
  }
1013
- handleError(result, textError = 'получения данных') {
1013
+ handleError(result) {
1014
1014
  return (error) => {
1015
1015
  console.error(`failed: ${error.message}`);
1016
- this.snackBar.error('Ошибка: ' + textError);
1017
1016
  return of(result);
1018
1017
  };
1019
1018
  }
@@ -1028,26 +1027,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1028
1027
  }], ctorParameters: function () { return [{ type: i1$3.HttpClient }, { type: SnackBarService }]; } });
1029
1028
 
1030
1029
  class BaseHttpServices extends BaseHttp {
1031
- httpGet(url, params = {}, textError = '', settings = this.defSettings) {
1030
+ httpGet(url, params = {}, settings = this.defSettings) {
1032
1031
  return this.http.get(url, {
1033
1032
  params: this.getHttpParamsGet(params, new HttpParams(), false, [], settings)
1034
- }).pipe(catchError(err => {
1035
- if (!textError.length && err.error.error_description) {
1036
- textError = err.error.error_description;
1037
- }
1038
- this.snackBar.error('Ошибка: ' + textError);
1039
- return throwError(() => err);
1040
- }));
1033
+ });
1041
1034
  }
1042
- httpPost(url, params = {}, textError = '', settings = this.defSettings) {
1043
- return this.http.post(url, this.getHttpParamsPost(params, new FormData(), false, [], settings)).pipe(catchError(err => {
1044
- if (!textError.length && err.error.error_description) {
1045
- textError = err.error.error_description;
1046
- }
1047
- this.snackBar.error('Ошибка: ' + textError);
1048
- console.error(err);
1049
- return throwError(() => err);
1050
- }));
1035
+ httpPost(url, params = {}, settings = this.defSettings) {
1036
+ return this.http.post(url, this.getHttpParamsPost(params, new FormData(), false, [], settings));
1051
1037
  }
1052
1038
  }
1053
1039
 
@@ -1056,68 +1042,14 @@ class HttpServices extends BaseHttpServices {
1056
1042
  super(http, snackBar);
1057
1043
  this.session = session;
1058
1044
  }
1059
- timeNowOnServer() {
1060
- return this.httpGet('server.time').pipe(map(v => {
1061
- if (v && v.result) {
1062
- return new Date(v.result);
1063
- }
1064
- return undefined;
1065
- }));
1066
- }
1067
- /**
1068
- * Это пиздец а не метод
1069
- * @param param
1070
- */
1071
- branch(param) {
1072
- let prepareParam = Object.entries(this.prepareBatch(param));
1073
- const size = 50; // больше не отдаст
1074
- let subarray = []; //массив в который будет выведен результат.
1075
- for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {
1076
- subarray[i] = prepareParam.slice((i * size), (i * size) + size);
1077
- }
1078
- return forkJoin(subarray.map(i => {
1079
- return this.httpPost('batch.json', {
1080
- halt: 0,
1081
- cmd: Object.assign({}, ...i.map(x => {
1082
- return { [x[0]]: x[1] };
1083
- }))
1084
- });
1085
- }));
1086
- }
1087
- prepareBatch(param) {
1088
- let res = Object.keys(param).reduce((obj, key) => {
1089
- obj[key] = '';
1090
- return obj;
1091
- }, {});
1092
- for (let key in param) {
1093
- if (typeof key === 'string' || typeof key === 'number' && param[key].param) {
1094
- res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString();
1095
- }
1096
- }
1097
- return res;
1098
- }
1099
- // mapBranchResult<T>(res: iBatchRequestAnswer<T>[]){
1100
- // return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {[key:keyBatch]: T}
1101
- // }
1102
- //
1103
- // mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[]{
1104
- // return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))
1105
- // }
1106
- httpPost(url, params = {}, textError = '', settings = this.defSettings) {
1045
+ httpPost(url, params = {}, settings = this.defSettings) {
1107
1046
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1108
1047
  if (auth) {
1109
1048
  const paramsClone = clone(params);
1110
1049
  paramsClone[this.session.getKeyAuth()] = auth;
1111
1050
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1112
1051
  if (v) {
1113
- return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))
1114
- .pipe(take(1), catchError(err => {
1115
- if (!textError.length && err.error.error_description) {
1116
- textError = err.error.error_description;
1117
- }
1118
- this.snackBar.error('Ошибка: ' + textError);
1119
- return throwError(() => err);
1120
- }));
1052
+ return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings));
1121
1053
  }
1122
1054
  return throwError(() => 'get base url error');
1123
1055
  }));
@@ -1128,7 +1060,7 @@ class HttpServices extends BaseHttpServices {
1128
1060
  }
1129
1061
  }));
1130
1062
  }
1131
- httpGet(url, params = {}, textError = '', settings = this.defSettings) {
1063
+ httpGet(url, params = {}, settings = this.defSettings) {
1132
1064
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1133
1065
  if (auth) {
1134
1066
  if (params === null) {
@@ -1141,13 +1073,7 @@ class HttpServices extends BaseHttpServices {
1141
1073
  };
1142
1074
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1143
1075
  if (v) {
1144
- return this.http.get(this.prepareBaseAddress(v) + url, options).pipe(take(1), catchError(err => {
1145
- if (!textError.length && err.error.error_description) {
1146
- textError = err.error.error_description;
1147
- }
1148
- this.snackBar.error('Ошибка: ' + textError);
1149
- return throwError(() => err);
1150
- }));
1076
+ return this.http.get(this.prepareBaseAddress(v) + url, options);
1151
1077
  }
1152
1078
  return throwError(() => 'get base url error');
1153
1079
  }));
@@ -1158,9 +1084,6 @@ class HttpServices extends BaseHttpServices {
1158
1084
  }
1159
1085
  }));
1160
1086
  }
1161
- getNameMethod(arr) {
1162
- return arr.join('.');
1163
- }
1164
1087
  }
1165
1088
  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 });
1166
1089
  HttpServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpServices, providedIn: 'root' });
@@ -1222,38 +1145,30 @@ class HttpBXServices extends HttpServices {
1222
1145
  // override mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[] {
1223
1146
  // return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))
1224
1147
  // }
1225
- post(name, params = {}, textError = '', settings = this.defSettings) {
1226
- return this.httpPost(this.getNameMethod(name), params, textError, settings);
1148
+ post(name, params = {}, settings = this.defSettings) {
1149
+ return this.httpPost(this.getNameMethod(name), params, settings);
1227
1150
  }
1228
- get(name, params = {}, textError = '', settings = this.defSettings) {
1229
- return this.httpGet(this.getNameMethod(name), params, textError, settings);
1151
+ get(name, params = {}, settings = this.defSettings) {
1152
+ return this.httpGet(this.getNameMethod(name), params, settings);
1230
1153
  }
1231
- httpPost(url, params = {}, textError = '', settings = this.defSettings) {
1154
+ httpPost(url, params = {}, settings = this.defSettings) {
1232
1155
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1233
1156
  if (auth) {
1234
1157
  const paramsClone = clone(params);
1235
1158
  paramsClone[this.session.getKeyAuth()] = auth;
1236
1159
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1237
1160
  if (v) {
1238
- return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))
1239
- .pipe(take(1), catchError(err => {
1240
- if (!textError.length && err.error.error_description) {
1241
- textError = err.error.error_description;
1242
- }
1243
- this.snackBar.error('Ошибка: ' + textError);
1244
- return throwError(() => err);
1245
- }));
1161
+ return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings));
1246
1162
  }
1247
1163
  return throwError(() => 'get base url error');
1248
1164
  }));
1249
1165
  }
1250
1166
  else {
1251
- this.snackBar.error('Error: Auth not get');
1252
1167
  return throwError(() => 'auth not get');
1253
1168
  }
1254
1169
  }));
1255
1170
  }
1256
- httpGet(url, params = {}, textError = '', settings = this.defSettings) {
1171
+ httpGet(url, params = {}, settings = this.defSettings) {
1257
1172
  return this.session.getAuthParams().pipe(mergeMap(auth => {
1258
1173
  if (auth) {
1259
1174
  if (params === null) {
@@ -1266,19 +1181,12 @@ class HttpBXServices extends HttpServices {
1266
1181
  };
1267
1182
  return this.session.getBaseUrl().pipe(mergeMap(v => {
1268
1183
  if (v) {
1269
- return this.http.get(this.prepareBaseAddress(v) + url, options).pipe(take(1), catchError(err => {
1270
- if (!textError.length && err.error.error_description) {
1271
- textError = err.error.error_description;
1272
- }
1273
- this.snackBar.error('Ошибка: ' + textError);
1274
- return throwError(() => err);
1275
- }));
1184
+ return this.http.get(this.prepareBaseAddress(v) + url, options);
1276
1185
  }
1277
1186
  return throwError(() => 'get base url error');
1278
1187
  }));
1279
1188
  }
1280
1189
  else {
1281
- this.snackBar.error('Error: Auth not get');
1282
1190
  return throwError(() => 'auth not get');
1283
1191
  }
1284
1192
  }));
@@ -1308,7 +1216,7 @@ class BXRestListsElement {
1308
1216
  };
1309
1217
  }
1310
1218
  get(pram) {
1311
- return this.http.post(this.url.get, pram, 'Не Удалось получить элемент списка');
1219
+ return this.http.post(this.url.get, pram);
1312
1220
  }
1313
1221
  customPipe() {
1314
1222
  }
@@ -1388,23 +1296,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1388
1296
  }]
1389
1297
  }], ctorParameters: function () { return [{ type: BXRestMapListsElement }]; } });
1390
1298
 
1299
+ class Navvy {
1300
+ constructor(snackBar) {
1301
+ this.snackBar = snackBar;
1302
+ }
1303
+ mapAndSnackBarError(request, errorText) {
1304
+ return request.pipe(map(v => BXRestMapResult(v)), catchError(err => {
1305
+ this.snackBar.error(errorText);
1306
+ return throwError(() => err);
1307
+ }));
1308
+ }
1309
+ }
1310
+ Navvy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navvy, deps: [{ token: SnackBarService }], target: i0.ɵɵFactoryTarget.Injectable });
1311
+ Navvy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navvy, providedIn: 'root' });
1312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navvy, decorators: [{
1313
+ type: Injectable,
1314
+ args: [{
1315
+ providedIn: 'root'
1316
+ }]
1317
+ }], ctorParameters: function () { return [{ type: SnackBarService }]; } });
1318
+
1391
1319
  class BXRestNavvyListsElement {
1392
- constructor(BXRestListsElement, BXRestMap) {
1320
+ constructor(BXRestListsElement, BXRestMap, Navvy) {
1393
1321
  this.BXRestListsElement = BXRestListsElement;
1394
1322
  this.BXRestMap = BXRestMap;
1323
+ this.Navvy = Navvy;
1395
1324
  }
1396
1325
  get(pram) {
1397
- return this.BXRestListsElement.get(pram).pipe(map(v => (v) ? this.BXRestMap.get(BXRestMapResult(v)) : undefined));
1326
+ return this.Navvy.mapAndSnackBarError(this.BXRestListsElement.get(pram), 'Не удалось получить элемент списка').pipe(map(v => (v) ? this.BXRestMap.get(v) : undefined));
1398
1327
  }
1399
1328
  }
1400
- 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 });
1329
+ 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 });
1401
1330
  BXRestNavvyListsElement.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyListsElement, providedIn: 'root' });
1402
1331
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyListsElement, decorators: [{
1403
1332
  type: Injectable,
1404
1333
  args: [{
1405
1334
  providedIn: 'root'
1406
1335
  }]
1407
- }], ctorParameters: function () { return [{ type: BXRestListsElement }, { type: BXRestMapListsElement }]; } });
1336
+ }], ctorParameters: function () { return [{ type: BXRestListsElement }, { type: BXRestMapListsElement }, { type: Navvy }]; } });
1408
1337
 
1409
1338
  class BXRestNavvyLists {
1410
1339
  constructor(element) {
@@ -1427,10 +1356,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1427
1356
  }]
1428
1357
  }], ctorParameters: function () { return [{ type: BXRestNavvyListsElement }]; } });
1429
1358
 
1359
+ class BXRestUserMap extends BaseMapServices {
1360
+ current(user) {
1361
+ let res = Object.assign(clone(user), {
1362
+ ID: this.toNum(user.ID),
1363
+ IS_ONLINE: this.toBool(user.IS_ONLINE),
1364
+ DATE_REGISTER: this.toDate(user.DATE_REGISTER),
1365
+ PERSONAL_BIRTHDAY: this.toDate(user.PERSONAL_BIRTHDAY),
1366
+ });
1367
+ if (user.LAST_LOGIN) {
1368
+ res.LAST_LOGIN = this.toDate(user.LAST_LOGIN);
1369
+ }
1370
+ return res;
1371
+ }
1372
+ BXtoHttp(user) {
1373
+ return Object.assign(clone(user), {
1374
+ ID: this.toStr(user.ID),
1375
+ IS_ONLINE: this.toBXYorN(user.IS_ONLINE),
1376
+ DATE_REGISTER: this.getBXStrTime(user.DATE_REGISTER),
1377
+ PERSONAL_BIRTHDAY: this.toStr(user.PERSONAL_BIRTHDAY),
1378
+ LAST_LOGIN: this.toStr(user.LAST_LOGIN)
1379
+ });
1380
+ }
1381
+ getFIO(user) {
1382
+ let res = '';
1383
+ if (!user.LAST_NAME) {
1384
+ const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1385
+ const NAME = (user.NAME) ? user.NAME : '';
1386
+ res = NAME + ' ' + SECOND_NAME;
1387
+ }
1388
+ else if (!user.NAME) {
1389
+ res = user.LAST_NAME;
1390
+ }
1391
+ else if (!user.SECOND_NAME) {
1392
+ res = user.LAST_NAME + ' ' + user.NAME;
1393
+ }
1394
+ else {
1395
+ res = user.LAST_NAME + ' ' + user.NAME + ' ' + user.SECOND_NAME;
1396
+ }
1397
+ return res.trim();
1398
+ }
1399
+ getFI(user) {
1400
+ let res = '';
1401
+ if (!user.LAST_NAME) {
1402
+ const NAME = (user.NAME) ? user.NAME : '';
1403
+ res = NAME;
1404
+ }
1405
+ else if (!user.NAME) {
1406
+ res = user.LAST_NAME;
1407
+ }
1408
+ else {
1409
+ res = user.LAST_NAME + ' ' + user.NAME;
1410
+ }
1411
+ return res.trim();
1412
+ }
1413
+ getFIOShort(user) {
1414
+ let res = '';
1415
+ if (!user.LAST_NAME) {
1416
+ const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1417
+ const NAME = (user.NAME) ? user.NAME : '';
1418
+ res = NAME + ' ' + SECOND_NAME;
1419
+ }
1420
+ else if (!user.NAME) {
1421
+ res = user.LAST_NAME;
1422
+ }
1423
+ else if (!user.SECOND_NAME) {
1424
+ res = user.LAST_NAME + ' ' + user.NAME.charAt(0).toUpperCase() + '.';
1425
+ }
1426
+ else {
1427
+ res =
1428
+ user.LAST_NAME + ' ' +
1429
+ user.NAME.charAt(0).toUpperCase() + '.' +
1430
+ user.SECOND_NAME.charAt(0).toUpperCase() + '.';
1431
+ }
1432
+ return res.trim();
1433
+ }
1434
+ }
1435
+ BXRestUserMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1436
+ BXRestUserMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, providedIn: 'root' });
1437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, decorators: [{
1438
+ type: Injectable,
1439
+ args: [{
1440
+ providedIn: 'root'
1441
+ }]
1442
+ }] });
1443
+
1430
1444
  class BXRestUser {
1431
- constructor(http, snackBar) {
1445
+ constructor(http, BXRestUserMap) {
1432
1446
  this.http = http;
1433
- this.snackBar = snackBar;
1447
+ this.BXRestUserMap = BXRestUserMap;
1434
1448
  this.url = {
1435
1449
  admin: [$user, 'admin'],
1436
1450
  get: [$user, $get],
@@ -1456,64 +1470,31 @@ class BXRestUser {
1456
1470
  get(params = {}) {
1457
1471
  let copyParams = clone(params);
1458
1472
  this.setDefParam(copyParams);
1459
- return this.http.post(this.url.get, copyParams, 'Не удалось получить пользователей');
1460
- // .pipe(
1461
- // tap(v => {
1462
- // if (v && v.result) {
1463
- // this.saveArrUser(v.result)
1464
- // }
1465
- // })
1466
- // )
1473
+ return this.http.post(this.url.get, copyParams);
1467
1474
  }
1468
1475
  current() {
1469
- return this.http.get(this.url.current, {}, 'Не удалось получить пользователя');
1476
+ return this.http.get(this.url.current, {});
1470
1477
  }
1471
- access(access, textError = 'Не удалось получить права') {
1472
- return this.http.get(this.url.access, { ACCESS: access }, textError);
1478
+ update(user, fieldUpdate) {
1479
+ if (fieldUpdate && fieldUpdate.length) {
1480
+ let sendData = {
1481
+ ID: user.ID,
1482
+ };
1483
+ const userBX = this.BXRestUserMap.BXtoHttp(user);
1484
+ for (const field of fieldUpdate) {
1485
+ if (userBX[field]) {
1486
+ sendData[field] = userBX[field];
1487
+ }
1488
+ else {
1489
+ return throwError(() => 'One sent field is empty');
1490
+ }
1491
+ }
1492
+ return this.http.post(this.url.update, sendData);
1493
+ }
1494
+ else {
1495
+ return throwError(() => 'All sent field for edit is empty');
1496
+ }
1473
1497
  }
1474
- // getAll(params: iBXGetParam = {}): Observable<iBXRestUser [] | undefined> {
1475
- // if (!Object.keys(params).length) {
1476
- // params = clone(this.def.params)
1477
- // }
1478
- //
1479
- // const saveAllUser = compare(params, this.def.params)
1480
- // return this.user$.pipe(
1481
- // take(1),
1482
- // mergeMap(v => {
1483
- // if (v.load.all) {
1484
- // if (compare(this.def.params, params)) {
1485
- // return of(clone(v.data))
1486
- // }
1487
- // }
1488
- //
1489
- // return this.getEndArray(params).pipe(
1490
- // take(1),
1491
- // map(v => {
1492
- // if (v && v.result) {
1493
- // let cl = clone(v.result)
1494
- // return this.saveArrUser(cl)
1495
- // }
1496
- // return undefined
1497
- // }),
1498
- // )
1499
- // }),
1500
- // tap(v => {
1501
- // if (v && v.length && saveAllUser) {
1502
- // this.store.dispatch(loadAll({load: true}))
1503
- // }
1504
- // params.start = this.def.params.start
1505
- // })
1506
- // )
1507
- // }
1508
- // private saveArrUser(users: iBXRestUserHttp[]) {
1509
- // let result: iBXRestUser [] = []
1510
- // for (const user of users) {
1511
- // result.push(this.userMap.HttpToBX(user))
1512
- // }
1513
- // this.store.dispatch(saveArr({arr: result}))
1514
- //
1515
- // return result
1516
- // }
1517
1498
  search(params) {
1518
1499
  if (typeof params === 'string') {
1519
1500
  params = { FIND: params };
@@ -1521,51 +1502,14 @@ class BXRestUser {
1521
1502
  if (typeof params.ACTIVE !== 'boolean') {
1522
1503
  params.ACTIVE = true;
1523
1504
  }
1524
- return this.http.get(this.url.search, params, 'Сервер не отвечает на запрос поиска');
1505
+ return this.http.get(this.url.search, params);
1506
+ }
1507
+ access(access) {
1508
+ return this.http.get(this.url.access, { ACCESS: access });
1525
1509
  }
1526
1510
  fields() {
1527
1511
  return this.http.get(this.url.fields);
1528
1512
  }
1529
- update(user, fieldUpdate) {
1530
- if (fieldUpdate && fieldUpdate.length) {
1531
- let sendData = {
1532
- ID: user.ID,
1533
- };
1534
- // const userBX = this.userMap.BXtoHttp(user)
1535
- // for (const field of fieldUpdate) {
1536
- // if (userBX[field]) {
1537
- // sendData[field] = userBX[field]
1538
- // } else {
1539
- // this.snackBar.error('Одно из указанных полей отправлено не верно')
1540
- // }
1541
- // }
1542
- return this.http.post(this.url.update, sendData, 'Не удалось обновить пользователя с ID' + user.ID);
1543
- }
1544
- else {
1545
- this.snackBar.error('Не указано ни одно поле для редактирования пользователя');
1546
- return of({});
1547
- }
1548
- }
1549
- // getEndArray(params: UserFilter = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {
1550
- // return this.get(params).pipe(
1551
- // mergeMap(items => {
1552
- // if (items && items.result && typeof items.result === 'object') {
1553
- // if (items.next) {
1554
- // params.start = items.next
1555
- // return this.getEndArray(params).pipe(map(vEnd => {
1556
- // if (vEnd && items.result && vEnd.result) {
1557
- // return {result: [...items.result, ...vEnd.result]}
1558
- // }
1559
- // return (items) ? items : undefined
1560
- // }))
1561
- // }
1562
- // return of(items)
1563
- // } else {
1564
- // return of(undefined)
1565
- // }
1566
- // }),
1567
- // )
1568
- // }
1569
1513
  setDefParam(params) {
1570
1514
  if (!params.hasOwnProperty('ACTIVE')) {
1571
1515
  params.ACTIVE = this.def.params.ACTIVE;
@@ -1581,14 +1525,14 @@ class BXRestUser {
1581
1525
  }
1582
1526
  }
1583
1527
  }
1584
- 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 });
1528
+ 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 });
1585
1529
  BXRestUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, providedIn: 'root' });
1586
1530
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUser, decorators: [{
1587
1531
  type: Injectable,
1588
1532
  args: [{
1589
1533
  providedIn: 'root'
1590
1534
  }]
1591
- }], ctorParameters: function () { return [{ type: HttpBXServices }, { type: SnackBarService }]; } });
1535
+ }], ctorParameters: function () { return [{ type: HttpBXServices }, { type: BXRestUserMap }]; } });
1592
1536
 
1593
1537
  class BXRestTasksTask {
1594
1538
  constructor(http) {
@@ -1680,10 +1624,10 @@ class BXRestDiskFile {
1680
1624
  };
1681
1625
  }
1682
1626
  get(id) {
1683
- return this.http.post(this.url.get, { id: id }, 'Не удалось получить файл');
1627
+ return this.http.post(this.url.get, { id: id });
1684
1628
  }
1685
1629
  markDel(id) {
1686
- return this.http.post(this.url.markdeleted, { id: id }, 'Не удалось переместить файл в корзину');
1630
+ return this.http.post(this.url.markdeleted, { id: id });
1687
1631
  }
1688
1632
  }
1689
1633
  BXRestDiskFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskFile, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1725,7 +1669,7 @@ class BXRestDiskFolder {
1725
1669
  });
1726
1670
  }
1727
1671
  getchildren(id) {
1728
- return this.http.post(this.url.getchildren, { id: id }, 'get folders and files');
1672
+ return this.http.post(this.url.getchildren, { id: id });
1729
1673
  }
1730
1674
  }
1731
1675
  BXRestDiskFolder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskFolder, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1752,149 +1696,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1752
1696
  }]
1753
1697
  }], ctorParameters: function () { return [{ type: BXRestDiskFile }, { type: BXRestDiskFolder }]; } });
1754
1698
 
1755
- const save = createAction('[Users Component] Save', props());
1756
- const saveArr = createAction('[Users Component] Save Arr', props());
1757
- const update = createAction('[Users Component] Update', props());
1758
- const loadAll = createAction('[Users Component] loadAll', props());
1759
- const saveSelf = createAction('[Users Component] saveSelf', props());
1760
- const saveIDLoadedDepartment = createAction('[Users Component] saveIDLoadedDepartment', props());
1761
- const initialState = {
1762
- load: {
1763
- all: false,
1764
- department: []
1765
- },
1766
- self: undefined,
1767
- data: []
1768
- };
1769
- const _usersReducer = createReducer(initialState, on(saveIDLoadedDepartment, (s, data) => {
1770
- let copy = clone(s);
1771
- copy.load.department = [...copy.load.department, ...data.id];
1772
- return copy;
1773
- }), on(save, (s, data) => {
1774
- const find = s.data.find(v => v.ID === data.ID);
1775
- if (!find) {
1776
- const copy = clone(s);
1777
- copy.data.push(data);
1778
- return copy;
1779
- }
1780
- return s;
1781
- }), on(saveArr, (s, data) => {
1782
- const copy = clone(s);
1783
- if (copy.data && copy.data.length) {
1784
- for (const user of data.arr) {
1785
- const find = copy.data.find(v => v.ID === user.ID);
1786
- if (!find) {
1787
- copy.data.push(user);
1788
- }
1789
- }
1790
- }
1791
- else {
1792
- copy.data = [...data.arr];
1793
- }
1794
- return copy;
1795
- }), on(update, (s, data) => {
1796
- const copy = clone(s);
1797
- let find = copy.data.findIndex(v => v.ID === data.ID);
1798
- if (find !== -1) {
1799
- const copy = clone(s);
1800
- copy.data.splice(find, 1, data);
1801
- // copy.data.push(data)
1802
- return copy;
1803
- }
1804
- return s;
1805
- }), on(loadAll, (s, data) => {
1806
- if (data.load !== s.load.all) {
1807
- const copy = clone(s);
1808
- copy.load.all = data.load;
1809
- return copy;
1810
- }
1811
- return s;
1812
- }), on(saveSelf, (s, data) => {
1813
- return { ...s, self: data.self };
1814
- }));
1815
- function usersReducer(state = initialState, action) {
1816
- return _usersReducer(state, action);
1817
- }
1818
-
1819
- class BXRestUserMap extends BaseMapServices {
1820
- current(user) {
1821
- let res = Object.assign(clone(user), {
1822
- ID: this.toNum(user.ID),
1823
- IS_ONLINE: this.toBool(user.IS_ONLINE),
1824
- DATE_REGISTER: this.toDate(user.DATE_REGISTER),
1825
- PERSONAL_BIRTHDAY: this.toDate(user.PERSONAL_BIRTHDAY),
1826
- });
1827
- if (user.LAST_LOGIN) {
1828
- res.LAST_LOGIN = this.toDate(user.LAST_LOGIN);
1829
- }
1830
- return res;
1831
- }
1832
- BXtoHttp(user) {
1833
- return Object.assign(clone(user), {
1834
- ID: this.toStr(user.ID),
1835
- IS_ONLINE: this.toBXYorN(user.IS_ONLINE),
1836
- DATE_REGISTER: this.getBXStrTime(user.DATE_REGISTER),
1837
- PERSONAL_BIRTHDAY: this.toStr(user.PERSONAL_BIRTHDAY),
1838
- LAST_LOGIN: this.toStr(user.LAST_LOGIN)
1839
- });
1699
+ class SessionStorageServices {
1700
+ setItem(name, value) {
1701
+ sessionStorage.setItem(name, JSON.stringify(value));
1840
1702
  }
1841
- getFIO(user) {
1842
- let res = '';
1843
- if (!user.LAST_NAME) {
1844
- const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1845
- const NAME = (user.NAME) ? user.NAME : '';
1846
- res = NAME + ' ' + SECOND_NAME;
1847
- }
1848
- else if (!user.NAME) {
1849
- res = user.LAST_NAME;
1850
- }
1851
- else if (!user.SECOND_NAME) {
1852
- res = user.LAST_NAME + ' ' + user.NAME;
1853
- }
1854
- else {
1855
- res = user.LAST_NAME + ' ' + user.NAME + ' ' + user.SECOND_NAME;
1703
+ getItem(name) {
1704
+ const res = sessionStorage.getItem(name);
1705
+ if (res) {
1706
+ return JSON.parse(res);
1856
1707
  }
1857
- return res.trim();
1858
- }
1859
- getFI(user) {
1860
- let res = '';
1861
- if (!user.LAST_NAME) {
1862
- const NAME = (user.NAME) ? user.NAME : '';
1863
- res = NAME;
1864
- }
1865
- else if (!user.NAME) {
1866
- res = user.LAST_NAME;
1867
- }
1868
- else {
1869
- res = user.LAST_NAME + ' ' + user.NAME;
1870
- }
1871
- return res.trim();
1872
- }
1873
- getFIOShort(user) {
1874
- let res = '';
1875
- if (!user.LAST_NAME) {
1876
- const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
1877
- const NAME = (user.NAME) ? user.NAME : '';
1878
- res = NAME + ' ' + SECOND_NAME;
1879
- }
1880
- else if (!user.NAME) {
1881
- res = user.LAST_NAME;
1882
- }
1883
- else if (!user.SECOND_NAME) {
1884
- res = user.LAST_NAME + ' ' + user.NAME.charAt(0).toUpperCase() + '.';
1885
- }
1886
- else {
1887
- res =
1888
- user.LAST_NAME + ' ' +
1889
- user.NAME.charAt(0).toUpperCase() + '.' +
1890
- user.SECOND_NAME.charAt(0).toUpperCase() + '.';
1891
- }
1892
- return res.trim();
1708
+ return undefined;
1893
1709
  }
1894
1710
  }
1895
- BXRestUserMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1896
- BXRestUserMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, providedIn: 'root' });
1897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestUserMap, decorators: [{
1711
+ SessionStorageServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorageServices, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1712
+ SessionStorageServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorageServices, providedIn: 'root' });
1713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorageServices, decorators: [{
1898
1714
  type: Injectable,
1899
1715
  args: [{
1900
1716
  providedIn: 'root'
@@ -1902,49 +1718,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1902
1718
  }] });
1903
1719
 
1904
1720
  class BXRestNavvyUser {
1905
- constructor(BXRestUser, store, BXRestUserMap) {
1721
+ constructor(BXRestUser, BXRestUserMap, Navvy, SessionStorage) {
1906
1722
  this.BXRestUser = BXRestUser;
1907
- this.store = store;
1908
1723
  this.BXRestUserMap = BXRestUserMap;
1909
- this.user$ = this.store.select('users');
1724
+ this.Navvy = Navvy;
1725
+ this.SessionStorage = SessionStorage;
1726
+ }
1727
+ get(params = {}) {
1728
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.get(params), 'Не удалось получить пользователей');
1910
1729
  }
1911
1730
  current(update = false) {
1912
1731
  if (update) {
1913
1732
  return this.self();
1914
1733
  }
1915
1734
  else {
1916
- return this.user$.pipe(mergeMap$1(v => {
1917
- if (v && v.self) {
1918
- return of(v.self);
1919
- }
1920
- else {
1921
- return this.self();
1922
- }
1923
- }), first());
1735
+ let self = this.SessionStorage.getItem(this.constructor.name + this.self.name);
1736
+ if (self) {
1737
+ return of(self);
1738
+ }
1739
+ return this.self();
1924
1740
  }
1925
1741
  }
1742
+ update(user, fieldUpdate) {
1743
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.update(user, fieldUpdate), 'Не удалось обновить пользователя с ID' + user.ID);
1744
+ }
1926
1745
  self() {
1927
- return this.BXRestUser.current()
1746
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.current(), 'Не удалось получить пользователя')
1928
1747
  .pipe(map(v => {
1929
- if (v && v.result) {
1930
- return this.BXRestUserMap.current(v.result);
1748
+ if (v) {
1749
+ return this.BXRestUserMap.current(v);
1931
1750
  }
1932
1751
  return undefined;
1933
1752
  }), tap(v => {
1934
1753
  if (v) {
1935
- this.store.dispatch(saveSelf({ self: v }));
1754
+ this.SessionStorage.setItem(this.constructor.name + this.self.name, v);
1936
1755
  }
1937
1756
  }));
1938
1757
  }
1758
+ search(params) {
1759
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.search(params), 'Сервер не отвечает на запрос поиска');
1760
+ }
1761
+ access(access) {
1762
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.access(access), 'Не удалось получить права');
1763
+ }
1764
+ fields() {
1765
+ return this.Navvy.mapAndSnackBarError(this.BXRestUser.fields(), 'Не удалось поля');
1766
+ }
1939
1767
  }
1940
- 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 });
1768
+ 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 });
1941
1769
  BXRestNavvyUser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyUser, providedIn: 'root' });
1942
1770
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyUser, decorators: [{
1943
1771
  type: Injectable,
1944
1772
  args: [{
1945
1773
  providedIn: 'root'
1946
1774
  }]
1947
- }], ctorParameters: function () { return [{ type: BXRestUser }, { type: i1$2.Store }, { type: BXRestUserMap }]; } });
1775
+ }], ctorParameters: function () { return [{ type: BXRestUser }, { type: BXRestUserMap }, { type: Navvy }, { type: SessionStorageServices }]; } });
1948
1776
 
1949
1777
  class BXRestTaskMap extends BaseMapServices {
1950
1778
  TaskBXHttpToTaskBX(item) {
@@ -2131,42 +1959,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2131
1959
  }], ctorParameters: function () { return [{ type: BXRestNavvyTasksTask }]; } });
2132
1960
 
2133
1961
  class BXRestNavvyDiskFile extends BaseServices {
2134
- constructor(BXRestDiskFile) {
1962
+ constructor(BXRestDiskFile, Navvy) {
2135
1963
  super();
2136
1964
  this.BXRestDiskFile = BXRestDiskFile;
1965
+ this.Navvy = Navvy;
2137
1966
  }
2138
1967
  get(id) {
2139
- return this.BXRestDiskFile.get(id).pipe(map(v => {
2140
- if (v && v.result) {
2141
- let newResult = Object.assign(v.result, { SIZE: this.toNum(v.result.SIZE) });
2142
- return Object.assign(v, {
2143
- result: newResult
2144
- });
1968
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskFile.get(id), 'Не удалось получить файл').pipe(map(v => {
1969
+ if (v) {
1970
+ return Object.assign(v, { SIZE: this.toNum(v.SIZE) });
2145
1971
  }
2146
1972
  return undefined;
2147
1973
  }));
2148
1974
  }
2149
1975
  markDel(id) {
2150
- return this.BXRestDiskFile.markDel(id)
1976
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskFile.markDel(id), 'Не удалось переместить файл в корзину')
2151
1977
  .pipe(map(v => {
2152
- if (v && v.result) {
2153
- let newResult = Object.assign(v.result, { SIZE: this.toNum(v.result.SIZE) });
2154
- return Object.assign(v, {
2155
- result: newResult
2156
- });
1978
+ if (v) {
1979
+ return Object.assign(v, { SIZE: this.toNum(v.SIZE) });
2157
1980
  }
2158
1981
  return undefined;
2159
1982
  }));
2160
1983
  }
2161
1984
  }
2162
- BXRestNavvyDiskFile.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, deps: [{ token: BXRestDiskFile }], target: i0.ɵɵFactoryTarget.Injectable });
1985
+ 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 });
2163
1986
  BXRestNavvyDiskFile.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, providedIn: 'root' });
2164
1987
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskFile, decorators: [{
2165
1988
  type: Injectable,
2166
1989
  args: [{
2167
1990
  providedIn: 'root'
2168
1991
  }]
2169
- }], ctorParameters: function () { return [{ type: BXRestDiskFile }]; } });
1992
+ }], ctorParameters: function () { return [{ type: BXRestDiskFile }, { type: Navvy }]; } });
2170
1993
 
2171
1994
  class BXRestMapDiskBase extends BaseMapServices {
2172
1995
  separationFoldersAndFiles(arr) {
@@ -2237,11 +2060,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2237
2060
  }] });
2238
2061
 
2239
2062
  class BXRestDiskNavvyFolder {
2240
- constructor(BXRestDiskFolder, BXRestMapDiskFolder
2241
- // private diskFileBaseMap: diskFileBaseMapServices
2242
- ) {
2063
+ constructor(BXRestDiskFolder, BXRestMapDiskFolder, Navvy) {
2243
2064
  this.BXRestDiskFolder = BXRestDiskFolder;
2244
2065
  this.BXRestMapDiskFolder = BXRestMapDiskFolder;
2066
+ this.Navvy = Navvy;
2245
2067
  }
2246
2068
  // uploadfile(id: number, fileContent: string[]) {
2247
2069
  // return this.httpPost(
@@ -2258,22 +2080,22 @@ class BXRestDiskNavvyFolder {
2258
2080
  // )
2259
2081
  // }
2260
2082
  getchildren(id) {
2261
- return this.BXRestDiskFolder.getchildren(id).pipe(map(v => {
2262
- if (v && v.result) {
2263
- return this.BXRestMapDiskFolder.getContent(BXRestMapResult(v));
2083
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskFolder.getchildren(id), 'get folders and files').pipe(map(v => {
2084
+ if (v) {
2085
+ return this.BXRestMapDiskFolder.getContent(v);
2264
2086
  }
2265
2087
  return { file: [], folder: [] };
2266
2088
  }));
2267
2089
  }
2268
2090
  }
2269
- 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 });
2091
+ 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 });
2270
2092
  BXRestDiskNavvyFolder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, providedIn: 'root' });
2271
2093
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestDiskNavvyFolder, decorators: [{
2272
2094
  type: Injectable,
2273
2095
  args: [{
2274
2096
  providedIn: 'root'
2275
2097
  }]
2276
- }], ctorParameters: function () { return [{ type: BXRestDiskFolder }, { type: BXRestMapDiskFolder }]; } });
2098
+ }], ctorParameters: function () { return [{ type: BXRestDiskFolder }, { type: BXRestMapDiskFolder }, { type: Navvy }]; } });
2277
2099
 
2278
2100
  class BXRestMapDiskStorage extends BXRestMapDiskBase {
2279
2101
  getchildren(arr) {
@@ -2308,11 +2130,11 @@ class BXRestDiskStorage {
2308
2130
  };
2309
2131
  }
2310
2132
  getforapp() {
2311
- return this.http.post(this.url.getforapp, {}, 'get root app folder');
2133
+ return this.http.post(this.url.getforapp, {});
2312
2134
  }
2313
2135
  // TODO: разобраться с фильтром
2314
2136
  getchildren(param) {
2315
- return this.http.post(this.url.getchildren, param, 'get root app folders and files');
2137
+ return this.http.post(this.url.getchildren, param);
2316
2138
  }
2317
2139
  // TODO: разобраться что возвращает и что вставлять
2318
2140
  addfolder(param) {
@@ -2333,29 +2155,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2333
2155
 
2334
2156
  class BXRestNavvyDiskStorage {
2335
2157
  // BXDiskFolder$ = new Observable<BXDiskFolderStore>()
2336
- constructor(BXRestDiskStorage, BXRestMapDiskStorage
2158
+ constructor(BXRestDiskStorage, BXRestMapDiskStorage, Navvy, SessionStorage
2337
2159
  // private store: Store<{ BXDiskFolder: BXDiskFolderStore }>,
2338
2160
  ) {
2339
2161
  this.BXRestDiskStorage = BXRestDiskStorage;
2340
2162
  this.BXRestMapDiskStorage = BXRestMapDiskStorage;
2163
+ this.Navvy = Navvy;
2164
+ this.SessionStorage = SessionStorage;
2341
2165
  // this.BXDiskFolder$ = this.store.select('BXDiskFolder')
2342
2166
  }
2343
2167
  getforapp() {
2344
- // return this.BXDiskFolder$.pipe(
2345
- // take(1),
2346
- // mergeMap(
2347
- // saveData => {
2348
- // if (saveData.folder.app) {
2349
- // return of(saveData.folder.app)
2350
- // }
2351
- return this.BXRestDiskStorage.getforapp().pipe(map(v => BXRestMapResult(v)));
2352
- // }
2353
- // )
2354
- // )
2168
+ let res = this.SessionStorage.getItem(this.constructor.name + this.getforapp.name);
2169
+ if (res) {
2170
+ return of(res);
2171
+ }
2172
+ else {
2173
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskStorage.getforapp(), 'get root app folder').pipe(tap(v => {
2174
+ if (v) {
2175
+ this.SessionStorage.setItem(this.constructor.name + this.getforapp.name, v);
2176
+ }
2177
+ }));
2178
+ }
2355
2179
  }
2356
2180
  // TODO: разобраться с фильтром позже
2357
2181
  getchildren(param) {
2358
- return this.BXRestDiskStorage.getchildren(param).pipe(map(v => BXRestMapResult(v)), map(v => {
2182
+ return this.Navvy.mapAndSnackBarError(this.BXRestDiskStorage.getchildren(param), 'get root app folders and files').pipe(map(v => {
2359
2183
  if (v && v.length) {
2360
2184
  return this.BXRestMapDiskStorage.getchildren(v);
2361
2185
  }
@@ -2370,14 +2194,14 @@ class BXRestNavvyDiskStorage {
2370
2194
  return this.BXRestDiskStorage.uploadfile(param);
2371
2195
  }
2372
2196
  }
2373
- 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 });
2197
+ 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 });
2374
2198
  BXRestNavvyDiskStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskStorage, providedIn: 'root' });
2375
2199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyDiskStorage, decorators: [{
2376
2200
  type: Injectable,
2377
2201
  args: [{
2378
2202
  providedIn: 'root'
2379
2203
  }]
2380
- }], ctorParameters: function () { return [{ type: BXRestDiskStorage }, { type: BXRestMapDiskStorage }]; } });
2204
+ }], ctorParameters: function () { return [{ type: BXRestDiskStorage }, { type: BXRestMapDiskStorage }, { type: Navvy }, { type: SessionStorageServices }]; } });
2381
2205
 
2382
2206
  class BXRestNavvyDiskOperation {
2383
2207
  constructor(folder, disk, storage) {