@koalarx/ui 20.1.9 → 20.1.10
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/fesm2022/koalarx-ui.mjs
CHANGED
|
@@ -90,9 +90,10 @@ function provideKoala(config) {
|
|
|
90
90
|
},
|
|
91
91
|
];
|
|
92
92
|
if (config?.authConfig) {
|
|
93
|
+
const interceptor = config.authorizationInterceptor || AuthorizationInterceptor;
|
|
93
94
|
providers.push({
|
|
94
95
|
provide: HTTP_INTERCEPTORS,
|
|
95
|
-
useClass:
|
|
96
|
+
useClass: interceptor,
|
|
96
97
|
multi: true,
|
|
97
98
|
});
|
|
98
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui.mjs","sources":["../../projects/koala-ui/core/interceptors/authorization-interceptor.ts","../../projects/koala-ui/core/interceptors/feedback-request-interceptor.ts","../../projects/koala-ui/core/koala-provider.ts","../../projects/koala-ui/koalarx-ui.ts"],"sourcesContent":["import {\n HttpInterceptor as AngularHttpInterceptor,\n HttpEvent,\n HttpHandler,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { Authorization } from '@koalarx/ui/shared/services';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { switchMap } from 'rxjs/internal/operators/switchMap';\n\n@Injectable()\nexport class AuthorizationInterceptor implements AngularHttpInterceptor {\n private readonly authorization = inject(Authorization);\n private readonly authConfig = inject(AppConfig).authConfig;\n\n private setAuthorization(request: HttpRequest<any>) {\n if (this.authorization.hasToken()) {\n return request.clone({\n headers: request.headers.set(\n 'Authorization',\n `Bearer ${\n request.url === this.authConfig?.refreshToken?.url\n ? this.authorization.refreshToken\n : this.authorization.accessToken\n }`\n ),\n });\n }\n\n return request.clone();\n }\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (\n this.authorization.hasToken() &&\n this.authorization.isExpired() &&\n !this.authConfig?.refreshToken?.url\n ) {\n return this.authorization\n .updateToken()\n .pipe(switchMap(() => next.handle(this.setAuthorization(request))));\n }\n\n return next.handle(this.setAuthorization(request));\n }\n}\n","import {\n HttpInterceptor as AngularHttpInterceptor,\n HttpEvent,\n HttpHandler,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { HttpErrorFeedbackAlert } from '@koalarx/ui/shared/utils';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { tap } from 'rxjs/internal/operators/tap';\n\n@Injectable()\nexport class FeedbackRequestInterceptor implements AngularHttpInterceptor {\n private readonly httpError = inject(HttpErrorFeedbackAlert);\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n return next.handle(request.clone()).pipe(\n tap({\n error: (error) => this.httpError.tapError(error),\n })\n );\n }\n}\n","import {\n HTTP_INTERCEPTORS,\n HttpClient,\n HttpInterceptor,\n provideHttpClient,\n withInterceptorsFromDi,\n} from '@angular/common/http';\nimport { Provider, Type } from '@angular/core';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { HttpClientErrorsMiddleware } from '@koalarx/ui/core/middlewares';\nimport { AuthConfig } from '@koalarx/ui/core/models';\nimport {\n getTranslationByLanguage,\n KoalaLanguage,\n} from '@koalarx/ui/core/translations';\nimport { MARKED_OPTIONS, provideMarkdown } from 'ngx-markdown';\nimport { NgxMaskConfig, provideEnvironmentNgxMask } from 'ngx-mask';\nimport { AuthorizationInterceptor } from './interceptors/authorization-interceptor';\nimport { FeedbackRequestInterceptor } from './interceptors/feedback-request-interceptor';\n\nconst maskOptions: Partial<NgxMaskConfig> = {\n validation: false,\n thousandSeparator: '.',\n};\n\ninterface KoalaSettings {\n hostApi?: string;\n language?: KoalaLanguage;\n httpClientErrorsMiddleware?: HttpClientErrorsMiddleware;\n authConfig?: AuthConfig;\n authorizationInterceptor?: Type<HttpInterceptor>;\n}\n\nexport function provideKoala(config?: KoalaSettings): Provider {\n const appConfig = new AppConfig();\n\n appConfig.language = config?.language ?? 'en';\n appConfig.translation = getTranslationByLanguage(config?.language ?? 'en');\n appConfig.hostApi = config?.hostApi;\n appConfig.httpClientErrorsMiddleware = config?.httpClientErrorsMiddleware;\n appConfig.authConfig = config?.authConfig;\n\n const providers: Provider = [\n provideEnvironmentNgxMask(maskOptions),\n provideHttpClient(withInterceptorsFromDi()),\n provideMarkdown({\n loader: HttpClient,\n markedOptions: {\n provide: MARKED_OPTIONS,\n useValue: {\n gfm: true,\n breaks: true,\n pedantic: false,\n },\n },\n }),\n {\n provide: HTTP_INTERCEPTORS,\n useClass: FeedbackRequestInterceptor,\n multi: true,\n },\n {\n provide: AppConfig,\n useValue: appConfig,\n },\n ];\n\n if (config?.authConfig) {\n providers.push({\n provide: HTTP_INTERCEPTORS,\n useClass:
|
|
1
|
+
{"version":3,"file":"koalarx-ui.mjs","sources":["../../projects/koala-ui/core/interceptors/authorization-interceptor.ts","../../projects/koala-ui/core/interceptors/feedback-request-interceptor.ts","../../projects/koala-ui/core/koala-provider.ts","../../projects/koala-ui/koalarx-ui.ts"],"sourcesContent":["import {\n HttpInterceptor as AngularHttpInterceptor,\n HttpEvent,\n HttpHandler,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { Authorization } from '@koalarx/ui/shared/services';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { switchMap } from 'rxjs/internal/operators/switchMap';\n\n@Injectable()\nexport class AuthorizationInterceptor implements AngularHttpInterceptor {\n private readonly authorization = inject(Authorization);\n private readonly authConfig = inject(AppConfig).authConfig;\n\n private setAuthorization(request: HttpRequest<any>) {\n if (this.authorization.hasToken()) {\n return request.clone({\n headers: request.headers.set(\n 'Authorization',\n `Bearer ${\n request.url === this.authConfig?.refreshToken?.url\n ? this.authorization.refreshToken\n : this.authorization.accessToken\n }`\n ),\n });\n }\n\n return request.clone();\n }\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (\n this.authorization.hasToken() &&\n this.authorization.isExpired() &&\n !this.authConfig?.refreshToken?.url\n ) {\n return this.authorization\n .updateToken()\n .pipe(switchMap(() => next.handle(this.setAuthorization(request))));\n }\n\n return next.handle(this.setAuthorization(request));\n }\n}\n","import {\n HttpInterceptor as AngularHttpInterceptor,\n HttpEvent,\n HttpHandler,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { HttpErrorFeedbackAlert } from '@koalarx/ui/shared/utils';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { tap } from 'rxjs/internal/operators/tap';\n\n@Injectable()\nexport class FeedbackRequestInterceptor implements AngularHttpInterceptor {\n private readonly httpError = inject(HttpErrorFeedbackAlert);\n\n intercept(\n request: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n return next.handle(request.clone()).pipe(\n tap({\n error: (error) => this.httpError.tapError(error),\n })\n );\n }\n}\n","import {\n HTTP_INTERCEPTORS,\n HttpClient,\n HttpInterceptor,\n provideHttpClient,\n withInterceptorsFromDi,\n} from '@angular/common/http';\nimport { Provider, Type } from '@angular/core';\nimport { AppConfig } from '@koalarx/ui/core/config';\nimport { HttpClientErrorsMiddleware } from '@koalarx/ui/core/middlewares';\nimport { AuthConfig } from '@koalarx/ui/core/models';\nimport {\n getTranslationByLanguage,\n KoalaLanguage,\n} from '@koalarx/ui/core/translations';\nimport { MARKED_OPTIONS, provideMarkdown } from 'ngx-markdown';\nimport { NgxMaskConfig, provideEnvironmentNgxMask } from 'ngx-mask';\nimport { AuthorizationInterceptor } from './interceptors/authorization-interceptor';\nimport { FeedbackRequestInterceptor } from './interceptors/feedback-request-interceptor';\n\nconst maskOptions: Partial<NgxMaskConfig> = {\n validation: false,\n thousandSeparator: '.',\n};\n\ninterface KoalaSettings {\n hostApi?: string;\n language?: KoalaLanguage;\n httpClientErrorsMiddleware?: HttpClientErrorsMiddleware;\n authConfig?: AuthConfig;\n authorizationInterceptor?: Type<HttpInterceptor>;\n}\n\nexport function provideKoala(config?: KoalaSettings): Provider {\n const appConfig = new AppConfig();\n\n appConfig.language = config?.language ?? 'en';\n appConfig.translation = getTranslationByLanguage(config?.language ?? 'en');\n appConfig.hostApi = config?.hostApi;\n appConfig.httpClientErrorsMiddleware = config?.httpClientErrorsMiddleware;\n appConfig.authConfig = config?.authConfig;\n\n const providers: Provider = [\n provideEnvironmentNgxMask(maskOptions),\n provideHttpClient(withInterceptorsFromDi()),\n provideMarkdown({\n loader: HttpClient,\n markedOptions: {\n provide: MARKED_OPTIONS,\n useValue: {\n gfm: true,\n breaks: true,\n pedantic: false,\n },\n },\n }),\n {\n provide: HTTP_INTERCEPTORS,\n useClass: FeedbackRequestInterceptor,\n multi: true,\n },\n {\n provide: AppConfig,\n useValue: appConfig,\n },\n ];\n\n if (config?.authConfig) {\n const interceptor =\n config.authorizationInterceptor || AuthorizationInterceptor;\n\n providers.push({\n provide: HTTP_INTERCEPTORS,\n useClass: interceptor,\n multi: true,\n });\n }\n\n return providers;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|