ngx-pesapal
Version:
Angular schematics lib for abstracting Pesapal APIs
45 lines • 6.15 kB
JavaScript
import { HttpClient } from '@angular/common/http';
import { Inject, Injectable, inject } from '@angular/core';
import { catchError, map } from 'rxjs';
import { baseURL } from '../types';
import { StoreService } from './store.service';
import { PESAPAL_CONFIGS } from '../configs';
import * as i0 from "@angular/core";
export class TokenService {
constructor(credentials) {
this.credentials = credentials;
this.store = inject(StoreService);
this.http = inject(HttpClient);
}
/**
* Initiates the process to authenticate keys by requesting an authentication token.
* It sends a POST request to the server to obtain an authentication token based on provided consumer key and secret.
* Upon successful authentication, the received token is stored in session storage and in the authenticationResponseBs BehaviorSubject for further usage.
*
* @returns An Observable containing the received authentication token as ITokenResponse
* @private
*/
AuthenticateKeys() {
const { consumer_key, consumer_secret } = this.credentials;
return this.http.post(`
${baseURL}/api/Auth/RequestToken`, { consumer_key, consumer_secret }).pipe(catchError((e) => {
throw new Error(JSON.stringify(e));
}), map((res) => {
sessionStorage.setItem('12111997', res.token);
this.store.authenticationResponseBs.next(res);
return res;
}));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TokenService, deps: [{ token: PESAPAL_CONFIGS }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TokenService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: TokenService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: undefined, decorators: [{
type: Inject,
args: [PESAPAL_CONFIGS]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Blc2FwYWwvc3JjL2xpYi9zZXJ2aWNlcy90b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUF5QixPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQ21DLFdBQWtCO1FBQWxCLGdCQUFXLEdBQVgsV0FBVyxDQUFPO1FBSjdDLFVBQUssR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzFDLFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFJM0MsQ0FBQztJQUVIOzs7Ozs7O0tBT0M7SUFDTSxnQkFBZ0I7UUFDckIsTUFBTSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFBO1FBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWlCO1FBQ2xDLE9BQU8sd0JBQXdCLEVBQ2pDLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBb0IsQ0FDcEQsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDcEMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsR0FBbUIsRUFBRSxFQUFFO1lBQzFCLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUM3QyxPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOzhHQWhDVSxZQUFZLGtCQU1iLGVBQWU7a0hBTmQsWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJS2V5cywgSVRva2VuUmVzcG9uc2UsIGJhc2VVUkwgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUEVTQVBBTF9DT05GSUdTIH0gZnJvbSAnLi4vY29uZmlncyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5TZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0b3JlOiBTdG9yZVNlcnZpY2UgPSBpbmplY3QoU3RvcmVTZXJ2aWNlKVxuICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFBFU0FQQUxfQ09ORklHUykgcHJpdmF0ZSBjcmVkZW50aWFsczogSUtleXNcbiAgKXt9XG5cbiAgLyoqXG4gKiBJbml0aWF0ZXMgdGhlIHByb2Nlc3MgdG8gYXV0aGVudGljYXRlIGtleXMgYnkgcmVxdWVzdGluZyBhbiBhdXRoZW50aWNhdGlvbiB0b2tlbi5cbiAqIEl0IHNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIHRoZSBzZXJ2ZXIgdG8gb2J0YWluIGFuIGF1dGhlbnRpY2F0aW9uIHRva2VuIGJhc2VkIG9uIHByb3ZpZGVkIGNvbnN1bWVyIGtleSBhbmQgc2VjcmV0LlxuICogVXBvbiBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLCB0aGUgcmVjZWl2ZWQgdG9rZW4gaXMgc3RvcmVkIGluIHNlc3Npb24gc3RvcmFnZSBhbmQgaW4gdGhlIGF1dGhlbnRpY2F0aW9uUmVzcG9uc2VCcyBCZWhhdmlvclN1YmplY3QgZm9yIGZ1cnRoZXIgdXNhZ2UuXG4gKlxuICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSByZWNlaXZlZCBhdXRoZW50aWNhdGlvbiB0b2tlbiBhcyBJVG9rZW5SZXNwb25zZVxuICogQHByaXZhdGVcbiAqL1xuICBwdWJsaWMgQXV0aGVudGljYXRlS2V5cygpOiBPYnNlcnZhYmxlPElUb2tlblJlc3BvbnNlPiB7XG4gICAgY29uc3QgeyBjb25zdW1lcl9rZXksIGNvbnN1bWVyX3NlY3JldCB9ID0gdGhpcy5jcmVkZW50aWFsc1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJVG9rZW5SZXNwb25zZT4oYFxuICAgICAgJHtiYXNlVVJMfS9hcGkvQXV0aC9SZXF1ZXN0VG9rZW5gLFxuICAgICAgeyBjb25zdW1lcl9rZXksIGNvbnN1bWVyX3NlY3JldCB9IGFzIFBhcnRpYWw8SUtleXM+XG4gICAgKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoZTogYW55KSA9PiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShlKSlcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXM6IElUb2tlblJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJzEyMTExOTk3JywgcmVzLnRva2VuKVxuICAgICAgICB0aGlzLnN0b3JlLmF1dGhlbnRpY2F0aW9uUmVzcG9uc2VCcy5uZXh0KHJlcylcbiAgICAgICAgcmV0dXJuIHJlc1xuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiJdfQ==