UNPKG

ngx-pesapal

Version:

Angular schematics lib for abstracting Pesapal APIs

45 lines 6.15 kB
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==