http-request-manager 18.4.2 → 18.4.5

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.
Binary file
@@ -2,11 +2,11 @@ import { OnInit } from '@angular/core';
2
2
  import { FormBuilder, FormControl } from '@angular/forms';
3
3
  import { Observable } from 'rxjs';
4
4
  import { HTTPManagerService } from '../../services';
5
- import { StateRequestService } from './services/state-request.service';
5
+ import { StateRequestServiceDemo } from './services/state-request-demo.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class RequestManagerWsDemoComponent implements OnInit {
8
8
  httpManagerService: HTTPManagerService<any>;
9
- stateRequestService: StateRequestService;
9
+ stateRequestServiceDemo: StateRequestServiceDemo;
10
10
  fb: FormBuilder;
11
11
  server: string;
12
12
  wsServer: string;
@@ -1,6 +1,6 @@
1
1
  import { HTTPManagerStateService, ChannelMessage } from '../../../services';
2
2
  import * as i0 from "@angular/core";
3
- export declare class StateRequestService extends HTTPManagerStateService<any> {
3
+ export declare class StateRequestServiceDemo extends HTTPManagerStateService<any> {
4
4
  attempts$: import("rxjs").Observable<number>;
5
5
  nextRetry$: import("rxjs").Observable<number>;
6
6
  constructor();
@@ -10,6 +10,6 @@ export declare class StateRequestService extends HTTPManagerStateService<any> {
10
10
  sendMessage(data: ChannelMessage): void;
11
11
  updateData(data: any): void;
12
12
  deleteData(data: any): void;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<StateRequestService, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<StateRequestService>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<StateRequestServiceDemo, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<StateRequestServiceDemo>;
15
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "http-request-manager",
3
- "version": "18.4.2",
3
+ "version": "18.4.5",
4
4
  "homepage": "https://wavecoders.ca",
5
5
  "author": "Mike Bonifacio <wavecoders@gmail.com> (http://wavecoders@gmail.com/)",
6
6
  "description": "This is an Angular Module containing Components/Services using Material",
@@ -1,97 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { UserData } from '../models/user-data.model';
3
- import { DatabaseStorage, DataType, RetryOptions } from '../../../models';
4
- import { HTTPManagerStateService, ApiRequest, RequestOptions, RandomNumber } from '../../../services';
5
- import { OIDCClient } from '../models/oidc-client.model';
6
- import * as i0 from "@angular/core";
7
- export class StateRequestService extends HTTPManagerStateService {
8
- constructor() {
9
- super(ApiRequest.adapt({
10
- server: 'https://oidc.example.com',
11
- retry: RetryOptions.adapt({
12
- times: 3,
13
- delay: 1,
14
- }),
15
- adapter: OIDCClient.adapt,
16
- ws: {
17
- id: 'WS-MY_DATA',
18
- wsChannels: ['allChannels'],
19
- wsServer: '',
20
- jwtToken: '',
21
- access: ['read,write,delete,update'],
22
- userAdapter: {
23
- id: 'username', // matches adapter in UserData
24
- adapter: UserData.adapt,
25
- },
26
- retry: RetryOptions.adapt({
27
- times: 3,
28
- delay: 10,
29
- }),
30
- }
31
- }), DataType.ARRAY, DatabaseStorage.adapt({
32
- table: 'ws_demo_data',
33
- expiresIn: '5mn',
34
- }));
35
- this.attempts$ = this.wsRetryAttempts$;
36
- this.nextRetry$ = this.wsNextRetry$;
37
- }
38
- updateConnection(server, wsServer, jwtToken) {
39
- this.setApiRequestOptions({
40
- server,
41
- retry: RetryOptions.adapt({
42
- times: 3,
43
- delay: 1,
44
- }),
45
- adapter: OIDCClient.adapt,
46
- ws: {
47
- id: 'WS-MY_DATA',
48
- wsServer,
49
- jwtToken,
50
- userAdapter: {
51
- id: 'username', // matches adapter in UserData
52
- adapter: UserData.adapt,
53
- },
54
- retry: RetryOptions.adapt({
55
- times: 3,
56
- delay: 10,
57
- }),
58
- }
59
- });
60
- }
61
- getData() {
62
- this.fetchRecords(RequestOptions.adapt({ path: ['ai', 'tests'] }));
63
- }
64
- addData() {
65
- const num = RandomNumber(1000, 9999);
66
- const newData = {
67
- "spiffe": `sample.com/developer/${num}`,
68
- "last_name": "boni",
69
- "email": "mikeboni@hotmail.com",
70
- "first_name": "mike"
71
- };
72
- this.createRecord(newData, RequestOptions.adapt({ path: ['ai', 'tests'] }));
73
- }
74
- sendMessage(data) {
75
- console.log('sendMessage', data);
76
- this.wsMessaging(data);
77
- }
78
- updateData(data) {
79
- const sampleOptions = RequestOptions.adapt({ path: ['ai', 'tests', data.id] });
80
- console.log('updateData', sampleOptions);
81
- this.updateRecord(data, sampleOptions);
82
- }
83
- deleteData(data) {
84
- const sampleOptions = RequestOptions.adapt({ path: ['ai', 'tests', data.id] });
85
- console.log('deleteData', sampleOptions);
86
- this.deleteRecord(sampleOptions);
87
- }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StateRequestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
89
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StateRequestService, providedIn: 'root' }); }
90
- }
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StateRequestService, decorators: [{
92
- type: Injectable,
93
- args: [{
94
- providedIn: 'root'
95
- }]
96
- }], ctorParameters: () => [] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby9zZXJ2aWNlcy9zdGF0ZS1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUE0QjtJQUtuRTtRQUNFLEtBQUssQ0FDRCxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2YsTUFBTSxFQUFFLDBCQUEwQjtZQUNsQyxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDO1lBQ0YsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQ3pCLEVBQUUsRUFBRTtnQkFDRixFQUFFLEVBQUUsWUFBWTtnQkFDaEIsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUMzQixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFDcEMsV0FBVyxFQUFFO29CQUNYLEVBQUUs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LEdBQUcsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNsQyxDQUFDOytHQW5HUSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4uL21vZGVscy91c2VyLWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgRGF0YWJhc2VTdG9yYWdlLCBEYXRhVHlwZSwgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcblxuaW1wb3J0IHsgSFRUUE1hbmFnZXJTdGF0ZVNlcnZpY2UsIEFwaVJlcXVlc3QsIFJlcXVlc3RPcHRpb25zLCBSYW5kb21OdW1iZXIsIENoYW5uZWxNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT0lEQ0NsaWVudCB9IGZyb20gJy4uL21vZGVscy9vaWRjLWNsaWVudC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlUmVxdWVzdFNlcnZpY2UgZXh0ZW5kcyBIVFRQTWFuYWdlclN0YXRlU2VydmljZTxhbnk+IHtcblxuICBhdHRlbXB0cyQgPSB0aGlzLndzUmV0cnlBdHRlbXB0cyRcbiAgbmV4dFJldHJ5JCA9IHRoaXMud3NOZXh0UmV0cnkkXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXG4gICAgICAgIEFwaVJlcXVlc3QuYWRhcHQoe1xuICAgICAgICAgIHNlcnZlcjogJ2h0dHBzOi8vb2lkYy5leGFtcGxlLmNvbScsXG4gICAgICAgICAgcmV0cnk6IFJldHJ5T3B0aW9ucy5hZGFwdCh7XG4gICAgICAgICAgICB0aW1lczogMyxcbiAgICAgICAgICAgIGRlbGF5OiAxLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFkYXB0ZXI6IE9JRENDbGllbnQuYWRhcHQsXG4gICAgICAgICAgd3M6IHtcbiAgICAgICAgICAgIGlkOiAnV1MtTVlfREFUQScsXG4gICAgICAgICAgICB3c0NoYW5uZWxzOiBbJ2FsbENoYW5uZWxzJ10sXG4gICAgICAgICAgICB3c1NlcnZlcjogJycsXG4gICAgICAgICAgICBqd3RUb2tlbjogJycsXG4gICAgICAgICAgICBhY2Nlc3M6IFsncmVhZCx3cml0ZSxkZWxldGUsdXBkYXRlJ10sXG4gICAgICAgICAgICB1c2VyQWRhcHRlcjoge1xuICAgICAgICAgICAgICBpZDogJ3VzZXJuYW1lJywgLy8gbWF0Y2hlcyBhZGFwdGVyIGluIFVzZXJEYXRhXG4gICAgICAgICAgICAgIGFkYXB0ZXI6IFVzZXJEYXRhLmFkYXB0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJldHJ5OiBSZXRyeU9wdGlvbnMuYWRhcHQoe1xuICAgICAgICAgICAgICB0aW1lczogMyxcbiAgICAgICAgICAgICAgZGVsYXk6IDEwLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgRGF0YVR5cGUuQVJSQVksXG4gICAgICAgIERhdGFiYXNlU3RvcmFnZS5hZGFwdCh7XG4gICAgICAgICAgdGFibGU6ICd3c19kZW1vX2RhdGEnLFxuICAgICAgICAgIGV4cGlyZXNJbjogJzVtbicsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuXG4gICAgdXBkYXRlQ29ubmVjdGlvbihzZXJ2ZXI6IHN0cmluZywgd3NTZXJ2ZXI6IHN0cmluZywgand0VG9rZW46IHN0cmluZykge1xuXG4gICAgICB0aGlzLnNldEFwaVJlcXVlc3RPcHRpb25zKHtcbiAgICAgICAgICBzZXJ2ZXIsXG4gICAgICAgICAgcmV0cnk6IFJldHJ5T3B0aW9ucy5hZGFwdCh7XG4gICAgICAgICAgICB0aW1lczogMyxcbiAgICAgICAgICAgIGRlbGF5OiAxLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFkYXB0ZXI6IE9JRENDbGllbnQuYWRhcHQsXG4gICAgICAgICAgd3M6IHtcbiAgICAgICAgICAgIGlkOiAnV1MtTVlfREFUQScsXG4gICAgICAgICAgICB3c1NlcnZlcixcbiAgICAgICAgICAgIGp3dFRva2VuLFxuICAgICAgICAgICAgdXNlckFkYXB0ZXI6IHtcbiAgICAgICAgICAgICAgaWQ6ICd1c2VybmFtZScsIC8vIG1hdGNoZXMgYWRhcHRlciBpbiBVc2VyRGF0YVxuICAgICAgICAgICAgICBhZGFwdGVyOiBVc2VyRGF0YS5hZGFwdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXRyeTogUmV0cnlPcHRpb25zLmFkYXB0KHtcbiAgICAgICAgICAgICAgdGltZXM6IDMsXG4gICAgICAgICAgICAgIGRlbGF5OiAxMCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgIH1cblxuICAgIGdldERhdGEoKSB7XG4gICAgICB0aGlzLmZldGNoUmVjb3JkcyhSZXF1ZXN0T3B0aW9ucy5hZGFwdCh7IHBhdGg6IFsnYWknLCd0ZXN0cyddIH0pKVxuICAgIH1cblxuICAgIGFkZERhdGEoKSB7XG5cbiAgICAgIGNvbnN0IG51bSA9IFJhbmRvbU51bWJlcigxMDAwLCA5OTk5KVxuXG4gICAgICBjb25zdCBuZXdEYXRhID0gICAgIHtcbiAgICAgICAgICBcInNwaWZmZVwiOiBgc2FtcGxlLmNvbS9kZXZlbG9wZXIvJHtudW19YCxcbiAgICAgICAgICBcImxhc3RfbmFtZVwiOiBcImJvbmlcIixcbiAgICAgICAgICBcImVtYWlsXCI6IFwibWlrZWJvbmlAaG90bWFpbC5jb21cIixcbiAgICAgICAgICBcImZpcnN0X25hbWVcIjogXCJtaWtlXCJcbiAgICAgIH1cblxuICAgICAgdGhpcy5jcmVhdGVSZWNvcmQobmV3RGF0YSwgUmVxdWVzdE9wdGlvbnMuYWRhcHQoeyBwYXRoOiBbJ2FpJywndGVzdHMnXSB9KSlcblxuICAgIH1cblxuICAgIHNlbmRNZXNzYWdlKGRhdGE6IENoYW5uZWxNZXNzYWdlKSB7XG4gICAgICBjb25zb2xlLmxvZygnc2VuZE1lc3NhZ2UnLCBkYXRhKVxuICAgICAgdGhpcy53c01lc3NhZ2luZyhkYXRhKVxuICAgIH1cblxuICAgIHVwZGF0ZURhdGEoZGF0YTogYW55KSB7XG4gICAgICBjb25zdCBzYW1wbGVPcHRpb25zID0gUmVxdWVzdE9wdGlvbnMuYWRhcHQoeyBwYXRoOiBbJ2FpJywgJ3Rlc3RzJywgZGF0YS5pZF0gfSlcbiAgICAgIGNvbnNvbGUubG9nKCd1cGRhdGVEYXRhJywgc2FtcGxlT3B0aW9ucylcbiAgICAgIHRoaXMudXBkYXRlUmVjb3JkKGRhdGEsIHNhbXBsZU9wdGlvbnMpXG5cbiAgICB9XG5cbiAgICBkZWxldGVEYXRhKGRhdGE6IGFueSkge1xuICAgICAgY29uc3Qgc2FtcGxlT3B0aW9ucyA9IFJlcXVlc3RPcHRpb25zLmFkYXB0KHsgcGF0aDogWydhaScsICd0ZXN0cycsIGRhdGEuaWRdIH0pXG4gICAgICBjb25zb2xlLmxvZygnZGVsZXRlRGF0YScsIHNhbXBsZU9wdGlvbnMpXG4gICAgICB0aGlzLmRlbGV0ZVJlY29yZChzYW1wbGVPcHRpb25zKVxuICAgIH1cblxufVxuIl19
Binary file