@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
43 lines • 7.35 kB
JavaScript
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==