UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

43 lines 7.35 kB
import { Injectable } from '@angular/core'; import { AuthenticationMethodService } from "../../authentication-method.service"; import { throwError } from "rxjs"; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; import * as i2 from "../../../../configuration/configuration.service"; export class BasicWithRealmAuthenticationService extends AuthenticationMethodService { _http; _config; constructor(_http, _config) { super(); this._http = _http; this._config = _config; } login(credentials = { username: '', password: '' }) { const url = this._config.get().providers.auth.address + this._config.get().providers.auth.endpoints['login']; if (!url) { return throwError(new Error('Login URL is not defined in the config [nae.providers.auth.endpoints.login]')); } if (!credentials.username || !credentials.password) { return throwError(new Error('User\'s credentials are not defined!')); } credentials.username = credentials.username.trim(); credentials.password = credentials.password.trim(); if (credentials.username === '' || credentials.password === '') { return throwError(new Error('User\'s credentials are empty!')); } return this._http.post(url, credentials); } logout() { const url = this._config.get().providers.auth.address + this._config.get().providers.auth.endpoints['logout']; if (!url) { return throwError(new Error('Logout URL is not defined in the config [nae.providers.auth.endpoints.logout]')); } return this._http.post(url, {}); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicWithRealmAuthenticationService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicWithRealmAuthenticationService }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicWithRealmAuthenticationService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigurationService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtd2l0aC1yZWFsbS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9hdXRoZW50aWNhdGlvbi9zZXJ2aWNlcy9tZXRob2RzL2Jhc2ljLWF1dGhlbnRpY2F0aW9uL2Jhc2ljLXdpdGgtcmVhbG0tYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRWhGLE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7QUFLNUMsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDJCQUEyQjtJQUU1RDtJQUEyQjtJQUEvQyxZQUFvQixLQUFpQixFQUFVLE9BQTZCO1FBQ3hFLEtBQUssRUFBRSxDQUFDO1FBRFEsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBRTVFLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBMkIsRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7UUFDekQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDTixPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDLENBQUM7U0FDL0c7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDaEQsT0FBTyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsV0FBVyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25ELFdBQVcsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFO1lBQzVELE9BQU8sVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQWUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxNQUFNO1FBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDTixPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQywrRUFBK0UsQ0FBQyxDQUFDLENBQUM7U0FDakg7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQTVCUSxtQ0FBbUM7NEdBQW5DLG1DQUFtQzs7NEZBQW5DLG1DQUFtQztrQkFEL0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHtBdXRoZW50aWNhdGlvbk1ldGhvZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9hdXRoZW50aWNhdGlvbi1tZXRob2Quc2VydmljZVwiO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZSwgdGhyb3dFcnJvcn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7VXNlclJlc291cmNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS91c2VyLXJlc291cmNlXCI7XG5pbXBvcnQge0NyZWRlbnRpYWxzfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2NyZWRlbnRpYWxzXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNpY1dpdGhSZWFsbUF1dGhlbnRpY2F0aW9uU2VydmljZSBleHRlbmRzIEF1dGhlbnRpY2F0aW9uTWV0aG9kU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIF9jb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbG9naW4oY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0ge3VzZXJuYW1lOiAnJywgcGFzc3dvcmQ6ICcnfSk6IE9ic2VydmFibGU8VXNlclJlc291cmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuX2NvbmZpZy5nZXQoKS5wcm92aWRlcnMuYXV0aC5hZGRyZXNzICsgdGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoLmVuZHBvaW50c1snbG9naW4nXTtcbiAgICAgICAgaWYgKCF1cmwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcignTG9naW4gVVJMIGlzIG5vdCBkZWZpbmVkIGluIHRoZSBjb25maWcgW25hZS5wcm92aWRlcnMuYXV0aC5lbmRwb2ludHMubG9naW5dJykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY3JlZGVudGlhbHMudXNlcm5hbWUgfHwgIWNyZWRlbnRpYWxzLnBhc3N3b3JkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ1VzZXJcXCdzIGNyZWRlbnRpYWxzIGFyZSBub3QgZGVmaW5lZCEnKSk7XG4gICAgICAgIH1cbiAgICAgICAgY3JlZGVudGlhbHMudXNlcm5hbWUgPSBjcmVkZW50aWFscy51c2VybmFtZS50cmltKCk7XG4gICAgICAgIGNyZWRlbnRpYWxzLnBhc3N3b3JkID0gY3JlZGVudGlhbHMucGFzc3dvcmQudHJpbSgpO1xuICAgICAgICBpZiAoY3JlZGVudGlhbHMudXNlcm5hbWUgPT09ICcnIHx8IGNyZWRlbnRpYWxzLnBhc3N3b3JkID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdVc2VyXFwncyBjcmVkZW50aWFscyBhcmUgZW1wdHkhJykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8VXNlclJlc291cmNlPih1cmwsIGNyZWRlbnRpYWxzKTtcbiAgICB9XG5cbiAgICBsb2dvdXQoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoLmFkZHJlc3MgKyB0aGlzLl9jb25maWcuZ2V0KCkucHJvdmlkZXJzLmF1dGguZW5kcG9pbnRzWydsb2dvdXQnXTtcbiAgICAgICAgaWYgKCF1cmwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcignTG9nb3V0IFVSTCBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlnIFtuYWUucHJvdmlkZXJzLmF1dGguZW5kcG9pbnRzLmxvZ291dF0nKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCh1cmwsIHt9KTtcbiAgICB9XG5cbn1cbiJdfQ==