@smartbit4all/ng-client 3.3.215 → 3.3.217
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.
- package/esm2020/lib/session/api/api/session.service.mjs +1 -1
- package/esm2020/lib/session/api/encoder.mjs +1 -1
- package/esm2020/lib/session/api/model/accountInfo.mjs +1 -1
- package/esm2020/lib/session/api/model/apiError.mjs +1 -1
- package/esm2020/lib/session/api/model/authenticationProviderData.mjs +1 -1
- package/esm2020/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
- package/esm2020/lib/session/api/model/models.mjs +1 -1
- package/esm2020/lib/session/api/model/refreshSessionRequest.mjs +1 -1
- package/esm2020/lib/session/api/model/session.mjs +1 -1
- package/esm2020/lib/session/api/model/userActivityLog.mjs +1 -1
- package/esm2020/lib/session/api/param.mjs +1 -1
- package/esm2020/lib/session/api/variables.mjs +1 -1
- package/esm2020/lib/session/smart-error-catching.interceptor.mjs +51 -27
- package/esm2020/lib/session/smart-session.service.mjs +31 -26
- package/esm2020/lib/smart-component-layout/api/api/api.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/api/default.service.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/api.module.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/configuration.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/encoder.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/index.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/model/componentType.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/model/layoutDirection.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/model/models.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/param.mjs +1 -1
- package/esm2020/lib/smart-component-layout/api/variables.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/configuration.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/encoder.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/param.mjs +1 -1
- package/esm2020/lib/smart-filter-editor/api/variables.mjs +1 -1
- package/esm2020/lib/smart-form/api/api/api.mjs +1 -1
- package/esm2020/lib/smart-form/api/api/default.service.mjs +1 -1
- package/esm2020/lib/smart-form/api/api.module.mjs +1 -1
- package/esm2020/lib/smart-form/api/configuration.mjs +1 -1
- package/esm2020/lib/smart-form/api/encoder.mjs +1 -1
- package/esm2020/lib/smart-form/api/index.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/propertyMapping.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartFormWidgetDirection.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartFormWidgetType.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/smartWidgetHint.mjs +1 -1
- package/esm2020/lib/smart-form/api/model/valueChangeMode.mjs +1 -1
- package/esm2020/lib/smart-form/api/param.mjs +1 -1
- package/esm2020/lib/smart-form/api/variables.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/index.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/param.mjs +1 -1
- package/esm2020/lib/smart-grid/api/grid-api/variables.mjs +1 -1
- package/esm2020/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
- package/esm2020/lib/smart-tree/tree-api/configuration.mjs +1 -1
- package/esm2020/lib/smart-tree/tree-api/encoder.mjs +1 -1
- package/esm2020/lib/smart-tree/tree-api/param.mjs +1 -1
- package/esm2020/lib/smart-tree/tree-api/variables.mjs +1 -1
- package/esm2020/lib/view-context/api/api/api.mjs +1 -1
- package/esm2020/lib/view-context/api/api/view.service.mjs +1 -1
- package/esm2020/lib/view-context/api/api.module.mjs +1 -1
- package/esm2020/lib/view-context/api/configuration.mjs +1 -1
- package/esm2020/lib/view-context/api/encoder.mjs +1 -1
- package/esm2020/lib/view-context/api/index.mjs +1 -1
- package/esm2020/lib/view-context/api/model/closeResult.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentModel.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentModelChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChangeEvent.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChangeKind.mjs +1 -1
- package/esm2020/lib/view-context/api/model/downloadedFile.mjs +1 -1
- package/esm2020/lib/view-context/api/model/iconPosition.mjs +1 -1
- package/esm2020/lib/view-context/api/model/imageResource.mjs +1 -1
- package/esm2020/lib/view-context/api/model/link.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageOption.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageOptionType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageResult.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageTextType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/openPendingData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/serverRequestExecutionStat.mjs +1 -1
- package/esm2020/lib/view-context/api/model/serverRequestTrack.mjs +1 -1
- package/esm2020/lib/view-context/api/model/serverRequestType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/statisticRecord.mjs +1 -1
- package/esm2020/lib/view-context/api/model/style.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionButtonType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionDialogDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionFeedbackType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionInputType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionRequest.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionTooltip.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/valueSet.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewApiError.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContextChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewState.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewStateUpdate.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewType.mjs +1 -1
- package/esm2020/lib/view-context/api/param.mjs +1 -1
- package/esm2020/lib/view-context/api/variables.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api/api.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api/value.service.mjs +1 -1
- package/esm2020/lib/view-context/value-api/api.module.mjs +1 -1
- package/esm2020/lib/view-context/value-api/configuration.mjs +1 -1
- package/esm2020/lib/view-context/value-api/encoder.mjs +1 -1
- package/esm2020/lib/view-context/value-api/index.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/genericValue.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/models.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/value.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
- package/esm2020/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
- package/esm2020/lib/view-context/value-api/param.mjs +1 -1
- package/esm2020/lib/view-context/value-api/variables.mjs +1 -1
- package/fesm2015/smartbit4all-ng-client.mjs +76 -48
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +76 -48
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/smart-error-catching.interceptor.d.ts +8 -4
- package/lib/session/smart-session.service.d.ts +2 -0
- package/package.json +1 -1
- package/smartbit4all-ng-client-3.3.217.tgz +0 -0
- package/src/lib/session/api/README.md +226 -226
- package/src/lib/smart-component-layout/api/README.md +226 -226
- package/src/lib/smart-filter-editor/api/README.md +226 -226
- package/src/lib/smart-form/api/README.md +226 -226
- package/src/lib/smart-grid/api/grid-api/README.md +226 -226
- package/src/lib/smart-tree/tree-api/README.md +226 -226
- package/src/lib/view-context/api/README.md +226 -226
- package/src/lib/view-context/value-api/README.md +226 -226
- package/smartbit4all-ng-client-3.3.215.tgz +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Injectable, Optional, Inject, PLATFORM_ID, NgModule, SkipSelf, Component, RendererStyleFlags2, Input, Directive, HostBinding, HostListener, ViewChild, forwardRef, EventEmitter, Output, Pipe, ViewContainerRef, ViewEncapsulation, ChangeDetectionStrategy, ViewChildren, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import { Subject, takeUntil, startWith, map, distinctUntilChanged, catchError, throwError, from, lastValueFrom } from 'rxjs';
|
|
4
3
|
import * as i1 from '@angular/common/http';
|
|
5
|
-
import { HttpHeaders, HttpContext, HttpParams, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
4
|
+
import { HttpHeaders, HttpContext, HttpErrorResponse, HttpParams, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
5
|
+
import { Subject, lastValueFrom, takeUntil, startWith, map, distinctUntilChanged, catchError, throwError, from } from 'rxjs';
|
|
6
6
|
import * as i3 from '@angular/common';
|
|
7
7
|
import { isPlatformBrowser, DOCUMENT, DatePipe, CommonModule } from '@angular/common';
|
|
8
8
|
import * as i2 from '@angular/material/button';
|
|
@@ -829,7 +829,7 @@ class SmartSessionService {
|
|
|
829
829
|
}
|
|
830
830
|
async handleSessionError(sessionError) {
|
|
831
831
|
if (this.sessionHandlerService) {
|
|
832
|
-
await this.sessionHandlerService.handleSessionError(sessionError);
|
|
832
|
+
return await this.sessionHandlerService.handleSessionError(sessionError);
|
|
833
833
|
}
|
|
834
834
|
throw new Error(`sessionHandlerService was not initialized. Error: ${sessionError.code}`);
|
|
835
835
|
}
|
|
@@ -924,11 +924,7 @@ class SmartSessionService {
|
|
|
924
924
|
async startSession() {
|
|
925
925
|
let sessionInfo = await this.apiService.startSession().toPromise();
|
|
926
926
|
if (sessionInfo) {
|
|
927
|
-
this.
|
|
928
|
-
this.token = sessionInfo.sid;
|
|
929
|
-
this.saveTokenToLocalStorage();
|
|
930
|
-
this.setAuthenticationStatus();
|
|
931
|
-
this.setUpTokenForSessionService();
|
|
927
|
+
this.updateSessionInfo(sessionInfo);
|
|
932
928
|
}
|
|
933
929
|
return this.sessionInfoData;
|
|
934
930
|
}
|
|
@@ -947,26 +943,34 @@ class SmartSessionService {
|
|
|
947
943
|
if (!refreshToken) {
|
|
948
944
|
return await this.startSession();
|
|
949
945
|
}
|
|
950
|
-
|
|
951
|
-
.refreshSession({
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
.catch(async (error) => {
|
|
956
|
-
if (error.error &&
|
|
957
|
-
error.error.code &&
|
|
958
|
-
error.error.code === 'session.refreshtoken.invalid') {
|
|
959
|
-
await this.startSession();
|
|
946
|
+
try {
|
|
947
|
+
const sessionInfo = await lastValueFrom(this.apiService.refreshSession({ refreshToken }));
|
|
948
|
+
if (sessionInfo) {
|
|
949
|
+
this.updateSessionInfo(sessionInfo);
|
|
950
|
+
return sessionInfo;
|
|
960
951
|
}
|
|
961
|
-
});
|
|
962
|
-
if (sessionInfo) {
|
|
963
|
-
this.sessionInfoData = sessionInfo;
|
|
964
|
-
this.token = sessionInfo.sid;
|
|
965
|
-
this.saveTokenToLocalStorage();
|
|
966
|
-
this.setAuthenticationStatus();
|
|
967
|
-
this.setUpTokenForSessionService();
|
|
968
952
|
}
|
|
969
|
-
|
|
953
|
+
catch (error) {
|
|
954
|
+
if (this.isInvalidRefreshTokenError(error)) {
|
|
955
|
+
this.clearAndStartNewSession();
|
|
956
|
+
// still throw the error, so the error can be handled in the caller
|
|
957
|
+
}
|
|
958
|
+
throw error;
|
|
959
|
+
}
|
|
960
|
+
// no sessionInfo returned
|
|
961
|
+
throw new Error('Unable to refresh session');
|
|
962
|
+
}
|
|
963
|
+
updateSessionInfo(sessionInfo) {
|
|
964
|
+
this.sessionInfoData = sessionInfo;
|
|
965
|
+
this.token = sessionInfo.sid;
|
|
966
|
+
this.saveTokenToLocalStorage();
|
|
967
|
+
this.setAuthenticationStatus();
|
|
968
|
+
this.setUpTokenForSessionService();
|
|
969
|
+
}
|
|
970
|
+
isInvalidRefreshTokenError(error) {
|
|
971
|
+
return (error instanceof HttpErrorResponse &&
|
|
972
|
+
error.error &&
|
|
973
|
+
error.error.code === 'session.refreshtoken.invalid');
|
|
970
974
|
}
|
|
971
975
|
async getAuthenticationProviders() {
|
|
972
976
|
let providers = await this.apiService
|
|
@@ -9064,52 +9068,68 @@ class SmartErrorCatchingInterceptor {
|
|
|
9064
9068
|
this.session = session;
|
|
9065
9069
|
this.sessionErrorCodes = [
|
|
9066
9070
|
{
|
|
9067
|
-
code:
|
|
9071
|
+
code: 'session.expired',
|
|
9068
9072
|
behaviour: SessionErrorBehaviour.REFRESH,
|
|
9069
9073
|
},
|
|
9070
9074
|
{
|
|
9071
|
-
code:
|
|
9075
|
+
code: 'session.refreshtoken.invalid',
|
|
9072
9076
|
behaviour: SessionErrorBehaviour.RESTART,
|
|
9073
9077
|
},
|
|
9074
9078
|
{
|
|
9075
|
-
code:
|
|
9079
|
+
code: 'session.badrequest.missingtoken',
|
|
9076
9080
|
behaviour: SessionErrorBehaviour.RESTART,
|
|
9077
9081
|
},
|
|
9078
9082
|
{
|
|
9079
|
-
code:
|
|
9083
|
+
code: 'session.security.nocontext',
|
|
9080
9084
|
behaviour: SessionErrorBehaviour.RESTART,
|
|
9081
9085
|
},
|
|
9082
9086
|
{
|
|
9083
|
-
code:
|
|
9087
|
+
code: 'session.invalidsessionuri',
|
|
9084
9088
|
behaviour: SessionErrorBehaviour.RESTART,
|
|
9085
9089
|
},
|
|
9086
9090
|
{
|
|
9087
|
-
code:
|
|
9091
|
+
code: 'session.notinitialized',
|
|
9088
9092
|
behaviour: SessionErrorBehaviour.RESTART,
|
|
9089
9093
|
},
|
|
9090
9094
|
{
|
|
9091
|
-
code:
|
|
9095
|
+
code: 'session.viewcontext.missing',
|
|
9092
9096
|
behaviour: SessionErrorBehaviour.RESTART,
|
|
9093
9097
|
},
|
|
9094
9098
|
];
|
|
9095
9099
|
}
|
|
9096
9100
|
intercept(request, next) {
|
|
9097
|
-
return next
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9105
|
-
|
|
9106
|
-
|
|
9107
|
-
return next.handle(request);
|
|
9108
|
-
}
|
|
9109
|
-
|
|
9101
|
+
return next
|
|
9102
|
+
.handle(request)
|
|
9103
|
+
.pipe(catchError$1((error) => this.handleError(error, request, next)));
|
|
9104
|
+
}
|
|
9105
|
+
handleError(error, request, next) {
|
|
9106
|
+
if (this.isSessionError(error)) {
|
|
9107
|
+
const sessionError = this.getSessionError(error);
|
|
9108
|
+
if (sessionError) {
|
|
9109
|
+
return this.resolveError(sessionError).pipe(switchMap((resolved) => {
|
|
9110
|
+
if (resolved && sessionError.behaviour === SessionErrorBehaviour.REFRESH) {
|
|
9111
|
+
return next.handle(this.updateRequestHeaders(request));
|
|
9112
|
+
}
|
|
9113
|
+
return throwError(() => error);
|
|
9114
|
+
}), catchError$1((resolveError) => {
|
|
9115
|
+
// when the resolveError throws a restart error (in the refreshSession), rethrow the original error
|
|
9116
|
+
if (this.isSessionError(resolveError)) {
|
|
9117
|
+
const resolveSessionError = this.getSessionError(resolveError);
|
|
9118
|
+
if (resolveSessionError?.behaviour === SessionErrorBehaviour.RESTART) {
|
|
9119
|
+
return throwError(() => error);
|
|
9120
|
+
}
|
|
9121
|
+
}
|
|
9122
|
+
return throwError(() => resolveError);
|
|
9123
|
+
}));
|
|
9110
9124
|
}
|
|
9111
|
-
|
|
9112
|
-
|
|
9125
|
+
}
|
|
9126
|
+
return throwError(() => error);
|
|
9127
|
+
}
|
|
9128
|
+
isSessionError(error) {
|
|
9129
|
+
return error.status === 400 && error.error.code != null;
|
|
9130
|
+
}
|
|
9131
|
+
getSessionError(error) {
|
|
9132
|
+
return this.sessionErrorCodes.find((sessionError) => sessionError.code === error.error.code);
|
|
9113
9133
|
}
|
|
9114
9134
|
resolveError(sessionError) {
|
|
9115
9135
|
if (sessionError.behaviour === SessionErrorBehaviour.RESTART) {
|
|
@@ -9117,6 +9137,14 @@ class SmartErrorCatchingInterceptor {
|
|
|
9117
9137
|
}
|
|
9118
9138
|
return from(this.session.refreshSession());
|
|
9119
9139
|
}
|
|
9140
|
+
updateRequestHeaders(request) {
|
|
9141
|
+
this.session.headerParams.forEach((headerParam) => {
|
|
9142
|
+
request = request.clone({
|
|
9143
|
+
headers: request.headers.set(headerParam.headerName, headerParam.value),
|
|
9144
|
+
});
|
|
9145
|
+
});
|
|
9146
|
+
return request;
|
|
9147
|
+
}
|
|
9120
9148
|
}
|
|
9121
9149
|
SmartErrorCatchingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor, deps: [{ token: SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
9122
9150
|
SmartErrorCatchingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartErrorCatchingInterceptor });
|