http-request-manager 18.4.5 → 18.4.9
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.
- package/esm2022/lib/http-request-manager.module.mjs +14 -3
- package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +7 -5
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.mjs +92 -0
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.mjs +14 -0
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.mjs +57 -0
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.mjs +107 -0
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.mjs +14 -0
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.mjs +5 -6
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.mjs +14 -36
- package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/services/state-request-demo.service.mjs +13 -39
- package/esm2022/lib/interceptors/index.mjs +2 -1
- package/esm2022/lib/models/database-storage.model.mjs +3 -1
- package/esm2022/lib/services/request-manager-services/request.service.mjs +4 -1
- package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +27 -25
- package/esm2022/lib/services/request-manager-state-service/models/ws-options.model.mjs +4 -4
- package/esm2022/lib/services/store-state-manager-service/store-state-manager.service.mjs +2 -2
- package/esm2022/lib/services/utils/encryption/index.mjs +2 -1
- package/esm2022/lib/services/utils/encryption/random.mjs +13 -1
- package/esm2022/lib/services/utils/index.mjs +2 -1
- package/esm2022/lib/services/ws-manager-service/index.mjs +2 -2
- package/esm2022/lib/services/ws-manager-service/services/index.mjs +2 -0
- package/esm2022/lib/services/ws-manager-service/services/websocket.service.mjs +16 -7
- package/fesm2022/http-request-manager.mjs +337 -96
- package/fesm2022/http-request-manager.mjs.map +1 -1
- package/http-request-manager-18.4.9.tgz +0 -0
- package/lib/http-request-manager.module.d.ts +26 -22
- package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +3 -1
- package/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.d.ts +15 -0
- package/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.d.ts +8 -0
- package/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.d.ts +20 -0
- package/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.d.ts +33 -0
- package/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.d.ts +8 -0
- package/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.d.ts +3 -5
- package/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.d.ts +3 -5
- package/lib/http-request-services-demo/request-manager-ws-demo/services/state-request-demo.service.d.ts +1 -5
- package/lib/interceptors/index.d.ts +1 -0
- package/lib/models/database-storage.model.d.ts +1 -1
- package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +3 -1
- package/lib/services/request-manager-state-service/models/ws-options.model.d.ts +3 -4
- package/lib/services/store-state-manager-service/store-state-manager.service.d.ts +1 -1
- package/lib/services/utils/encryption/index.d.ts +1 -0
- package/lib/services/utils/encryption/random.d.ts +4 -0
- package/lib/services/utils/index.d.ts +1 -0
- package/lib/services/ws-manager-service/index.d.ts +1 -1
- package/lib/services/ws-manager-service/services/index.d.ts +1 -0
- package/lib/services/ws-manager-service/services/websocket.service.d.ts +3 -1
- package/package.json +1 -1
- package/http-request-manager-18.4.5.tgz +0 -0
|
@@ -31,6 +31,10 @@ import { LocalStorageSignalsDemoComponent } from './http-request-services-demo/l
|
|
|
31
31
|
import { RequestManagerWsDemoComponent } from './http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component';
|
|
32
32
|
import { RequestSignalsManagerDemoComponent } from './http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component';
|
|
33
33
|
import { StoreStateManagerDemoComponent } from './http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component';
|
|
34
|
+
import { WsDataControlComponent } from './http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component';
|
|
35
|
+
import { WsMessagingComponent } from './http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component';
|
|
36
|
+
import { WsNotificationsComponent } from './http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component';
|
|
37
|
+
import { WsAiMessagingComponent } from './http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component';
|
|
34
38
|
import * as i0 from "@angular/core";
|
|
35
39
|
import * as i1 from "@ngx-translate/core";
|
|
36
40
|
// import { MessengerChatModule } from 'src/app/components/messenger-chat/messenger-chat.module';
|
|
@@ -54,7 +58,11 @@ export class HttpRequestManagerModule {
|
|
|
54
58
|
LocalStorageSignalsDemoComponent,
|
|
55
59
|
RequestManagerWsDemoComponent,
|
|
56
60
|
StoreStateManagerDemoComponent,
|
|
57
|
-
DatabaseDataDemoComponent
|
|
61
|
+
DatabaseDataDemoComponent,
|
|
62
|
+
WsDataControlComponent,
|
|
63
|
+
WsMessagingComponent,
|
|
64
|
+
WsNotificationsComponent,
|
|
65
|
+
WsAiMessagingComponent], imports: [CommonModule,
|
|
58
66
|
ToastMessageDisplayModule,
|
|
59
67
|
FormsModule,
|
|
60
68
|
ReactiveFormsModule,
|
|
@@ -145,7 +153,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
145
153
|
RequestManagerWsDemoComponent,
|
|
146
154
|
StoreStateManagerDemoComponent,
|
|
147
155
|
DatabaseDataDemoComponent,
|
|
148
|
-
|
|
156
|
+
WsDataControlComponent,
|
|
157
|
+
WsMessagingComponent,
|
|
158
|
+
WsNotificationsComponent,
|
|
159
|
+
WsAiMessagingComponent,
|
|
149
160
|
],
|
|
150
161
|
exports: [
|
|
151
162
|
HttpRequestServicesDemoComponent,
|
|
@@ -159,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
159
170
|
],
|
|
160
171
|
}]
|
|
161
172
|
}] });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LW1hbmFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3QtbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwy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QTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0NBQWdDO3FCQUNqQztvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ2pGLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNoRixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDL0UsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRTt3QkFDbkUsa0JBQWtCLEVBQUUsMEJBQTBCO3FCQUMvQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5pbXBvcnQgeyBXaXRoQ3JlZGVudGlhbHNJbnRlcmNlcHRvciwgUmVxdWVzdEhlYWRlcnNJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBQcm94eURlYnVnZ2VySW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9wcm94eS1kZWJ1Z2dlci5pbnRlcmNlcHRvcic7XG5cblxuaW1wb3J0IHsgQ29uZmlnT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENPTkZJR19TRVRUSU5HU19UT0tFTiB9IGZyb20gJy4vbW9kZWxzL2NvbmZpZy10b2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBIVFRQTWFuYWdlclNlcnZpY2UsIExvY2FsU3RvcmFnZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbmltcG9ydCB7IEZpbGVEb3dubG9hZGVyTW9kdWxlIH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItZGVtby9maWxlLWRvd25sb2FkZXIvZmlsZS1kb3dubG9hZC5tb2R1bGUnO1xuaW1wb3J0IHsgVG9hc3RNZXNzYWdlRGlzcGxheU1vZHVsZSB9IGZyb20gJ3RvYXN0LW1lc3NhZ2UtZGlzcGxheSc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5cbmltcG9ydCB7IERhdGFiYXNlRGF0YURlbW9Db21wb25lbnQsIEh0dHBSZXF1ZXN0U2VydmljZXNEZW1vQ29tcG9uZW50LCBMb2NhbFN0b3JhZ2VEZW1vQ29tcG9uZW50LCBSZXF1ZXN0TWFuYWdlckRlbW9Db21wb25lbnQsIFJlcXVlc3RNYW5hZ2VyU3RhdGVEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi4vcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IExvY2FsU3RvcmFnZVNpZ25hbHNEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9sb2NhbC1zdG9yYWdlLXNpZ25hbHMtZGVtby9sb2NhbC1zdG9yYWdlLXNpZ25hbHMtZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVxdWVzdE1hbmFnZXJXc0RlbW9Db21wb25lbnQgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXF1ZXN0U2lnbmFsc01hbmFnZXJEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LXNpZ25hbHMtbWFuYWdlci1kZW1vL3JlcXVlc3Qtc2lnbmFscy1tYW5hZ2VyLWRlbW8uY29tcG9uZW50JztcbmltcG9ydCB7IFN0b3JlU3RhdGVNYW5hZ2VyRGVtb0NvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vc3RvcmUtc3RhdGUtbWFuYWdlci1kZW1vL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby5jb21wb25lbnQnO1xuXG4vLyBpbXBvcnQgeyBNZXNzZW5nZXJDaGF0TW9kdWxlIH0gZnJvbSAnc3JjL2FwcC9jb21wb25lbnRzL21lc3Nlbmdlci1jaGF0L21lc3Nlbmdlci1jaGF0Lm1vZHVsZSc7XG4vLyBpbXBvcnQgeyBTdG9yZVN0YXRlTWFuYWdlck1vZHVsZSB9IGZyb20gXCJzcmMvYXBwL2JldGFfY29tcG9uZW50cy9zdG9yZS1zdGF0ZS1tYW5hZ2VyL3N0b3JlLXN0YXRlLW1hbmFnZXIubW9kdWxlXCI7XG5cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUb2FzdE1lc3NhZ2VEaXNwbGF5TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3QoKSxcbiAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgIEZpbGVEb3dubG9hZGVyTW9kdWxlLFxuICAgIC8vIE1lc3NlbmdlckNoYXRNb2R1bGUsXG4gICAgLy8gU3RvcmVTdGF0ZU1hbmFnZXJNb2R1bGVcbl0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEh0dHBSZXF1ZXN0U2VydmljZXNEZW1vQ29tcG9uZW50LFxuICAgIFJlcXVlc3RNYW5hZ2VyU3RhdGVEZW1vQ29tcG9uZW50LFxuICAgIFJlcXVlc3RNYW5hZ2VyRGVtb0NvbXBvbmVudCxcbiAgICBSZXF1ZXN0U2lnbmFsc01hbmFnZXJEZW1vQ29tcG9uZW50LFxuICAgIExvY2FsU3RvcmFnZURlbW9Db21wb25lbnQsXG4gICAgTG9jYWxTdG9yYWdlU2lnbmFsc0RlbW9Db21wb25lbnQsXG4gICAgUmVxdWVzdE1hbmFnZXJXc0RlbW9Db21wb25lbnQsXG4gICAgU3RvcmVTdGF0ZU1hbmFnZXJEZW1vQ29tcG9uZW50LFxuICAgIERhdGFiYXNlRGF0YURlbW9Db21wb25lbnQsXG4gICAgLy8gRGF0YWJhc2VEYXRhRGVtb0NvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEh0dHBSZXF1ZXN0U2VydmljZXNEZW1vQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogV2l0aENyZWRlbnRpYWxzSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFJlcXVlc3RIZWFkZXJzSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFByb3h5RGVidWdnZXJJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IENPTkZJR19TRVRUSU5HU19UT0tFTiwgdXNlVmFsdWU6IENvbmZpZ09wdGlvbnMuYWRhcHQoKSB9LFxuICAgIEhUVFBNYW5hZ2VyU2VydmljZSwgTG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2VcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RNYW5hZ2VyTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IENvbmZpZ09wdGlvbnMgPSBDb25maWdPcHRpb25zLmFkYXB0KCkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEh0dHBSZXF1ZXN0TWFuYWdlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSHR0cFJlcXVlc3RNYW5hZ2VyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ09ORklHX1NFVFRJTkdTX1RPS0VOLCB1c2VWYWx1ZTogQ29uZmlnT3B0aW9ucy5hZGFwdChjb25maWcpIH0sXG4gICAgICAgIEhUVFBNYW5hZ2VyU2VydmljZSwgTG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2UgLy9hbGwgc2VydmljZXMgdGhhdCBuZWVkIGFjY2VzcyB0byBjb25maWdcbiAgICAgIF0sXG4gICAgfTtcbiAgICB9XG5cbn1cblxuXG4iXX0=
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LW1hbmFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3QtbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwy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QWUsQ0FBQyxPQUFPLEVBQUU7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjtxQkFDN0I7b0JBQ0MsWUFBWSxFQUFFO3dCQUNaLGdDQUFnQzt3QkFDaEMsZ0NBQWdDO3dCQUNoQywyQkFBMkI7d0JBQzNCLGtDQUFrQzt3QkFDbEMseUJBQXlCO3dCQUN6QixnQ0FBZ0M7d0JBQ2hDLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdDQUFnQztxQkFDakM7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNqRixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDaEYsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQy9FLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ25FLGtCQUFrQixFQUFFLDBCQUEwQjtxQkFDL0M7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuaW1wb3J0IHsgV2l0aENyZWRlbnRpYWxzSW50ZXJjZXB0b3IsIFJlcXVlc3RIZWFkZXJzSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgUHJveHlEZWJ1Z2dlckludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvcHJveHktZGVidWdnZXIuaW50ZXJjZXB0b3InO1xuXG5cbmltcG9ydCB7IENvbmZpZ09wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUdfU0VUVElOR1NfVE9LRU4gfSBmcm9tICcuL21vZGVscy9jb25maWctdG9rZW4ubW9kZWwnO1xuaW1wb3J0IHsgSFRUUE1hbmFnZXJTZXJ2aWNlLCBMb2NhbFN0b3JhZ2VNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG5pbXBvcnQgeyBGaWxlRG93bmxvYWRlck1vZHVsZSB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLWRlbW8vZmlsZS1kb3dubG9hZGVyL2ZpbGUtZG93bmxvYWQubW9kdWxlJztcbmltcG9ydCB7IFRvYXN0TWVzc2FnZURpc3BsYXlNb2R1bGUgfSBmcm9tICd0b2FzdC1tZXNzYWdlLWRpc3BsYXknO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5pbXBvcnQgeyBEYXRhYmFzZURhdGFEZW1vQ29tcG9uZW50LCBIdHRwUmVxdWVzdFNlcnZpY2VzRGVtb0NvbXBvbmVudCwgTG9jYWxTdG9yYWdlRGVtb0NvbXBvbmVudCwgUmVxdWVzdE1hbmFnZXJEZW1vQ29tcG9uZW50LCBSZXF1ZXN0TWFuYWdlclN0YXRlRGVtb0NvbXBvbmVudCB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTaWduYWxzRGVtb0NvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vbG9jYWwtc3RvcmFnZS1zaWduYWxzLWRlbW8vbG9jYWwtc3RvcmFnZS1zaWduYWxzLWRlbW8uY29tcG9uZW50JztcbmltcG9ydCB7IFJlcXVlc3RNYW5hZ2VyV3NEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVxdWVzdFNpZ25hbHNNYW5hZ2VyRGVtb0NvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1zaWduYWxzLW1hbmFnZXItZGVtby9yZXF1ZXN0LXNpZ25hbHMtbWFuYWdlci1kZW1vLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdG9yZVN0YXRlTWFuYWdlckRlbW9Db21wb25lbnQgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3N0b3JlLXN0YXRlLW1hbmFnZXItZGVtby9zdG9yZS1zdGF0ZS1tYW5hZ2VyLWRlbW8uY29tcG9uZW50JztcblxuaW1wb3J0IHsgV3NEYXRhQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1kYXRhLWNvbnRyb2wvd3MtZGF0YS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXc01lc3NhZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1tZXNzYWdpbmcvd3MtbWVzc2FnaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXc05vdGlmaWNhdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vL2NvbXBvbmVudHMvd3Mtbm90aWZpY2F0aW9ucy93cy1ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXc0FpTWVzc2FnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItd3MtZGVtby9jb21wb25lbnRzL3dzLWFpLW1lc3NhZ2luZy93cy1haS1tZXNzYWdpbmcuY29tcG9uZW50JztcblxuLy8gaW1wb3J0IHsgTWVzc2VuZ2VyQ2hhdE1vZHVsZSB9IGZyb20gJ3NyYy9hcHAvY29tcG9uZW50cy9tZXNzZW5nZXItY2hhdC9tZXNzZW5nZXItY2hhdC5tb2R1bGUnO1xuLy8gaW1wb3J0IHsgU3RvcmVTdGF0ZU1hbmFnZXJNb2R1bGUgfSBmcm9tIFwic3JjL2FwcC9iZXRhX2NvbXBvbmVudHMvc3RvcmUtc3RhdGUtbWFuYWdlci9zdG9yZS1zdGF0ZS1tYW5hZ2VyLm1vZHVsZVwiO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVG9hc3RNZXNzYWdlRGlzcGxheU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KCksXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICBGaWxlRG93bmxvYWRlck1vZHVsZSxcbiAgICAvLyBNZXNzZW5nZXJDaGF0TW9kdWxlLFxuICAgIC8vIFN0b3JlU3RhdGVNYW5hZ2VyTW9kdWxlXG5dLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBIdHRwUmVxdWVzdFNlcnZpY2VzRGVtb0NvbXBvbmVudCxcbiAgICBSZXF1ZXN0TWFuYWdlclN0YXRlRGVtb0NvbXBvbmVudCxcbiAgICBSZXF1ZXN0TWFuYWdlckRlbW9Db21wb25lbnQsXG4gICAgUmVxdWVzdFNpZ25hbHNNYW5hZ2VyRGVtb0NvbXBvbmVudCxcbiAgICBMb2NhbFN0b3JhZ2VEZW1vQ29tcG9uZW50LFxuICAgIExvY2FsU3RvcmFnZVNpZ25hbHNEZW1vQ29tcG9uZW50LFxuICAgIFJlcXVlc3RNYW5hZ2VyV3NEZW1vQ29tcG9uZW50LFxuICAgIFN0b3JlU3RhdGVNYW5hZ2VyRGVtb0NvbXBvbmVudCxcbiAgICBEYXRhYmFzZURhdGFEZW1vQ29tcG9uZW50LFxuICAgIFdzRGF0YUNvbnRyb2xDb21wb25lbnQsXG4gICAgV3NNZXNzYWdpbmdDb21wb25lbnQsXG4gICAgV3NOb3RpZmljYXRpb25zQ29tcG9uZW50LFxuICAgIFdzQWlNZXNzYWdpbmdDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBIdHRwUmVxdWVzdFNlcnZpY2VzRGVtb0NvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFdpdGhDcmVkZW50aWFsc0ludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBSZXF1ZXN0SGVhZGVyc0ludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBQcm94eURlYnVnZ2VySW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBDT05GSUdfU0VUVElOR1NfVE9LRU4sIHVzZVZhbHVlOiBDb25maWdPcHRpb25zLmFkYXB0KCkgfSxcbiAgICBIVFRQTWFuYWdlclNlcnZpY2UsIExvY2FsU3RvcmFnZU1hbmFnZXJTZXJ2aWNlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBSZXF1ZXN0TWFuYWdlck1vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBDb25maWdPcHRpb25zID0gQ29uZmlnT3B0aW9ucy5hZGFwdCgpKTogTW9kdWxlV2l0aFByb3ZpZGVyczxIdHRwUmVxdWVzdE1hbmFnZXJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEh0dHBSZXF1ZXN0TWFuYWdlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IENPTkZJR19TRVRUSU5HU19UT0tFTiwgdXNlVmFsdWU6IENvbmZpZ09wdGlvbnMuYWRhcHQoY29uZmlnKSB9LFxuICAgICAgICBIVFRQTWFuYWdlclNlcnZpY2UsIExvY2FsU3RvcmFnZU1hbmFnZXJTZXJ2aWNlIC8vYWxsIHNlcnZpY2VzIHRoYXQgbmVlZCBhY2Nlc3MgdG8gY29uZmlnXG4gICAgICBdLFxuICAgIH07XG4gICAgfVxuXG59XG5cblxuIl19
|
|
@@ -16,9 +16,9 @@ import * as i12 from "../models/config-options.model";
|
|
|
16
16
|
export class HttpRequestServicesDemoComponent {
|
|
17
17
|
constructor(configOptions) {
|
|
18
18
|
this.configOptions = configOptions;
|
|
19
|
-
this.wsServer = 'ws
|
|
19
|
+
this.wsServer = 'ws:';
|
|
20
20
|
this.jwtToken = '';
|
|
21
|
-
this.server = 'http
|
|
21
|
+
this.server = 'http:';
|
|
22
22
|
this.requestTypes = [
|
|
23
23
|
{ name: "Http Service", value: 'http_service' },
|
|
24
24
|
// { name: "Http Signals Service", value: 'http_signals_service', new: true },
|
|
@@ -39,11 +39,11 @@ export class HttpRequestServicesDemoComponent {
|
|
|
39
39
|
this.selectedService = this.requestTypes[type].value;
|
|
40
40
|
}
|
|
41
41
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpRequestServicesDemoComponent, deps: [{ token: CONFIG_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: HttpRequestServicesDemoComponent, selector: "app-http-request-services-demo", inputs: { wsServer: "wsServer", jwtToken: "jwtToken", server: "server", adapter: "adapter", mapper: "mapper" }, ngImport: i0, template: "<mat-toolbar style=\"display:flex\">\n <div>Http Request Manager Services</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'http_signals_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-signals-manager-demo></app-request-signals-manager-demo>\n </p> -->\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service_ws'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-ws-demo\n [server]=\"server\"\n [wsServer]=\"wsServer\"\n [jwtToken]=\"jwtToken\"\n ></app-request-manager-ws-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <app-database-data-demo></app-database-data-demo>\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'local_storage_signals_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-signals-demo></app-local-storage-signals-demo>\n </p> -->\n <p *ngSwitchCase=\"'store_state_manager'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-store-state-manager-demo></app-store-state-manager-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.RequestManagerStateDemoComponent, selector: "app-request-manager-state-demo", inputs: ["server", "adapter", "mapper"] }, { kind: "component", type: i7.RequestManagerDemoComponent, selector: "app-request-manager-demo", inputs: ["server", "adapter", "mapper"] }, { kind: "component", type: i8.LocalStorageDemoComponent, selector: "app-local-storage-demo" }, { kind: "component", type: i9.RequestManagerWsDemoComponent, selector: "app-request-manager-ws-demo", inputs: ["server", "wsServer", "jwtToken"] }, { kind: "component", type: i10.StoreStateManagerDemoComponent, selector: "app-store-state-manager-demo" }, { kind: "component", type: i11.DatabaseDataDemoComponent, selector: "app-database-data-demo" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: HttpRequestServicesDemoComponent, selector: "app-http-request-services-demo", inputs: { wsServer: "wsServer", jwtToken: "jwtToken", server: "server", user: "user", adapter: "adapter", mapper: "mapper" }, ngImport: i0, template: "<mat-toolbar style=\"display:flex\">\n <div>Http Request Manager Services</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'http_signals_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-signals-manager-demo></app-request-signals-manager-demo>\n </p> -->\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service_ws'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-ws-demo\n [server]=\"server\"\n [wsServer]=\"wsServer\"\n [jwtToken]=\"jwtToken\"\n [user]=\"user\"\n ></app-request-manager-ws-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <app-database-data-demo></app-database-data-demo>\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'local_storage_signals_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-signals-demo></app-local-storage-signals-demo>\n </p> -->\n <p *ngSwitchCase=\"'store_state_manager'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-store-state-manager-demo></app-store-state-manager-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.RequestManagerStateDemoComponent, selector: "app-request-manager-state-demo", inputs: ["server", "adapter", "mapper"] }, { kind: "component", type: i7.RequestManagerDemoComponent, selector: "app-request-manager-demo", inputs: ["server", "adapter", "mapper"] }, { kind: "component", type: i8.LocalStorageDemoComponent, selector: "app-local-storage-demo" }, { kind: "component", type: i9.RequestManagerWsDemoComponent, selector: "app-request-manager-ws-demo", inputs: ["server", "wsServer", "jwtToken", "user"] }, { kind: "component", type: i10.StoreStateManagerDemoComponent, selector: "app-store-state-manager-demo" }, { kind: "component", type: i11.DatabaseDataDemoComponent, selector: "app-database-data-demo" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
|
|
43
43
|
}
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpRequestServicesDemoComponent, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
|
-
args: [{ selector: 'app-http-request-services-demo', template: "<mat-toolbar style=\"display:flex\">\n <div>Http Request Manager Services</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'http_signals_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-signals-manager-demo></app-request-signals-manager-demo>\n </p> -->\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service_ws'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-ws-demo\n [server]=\"server\"\n [wsServer]=\"wsServer\"\n [jwtToken]=\"jwtToken\"\n ></app-request-manager-ws-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <app-database-data-demo></app-database-data-demo>\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'local_storage_signals_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-signals-demo></app-local-storage-signals-demo>\n </p> -->\n <p *ngSwitchCase=\"'store_state_manager'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-store-state-manager-demo></app-store-state-manager-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"] }]
|
|
46
|
+
args: [{ selector: 'app-http-request-services-demo', template: "<mat-toolbar style=\"display:flex\">\n <div>Http Request Manager Services</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'http_signals_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-signals-manager-demo></app-request-signals-manager-demo>\n </p> -->\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo\n [server]=\"server\"\n [adapter]=\"adapter\"\n [mapper]=\"mapper\"\n ></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service_ws'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-ws-demo\n [server]=\"server\"\n [wsServer]=\"wsServer\"\n [jwtToken]=\"jwtToken\"\n [user]=\"user\"\n ></app-request-manager-ws-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <app-database-data-demo></app-database-data-demo>\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <!-- <p *ngSwitchCase=\"'local_storage_signals_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-signals-demo></app-local-storage-signals-demo>\n </p> -->\n <p *ngSwitchCase=\"'store_state_manager'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-store-state-manager-demo></app-store-state-manager-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"] }]
|
|
47
47
|
}], ctorParameters: () => [{ type: i12.ConfigOptions, decorators: [{
|
|
48
48
|
type: Inject,
|
|
49
49
|
args: [CONFIG_SETTINGS_TOKEN]
|
|
@@ -53,9 +53,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
53
53
|
type: Input
|
|
54
54
|
}], server: [{
|
|
55
55
|
type: Input
|
|
56
|
+
}], user: [{
|
|
57
|
+
type: Input
|
|
56
58
|
}], adapter: [{
|
|
57
59
|
type: Input
|
|
58
60
|
}], mapper: [{
|
|
59
61
|
type: Input
|
|
60
62
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFTckUsTUFBTSxPQUFPLGdDQUFnQztJQXlCM0MsWUFDeUMsYUFBNkI7UUFBN0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBeEI3RCxhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGFBQVEsR0FBRyxFQUFFLENBQUE7UUFDYixXQUFNLEdBQUcsT0FBTyxDQUFBO1FBTXpCLGlCQUFZLEdBQUc7WUFDYixFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRTtZQUMvQyw4RUFBOEU7WUFDOUUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO1lBQzNELEVBQUUsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQ3ZGLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDdkYsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1lBQ2pFLGdHQUFnRztZQUNoRyxFQUFFLElBQUksRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRTtTQUNqRixDQUFBO1FBRUQsb0JBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQSxDQUFDLHdCQUF3QjtJQU1qRSxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLGFBQWE7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUNuRSxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUN0RCxDQUFDOytHQW5DVSxnQ0FBZ0Msa0JBMEJqQyxxQkFBcUI7bUdBMUJwQixnQ0FBZ0Msb01DWDdDLGtuR0E2RkE7OzRGRGxGYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsZ0NBQWdDOzswQkE4QnZDLE1BQU07MkJBQUMscUJBQXFCO3lDQXhCdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENPTkZJR19TRVRUSU5HU19UT0tFTiB9IGZyb20gJy4uL21vZGVscy9jb25maWctdG9rZW4ubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlnT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscy9jb25maWctb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gJy4vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vbW9kZWxzL3VzZXItZGF0YS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTZXJ2aWNlc0RlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHdzU2VydmVyID0gJ3dzOidcbiAgQElucHV0KCkgand0VG9rZW4gPSAnJ1xuICBASW5wdXQoKSBzZXJ2ZXIgPSAnaHR0cDonXG4gIEBJbnB1dCgpIHVzZXI/OiBVc2VyRGF0YVxuXG4gIEBJbnB1dCgpIGFkYXB0ZXI/OiBGdW5jdGlvblxuICBASW5wdXQoKSBtYXBwZXI/OiBGdW5jdGlvblxuXG4gIHJlcXVlc3RUeXBlcyA9IFtcbiAgICB7IG5hbWU6IFwiSHR0cCBTZXJ2aWNlXCIsIHZhbHVlOiAnaHR0cF9zZXJ2aWNlJyB9LFxuICAgIC8vIHsgbmFtZTogXCJIdHRwIFNpZ25hbHMgU2VydmljZVwiLCB2YWx1ZTogJ2h0dHBfc2lnbmFsc19zZXJ2aWNlJywgbmV3OiB0cnVlIH0sXG4gICAgeyBuYW1lOiBcIkh0dHAgU3RhdGUgU2VydmljZVwiLCB2YWx1ZTogJ2h0dHBfc3RhdGVfc2VydmljZScgfSxcbiAgICB7IG5hbWU6IFwiSHR0cCBTdGF0ZSBTZXJ2aWNlIC0gV2Vic29ja2V0c1wiLCB2YWx1ZTogJ2h0dHBfc3RhdGVfc2VydmljZV93cycsIG5ldzogZmFsc2UgfSxcbiAgICB7IG5hbWU6IFwiRGF0YWJhc2UgU2VydmljZVwiLCB2YWx1ZTogJ2RhdGFiYXNlX3NlcnZpY2UnLCBkaXZpZGVyOiB0cnVlLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICB7IG5hbWU6IFwiTG9jYWwgU3RvcmFnZSBTZXJ2aWNlXCIsIHZhbHVlOiAnbG9jYWxfc3RvcmFnZV9zZXJ2aWNlJyB9LFxuICAgIC8vIHsgbmFtZTogXCJMb2NhbCBTaWduYWxzIFN0b3JhZ2UgU2VydmljZVwiLCB2YWx1ZTogJ2xvY2FsX3N0b3JhZ2Vfc2lnbmFsc19zZXJ2aWNlJywgbmV3OiB0cnVlIH0sXG4gICAgeyBuYW1lOiBcIlN0b3JlIFN0YXRlIE1hbmFnZXIgU2VydmljZVwiLCB2YWx1ZTogJ3N0b3JlX3N0YXRlX21hbmFnZXInLCBuZXc6IHRydWUgfSxcbiAgXVxuXG4gIHNlbGVjdGVkU2VydmljZSA9IHRoaXMucmVxdWVzdFR5cGVzWzVdLnZhbHVlIC8vbWVudSBzZWxlY3Rpb24gZGVmYXVsdFxuXG4gIGluamVjdGlvbk9wdGlvbnM/OiBDb25maWdPcHRpb25zXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDT05GSUdfU0VUVElOR1NfVE9LRU4pIHByaXZhdGUgY29uZmlnT3B0aW9ucz86IENvbmZpZ09wdGlvbnNcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZih0aGlzLmNvbmZpZ09wdGlvbnMpIHRoaXMuaW5qZWN0aW9uT3B0aW9ucyA9IHRoaXMuY29uZmlnT3B0aW9uc1xuICB9XG5cbiAgb25TZWxlY3RlZCh0eXBlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkU2VydmljZSA9IHRoaXMucmVxdWVzdFR5cGVzW3R5cGVdLnZhbHVlXG4gIH1cblxufVxuIiwiPG1hdC10b29sYmFyICBzdHlsZT1cImRpc3BsYXk6ZmxleFwiPlxuICA8ZGl2Pkh0dHAgUmVxdWVzdCBNYW5hZ2VyIFNlcnZpY2VzPC9kaXY+XG4gIDxkaXYgc3R5bGU9XCJmbGV4OjFcIj48L2Rpdj5cbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5TZXJ2aWNlczwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdHlwZSBvZiByZXF1ZXN0VHlwZXM7IGluZGV4IGFzIGlcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJ0eXBlPy5kaXZpZGVyXCJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAuNXJlbTsgbWFyZ2luLWJvdHRvbTogLjVyZW07XCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RlZChpKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0eXBlLmRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICB7eyB0eXBlLm5hbWUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvbWF0LW1lbnU+XG48L21hdC10b29sYmFyPlxuXG48c3BhbiBbbmdTd2l0Y2hdPVwic2VsZWN0ZWRTZXJ2aWNlXCI+XG4gIDxwICpuZ1N3aXRjaENhc2U9XCInaHR0cF9zZXJ2aWNlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJIVFRQX09QVElPTlNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8YXBwLXJlcXVlc3QtbWFuYWdlci1kZW1vXG4gICAgICBbc2VydmVyXT1cInNlcnZlclwiXG4gICAgICBbYWRhcHRlcl09XCJhZGFwdGVyXCJcbiAgICAgIFttYXBwZXJdPVwibWFwcGVyXCJcbiAgICA+PC9hcHAtcmVxdWVzdC1tYW5hZ2VyLWRlbW8+XG4gIDwvcD5cbiAgPCEtLSA8cCAqbmdTd2l0Y2hDYXNlPVwiJ2h0dHBfc2lnbmFsc19zZXJ2aWNlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJIVFRQX09QVElPTlNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8YXBwLXJlcXVlc3Qtc2lnbmFscy1tYW5hZ2VyLWRlbW8+PC9hcHAtcmVxdWVzdC1zaWduYWxzLW1hbmFnZXItZGVtbz5cbiAgPC9wPiAtLT5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidodHRwX3N0YXRlX3NlcnZpY2UnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkhUVFBfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLWRlbW9cbiAgICAgIFtzZXJ2ZXJdPVwic2VydmVyXCJcbiAgICAgIFthZGFwdGVyXT1cImFkYXB0ZXJcIlxuICAgICAgW21hcHBlcl09XCJtYXBwZXJcIlxuICAgID48L2FwcC1yZXF1ZXN0LW1hbmFnZXItc3RhdGUtZGVtbz5cbiAgPC9wPlxuICA8cCAqbmdTd2l0Y2hDYXNlPVwiJ2h0dHBfc3RhdGVfc2VydmljZV93cydcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiSFRUUF9PUFRJT05TXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGFwcC1yZXF1ZXN0LW1hbmFnZXItd3MtZGVtb1xuICAgICAgW3NlcnZlcl09XCJzZXJ2ZXJcIlxuICAgICAgW3dzU2VydmVyXT1cIndzU2VydmVyXCJcbiAgICAgIFtqd3RUb2tlbl09XCJqd3RUb2tlblwiXG4gICAgICBbdXNlcl09XCJ1c2VyXCJcbiAgICA+PC9hcHAtcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8+XG4gIDwvcD5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidkYXRhYmFzZV9zZXJ2aWNlJ1wiPlxuICAgIDxhcHAtZGF0YWJhc2UtZGF0YS1kZW1vPjwvYXBwLWRhdGFiYXNlLWRhdGEtZGVtbz5cbiAgPC9wPlxuICA8cCAqbmdTd2l0Y2hDYXNlPVwiJ2xvY2FsX3N0b3JhZ2Vfc2VydmljZSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiTE9DQUxfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtbG9jYWwtc3RvcmFnZS1kZW1vPjwvYXBwLWxvY2FsLXN0b3JhZ2UtZGVtbz5cbiAgPC9wPlxuICA8IS0tIDxwICpuZ1N3aXRjaENhc2U9XCInbG9jYWxfc3RvcmFnZV9zaWduYWxzX3NlcnZpY2UnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkxPQ0FMX09QVElPTlNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8YXBwLWxvY2FsLXN0b3JhZ2Utc2lnbmFscy1kZW1vPjwvYXBwLWxvY2FsLXN0b3JhZ2Utc2lnbmFscy1kZW1vPlxuICA8L3A+IC0tPlxuICA8cCAqbmdTd2l0Y2hDYXNlPVwiJ3N0b3JlX3N0YXRlX21hbmFnZXInXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkxPQ0FMX09QVElPTlNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8YXBwLXN0b3JlLXN0YXRlLW1hbmFnZXItZGVtbz48L2FwcC1zdG9yZS1zdGF0ZS1tYW5hZ2VyLWRlbW8+XG4gIDwvcD5cbiAgPHAgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICBPdGhlclxuICA8L3A+XG48L3NwYW4+XG5cbjxuZy10ZW1wbGF0ZSAjSFRUUF9PUFRJT05TPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5qZWN0aW9uT3B0aW9ucz8uaHR0cFJlcXVlc3RPcHRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cImJveFwiPlxuICAgICAgPGgzIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SW5qZWN0aW9uIFRva2VuIERldGVjdGVkIC0gSFRUUCBPcHRpb25zPC9oMz5cbiAgICAgIHt7IGluamVjdGlvbk9wdGlvbnM/Lmh0dHBSZXF1ZXN0T3B0aW9uc3wganNvbiB9fVxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjTE9DQUxfT1BUSU9OUz5cbiAgPG5nLWNvbnRhaW5lciBjbGFzcz1cImJveFwiICpuZ0lmPVwiaW5qZWN0aW9uT3B0aW9ucz8uTG9jYWxTdG9yYWdlT3B0aW9uc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJib3hcIj5cbiAgICAgIDxoMyBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPkluamVjdGlvbiBUb2tlbiBEZXRlY3RlZCAtIExvY2FsU3RvcmFnZSBPcHRpb25zPC9oMz5cbiAgICAgIHt7IGluamVjdGlvbk9wdGlvbnM/LkxvY2FsU3RvcmFnZU9wdGlvbnN8IGpzb24gfX1cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG5cbiJdfQ==
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { RandomNumber } from '../../../../services/utils/encryption/random';
|
|
3
|
+
import { RetryOptions, DataType, DatabaseStorage } from '../../../../models';
|
|
4
|
+
import { HTTPManagerStateService, ApiRequest, RequestOptions } from '../../../../services';
|
|
5
|
+
import { OIDCClient } from '../../models/oidc-client.model';
|
|
6
|
+
import { UserData } from '../../models/user-data.model';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class StateDataRequestService extends HTTPManagerStateService {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(ApiRequest.adapt({
|
|
11
|
+
server: '',
|
|
12
|
+
retry: RetryOptions.adapt({
|
|
13
|
+
times: 3,
|
|
14
|
+
delay: 1,
|
|
15
|
+
}),
|
|
16
|
+
adapter: OIDCClient.adapt,
|
|
17
|
+
ws: {
|
|
18
|
+
id: ``,
|
|
19
|
+
// wsChannels: ['allChannels'],
|
|
20
|
+
// access: ['read,write,delete,update'],
|
|
21
|
+
wsServer: '',
|
|
22
|
+
jwtToken: '',
|
|
23
|
+
user: UserData.adapt(),
|
|
24
|
+
retry: RetryOptions.adapt({
|
|
25
|
+
times: 3,
|
|
26
|
+
delay: 10,
|
|
27
|
+
}),
|
|
28
|
+
}
|
|
29
|
+
}), DataType.ARRAY, DatabaseStorage.adapt({
|
|
30
|
+
table: 'ws_demo_data',
|
|
31
|
+
expiresIn: '5mn',
|
|
32
|
+
}));
|
|
33
|
+
this.attempts$ = this.wsRetryAttempts$;
|
|
34
|
+
this.nextRetry$ = this.wsNextRetry$;
|
|
35
|
+
}
|
|
36
|
+
updateConnection(server, wsServer, jwtToken, user) {
|
|
37
|
+
this.setApiRequestOptions({
|
|
38
|
+
server,
|
|
39
|
+
retry: RetryOptions.adapt({
|
|
40
|
+
times: 3,
|
|
41
|
+
delay: 1,
|
|
42
|
+
}),
|
|
43
|
+
adapter: OIDCClient.adapt,
|
|
44
|
+
ws: {
|
|
45
|
+
id: 'WS-USERS',
|
|
46
|
+
wsServer,
|
|
47
|
+
jwtToken,
|
|
48
|
+
user, // general info about user
|
|
49
|
+
retry: RetryOptions.adapt({
|
|
50
|
+
times: 3,
|
|
51
|
+
delay: 10,
|
|
52
|
+
}),
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
addData() {
|
|
57
|
+
const num = RandomNumber(1000, 9999);
|
|
58
|
+
const newData = {
|
|
59
|
+
"spiffe": `sample.com/developer/${num}`,
|
|
60
|
+
"last_name": "boni",
|
|
61
|
+
"email": "mikeboni@hotmail.com",
|
|
62
|
+
"first_name": "mike"
|
|
63
|
+
};
|
|
64
|
+
this.createRecord(newData, RequestOptions.adapt({ path: ['ai', 'tests'] }));
|
|
65
|
+
}
|
|
66
|
+
sendMessage(data) {
|
|
67
|
+
console.log('sendMessage', data);
|
|
68
|
+
this.wsMessaging(data);
|
|
69
|
+
}
|
|
70
|
+
getData() {
|
|
71
|
+
this.fetchRecords(RequestOptions.adapt({ path: ['ai', 'tests'] }));
|
|
72
|
+
}
|
|
73
|
+
updateData(data) {
|
|
74
|
+
const sampleOptions = RequestOptions.adapt({ path: ['ai', 'tests', data.id] });
|
|
75
|
+
console.log('updateData', sampleOptions);
|
|
76
|
+
this.updateRecord(data, sampleOptions);
|
|
77
|
+
}
|
|
78
|
+
deleteData(data) {
|
|
79
|
+
const sampleOptions = RequestOptions.adapt({ path: ['ai', 'tests', data.id] });
|
|
80
|
+
console.log('deleteData', sampleOptions);
|
|
81
|
+
this.deleteRecord(sampleOptions);
|
|
82
|
+
}
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StateDataRequestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
84
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StateDataRequestService, providedIn: 'root' }); }
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StateDataRequestService, decorators: [{
|
|
87
|
+
type: Injectable,
|
|
88
|
+
args: [{
|
|
89
|
+
providedIn: 'root'
|
|
90
|
+
}]
|
|
91
|
+
}], ctorParameters: () => [] });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtZGF0YS1yZXF1ZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci13cy1kZW1vL2NvbXBvbmVudHMvc2VydmljZXMvc3RhdGUtZGF0YS1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFFM0csT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHVCQUE0QjtJQUt2RTtRQUNFLEtBQUssQ0FDRCxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2YsTUFBTSxFQUFFLEVBQUU7WUFDVixLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDeEIsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDO1lBQ0YsT0FBTyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQ3pCLEVBQUUsRUFBRTtnQkFDRixFQUFFLEVBQUUsRUFBRTtnQkFDTiwrQkFBK0I7Z0JBQy9CLHdDQUF3QztnQkFDeEMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxF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N0ZRLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSYW5kb21OdW1iZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9lbmNyeXB0aW9uL3JhbmRvbSc7XG5pbXBvcnQgeyBSZXRyeU9wdGlvbnMsIERhdGFUeXBlLCBEYXRhYmFzZVN0b3JhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuXG5pbXBvcnQgeyBIVFRQTWFuYWdlclN0YXRlU2VydmljZSwgQXBpUmVxdWVzdCwgUmVxdWVzdE9wdGlvbnMsIENoYW5uZWxNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuXG5pbXBvcnQgeyBPSURDQ2xpZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL29pZGMtY2xpZW50Lm1vZGVsJztcbmltcG9ydCB7IFVzZXJEYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGF0YS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlRGF0YVJlcXVlc3RTZXJ2aWNlIGV4dGVuZHMgSFRUUE1hbmFnZXJTdGF0ZVNlcnZpY2U8YW55PiB7XG5cbiAgYXR0ZW1wdHMkID0gdGhpcy53c1JldHJ5QXR0ZW1wdHMkXG4gIG5leHRSZXRyeSQgPSB0aGlzLndzTmV4dFJldHJ5JFxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFxuICAgICAgICBBcGlSZXF1ZXN0LmFkYXB0KHtcbiAgICAgICAgICBzZXJ2ZXI6ICcnLFxuICAgICAgICAgIHJldHJ5OiBSZXRyeU9wdGlvbnMuYWRhcHQoe1xuICAgICAgICAgICAgdGltZXM6IDMsXG4gICAgICAgICAgICBkZWxheTogMSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBhZGFwdGVyOiBPSURDQ2xpZW50LmFkYXB0LFxuICAgICAgICAgIHdzOiB7XG4gICAgICAgICAgICBpZDogYGAsXG4gICAgICAgICAgICAvLyB3c0NoYW5uZWxzOiBbJ2FsbENoYW5uZWxzJ10sXG4gICAgICAgICAgICAvLyBhY2Nlc3M6IFsncmVhZCx3cml0ZSxkZWxldGUsdXBkYXRlJ10sXG4gICAgICAgICAgICB3c1NlcnZlcjogJycsXG4gICAgICAgICAgICBqd3RUb2tlbjogJycsXG4gICAgICAgICAgICB1c2VyOiBVc2VyRGF0YS5hZGFwdCgpLFxuICAgICAgICAgICAgcmV0cnk6IFJldHJ5T3B0aW9ucy5hZGFwdCh7XG4gICAgICAgICAgICAgIHRpbWVzOiAzLFxuICAgICAgICAgICAgICBkZWxheTogMTAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBEYXRhVHlwZS5BUlJBWSxcbiAgICAgICAgRGF0YWJhc2VTdG9yYWdlLmFkYXB0KHtcbiAgICAgICAgICB0YWJsZTogJ3dzX2RlbW9fZGF0YScsXG4gICAgICAgICAgZXhwaXJlc0luOiAnNW1uJyxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG5cbiAgICB1cGRhdGVDb25uZWN0aW9uKHNlcnZlcjogc3RyaW5nLCB3c1NlcnZlcjogc3RyaW5nLCBqd3RUb2tlbjogc3RyaW5nLCB1c2VyOiBhbnkpIHtcblxuICAgICAgdGhpcy5zZXRBcGlSZXF1ZXN0T3B0aW9ucyh7XG4gICAgICAgICAgc2VydmVyLFxuICAgICAgICAgIHJldHJ5OiBSZXRyeU9wdGlvbnMuYWRhcHQoe1xuICAgICAgICAgICAgdGltZXM6IDMsXG4gICAgICAgICAgICBkZWxheTogMSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBhZGFwdGVyOiBPSURDQ2xpZW50LmFkYXB0LFxuICAgICAgICAgIHdzOiB7XG4gICAgICAgICAgICBpZDogJ1dTLVVTRVJTJyxcbiAgICAgICAgICAgIHdzU2VydmVyLFxuICAgICAgICAgICAgand0VG9rZW4sXG4gICAgICAgICAgICB1c2VyLCAvLyBnZW5lcmFsIGluZm8gYWJvdXQgdXNlclxuICAgICAgICAgICAgcmV0cnk6IFJldHJ5T3B0aW9ucy5hZGFwdCh7XG4gICAgICAgICAgICAgIHRpbWVzOiAzLFxuICAgICAgICAgICAgICBkZWxheTogMTAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICB9XG5cbiAgICBhZGREYXRhKCkge1xuXG4gICAgICBjb25zdCBudW0gPSBSYW5kb21OdW1iZXIoMTAwMCwgOTk5OSlcblxuICAgICAgY29uc3QgbmV3RGF0YSA9ICAgICB7XG4gICAgICAgICAgXCJzcGlmZmVcIjogYHNhbXBsZS5jb20vZGV2ZWxvcGVyLyR7bnVtfWAsXG4gICAgICAgICAgXCJsYXN0X25hbWVcIjogXCJib25pXCIsXG4gICAgICAgICAgXCJlbWFpbFwiOiBcIm1pa2Vib25pQGhvdG1haWwuY29tXCIsXG4gICAgICAgICAgXCJmaXJzdF9uYW1lXCI6IFwibWlrZVwiXG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3JlYXRlUmVjb3JkKG5ld0RhdGEsIFJlcXVlc3RPcHRpb25zLmFkYXB0KHsgcGF0aDogWydhaScsJ3Rlc3RzJ10gfSkpXG5cbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZShkYXRhOiBDaGFubmVsTWVzc2FnZSkge1xuICAgICAgY29uc29sZS5sb2coJ3NlbmRNZXNzYWdlJywgZGF0YSlcbiAgICAgIHRoaXMud3NNZXNzYWdpbmcoZGF0YSlcbiAgICB9XG5cbiAgICBnZXREYXRhKCkge1xuICAgICAgdGhpcy5mZXRjaFJlY29yZHMoUmVxdWVzdE9wdGlvbnMuYWRhcHQoeyBwYXRoOiBbJ2FpJywndGVzdHMnXSB9KSlcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRhKGRhdGE6IGFueSkge1xuICAgICAgY29uc3Qgc2FtcGxlT3B0aW9ucyA9IFJlcXVlc3RPcHRpb25zLmFkYXB0KHsgcGF0aDogWydhaScsICd0ZXN0cycsIGRhdGEuaWRdIH0pXG4gICAgICBjb25zb2xlLmxvZygndXBkYXRlRGF0YScsIHNhbXBsZU9wdGlvbnMpXG4gICAgICB0aGlzLnVwZGF0ZVJlY29yZChkYXRhLCBzYW1wbGVPcHRpb25zKVxuXG4gICAgfVxuXG4gICAgZGVsZXRlRGF0YShkYXRhOiBhbnkpIHtcbiAgICAgIGNvbnN0IHNhbXBsZU9wdGlvbnMgPSBSZXF1ZXN0T3B0aW9ucy5hZGFwdCh7IHBhdGg6IFsnYWknLCAndGVzdHMnLCBkYXRhLmlkXSB9KVxuICAgICAgY29uc29sZS5sb2coJ2RlbGV0ZURhdGEnLCBzYW1wbGVPcHRpb25zKVxuICAgICAgdGhpcy5kZWxldGVSZWNvcmQoc2FtcGxlT3B0aW9ucylcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class WsAiMessagingComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WsAiMessagingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: WsAiMessagingComponent, selector: "app-ws-ai-messaging", ngImport: i0, template: "<p>\n ws-ai-messaging works!\n</p>\n", styles: [""] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WsAiMessagingComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'app-ws-ai-messaging', template: "<p>\n ws-ai-messaging works!\n</p>\n" }]
|
|
13
|
+
}], ctorParameters: () => [] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtYWktbWVzc2FnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1haS1tZXNzYWdpbmcvd3MtYWktbWVzc2FnaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1haS1tZXNzYWdpbmcvd3MtYWktbWVzc2FnaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT2xELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7K0dBTFUsc0JBQXNCO21HQUF0QixzQkFBc0IsMkRDUG5DLHVDQUdBOzs0RkRJYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXdzLWFpLW1lc3NhZ2luZycsXG4gIHRlbXBsYXRlVXJsOiAnLi93cy1haS1tZXNzYWdpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93cy1haS1tZXNzYWdpbmcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFdzQWlNZXNzYWdpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPHA+XG4gIHdzLWFpLW1lc3NhZ2luZyB3b3JrcyFcbjwvcD5cbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Component, inject, Input } from '@angular/core';
|
|
2
|
+
import { RandomNumber } from '../../../../services/utils/encryption/random';
|
|
3
|
+
import { StateDataRequestService } from '../services/state-data-request.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/button";
|
|
7
|
+
import * as i3 from "@angular/material/chips";
|
|
8
|
+
import * as i4 from "@angular/material/table";
|
|
9
|
+
import * as i5 from "@angular/material/divider";
|
|
10
|
+
export class WsDataControlComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.stateDataRequestService = inject(StateDataRequestService);
|
|
13
|
+
this.user$ = this.stateDataRequestService.user$;
|
|
14
|
+
this.users$ = this.stateDataRequestService.userList$;
|
|
15
|
+
this.data$ = this.stateDataRequestService.data$;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.stateDataRequestService.updateConnection(this.server, this.wsServer, this.jwtToken, this.user);
|
|
19
|
+
this.stateDataRequestService.getData();
|
|
20
|
+
}
|
|
21
|
+
onGetData() {
|
|
22
|
+
this.stateDataRequestService.getData();
|
|
23
|
+
}
|
|
24
|
+
onAddData() {
|
|
25
|
+
this.stateDataRequestService.addData();
|
|
26
|
+
}
|
|
27
|
+
onUpdateData(data) {
|
|
28
|
+
const num = RandomNumber(1000, 9999);
|
|
29
|
+
const newData = {
|
|
30
|
+
"spiffe": `wavecoders.com/developer/${num}`,
|
|
31
|
+
"id": 63,
|
|
32
|
+
"last_name": "boni",
|
|
33
|
+
"email": "mikeboni@hotmail.com",
|
|
34
|
+
"first_name": "mike"
|
|
35
|
+
};
|
|
36
|
+
this.stateDataRequestService.updateData(newData);
|
|
37
|
+
}
|
|
38
|
+
onRemoveData(data) {
|
|
39
|
+
const lastRec = data[data.length - 1];
|
|
40
|
+
this.stateDataRequestService.deleteData(lastRec);
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WsDataControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: WsDataControlComponent, selector: "app-ws-data-control", inputs: { server: "server", wsServer: "wsServer", jwtToken: "jwtToken", user: "user" }, ngImport: i0, template: "<div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem;\">\n\n <div *ngIf=\"(users$ |async) as users\">\n <h3 style=\"margin: 0;\" *ngIf=\"users.length > 0; else NO_USERS\">Connected Users</h3>\n <mat-chip-set>\n <mat-chip *ngFor=\"let user of users\">\n {{ user.name }}\n </mat-chip>\n </mat-chip-set>\n <ng-template #NO_USERS>\n <h3 style=\"margin: 0;\">No Users</h3>\n </ng-template>\n\n </div>\n\n <div style=\"margin-top: 1rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n\n <h3 style=\"margin: 0;\">Data Actions</h3>\n <div style=\"display: flex; gap: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onGetData()\">Get Data</button>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button color=\"accent\" (click)=\"onUpdateData(data)\">Update Data</button>\n <button mat-stroked-button color=\"warn\" (click)=\"onRemoveData(data)\">Remove Data</button>\n <button mat-stroked-button color=\"primary\" (click)=\"onAddData()\">Add Data</button>\n </div>\n\n <div *ngIf=\"data.length > 0; else NO_DATA\">\n\n <table mat-table [dataSource]=\"data\" style=\"border: 1px solid grey;\">\n <ng-container matColumnDef=\"id\">\n <th mat-header-cell *matHeaderCellDef> ID </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.id}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"spiffe\">\n <th mat-header-cell *matHeaderCellDef> Spiffe </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.spiffe}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.first_name}} {{element.last_name}}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell *matHeaderCellDef> Email </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.email}} </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"['id', 'spiffe', 'name', 'email']\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['id', 'spiffe', 'name', 'email'];\"></tr>\n </table>\n\n <div style=\"border: 1px solid grey; padding: .5rem; border-top: none;\">\n <h3 style=\"margin: 0;\">Total Records {{ data.length }}</h3>\n </div>\n\n </div>\n <ng-template #NO_DATA>\n <div style=\"margin-top: 1rem; font-style: italic;\">\n No Data Available\n </div>\n </ng-template>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i3.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WsDataControlComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'app-ws-data-control', template: "<div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem;\">\n\n <div *ngIf=\"(users$ |async) as users\">\n <h3 style=\"margin: 0;\" *ngIf=\"users.length > 0; else NO_USERS\">Connected Users</h3>\n <mat-chip-set>\n <mat-chip *ngFor=\"let user of users\">\n {{ user.name }}\n </mat-chip>\n </mat-chip-set>\n <ng-template #NO_USERS>\n <h3 style=\"margin: 0;\">No Users</h3>\n </ng-template>\n\n </div>\n\n <div style=\"margin-top: 1rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n\n <h3 style=\"margin: 0;\">Data Actions</h3>\n <div style=\"display: flex; gap: 1rem; margin-bottom: 1rem;\">\n <button mat-stroked-button (click)=\"onGetData()\">Get Data</button>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button color=\"accent\" (click)=\"onUpdateData(data)\">Update Data</button>\n <button mat-stroked-button color=\"warn\" (click)=\"onRemoveData(data)\">Remove Data</button>\n <button mat-stroked-button color=\"primary\" (click)=\"onAddData()\">Add Data</button>\n </div>\n\n <div *ngIf=\"data.length > 0; else NO_DATA\">\n\n <table mat-table [dataSource]=\"data\" style=\"border: 1px solid grey;\">\n <ng-container matColumnDef=\"id\">\n <th mat-header-cell *matHeaderCellDef> ID </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.id}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"spiffe\">\n <th mat-header-cell *matHeaderCellDef> Spiffe </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.spiffe}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.first_name}} {{element.last_name}}</td>\n </ng-container>\n\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell *matHeaderCellDef> Email </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.email}} </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"['id', 'spiffe', 'name', 'email']\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['id', 'spiffe', 'name', 'email'];\"></tr>\n </table>\n\n <div style=\"border: 1px solid grey; padding: .5rem; border-top: none;\">\n <h3 style=\"margin: 0;\">Total Records {{ data.length }}</h3>\n </div>\n\n </div>\n <ng-template #NO_DATA>\n <div style=\"margin-top: 1rem; font-style: italic;\">\n No Data Available\n </div>\n </ng-template>\n\n</div>\n" }]
|
|
48
|
+
}], propDecorators: { server: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], wsServer: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], jwtToken: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], user: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZGF0YS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1kYXRhLWNvbnRyb2wvd3MtZGF0YS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1kYXRhLWNvbnRyb2wvd3MtZGF0YS1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7QUFPakYsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQVlFLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBRXpELFVBQUssR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFBO1FBQzFDLFdBQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFBO1FBRS9DLFVBQUssR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDO0tBb0M1QztJQWxDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDeEMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDeEMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDeEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFXO1FBRXRCLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFcEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxRQUFRLEVBQUUsNEJBQTRCLEdBQUcsRUFBRTtZQUMzQyxJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxNQUFNO1lBQ25CLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQTtRQUVELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFbEQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbEQsQ0FBQzsrR0E5Q1Usc0JBQXNCO21HQUF0QixzQkFBc0IsbUpDVm5DLDhoRkFtRUE7OzRGRHpEYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQU10QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSYW5kb21OdW1iZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9lbmNyeXB0aW9uL3JhbmRvbSc7XG5cbmltcG9ydCB7IFN0YXRlRGF0YVJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RhdGUtZGF0YS1yZXF1ZXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtd3MtZGF0YS1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dzLWRhdGEtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dzLWRhdGEtY29udHJvbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV3NEYXRhQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgc2VydmVyITogc3RyaW5nO1xuICBASW5wdXQoKSB3c1NlcnZlciE6IHN0cmluZztcbiAgQElucHV0KCkgand0VG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVzZXIhOiBhbnk7XG5cbiAgc3RhdGVEYXRhUmVxdWVzdFNlcnZpY2UgPSBpbmplY3QoU3RhdGVEYXRhUmVxdWVzdFNlcnZpY2UpXG5cbiAgdXNlciQgPSB0aGlzLnN0YXRlRGF0YVJlcXVlc3RTZXJ2aWNlLnVzZXIkXG4gIHVzZXJzJCA9IHRoaXMuc3RhdGVEYXRhUmVxdWVzdFNlcnZpY2UudXNlckxpc3QkXG5cbiAgZGF0YSQgPSB0aGlzLnN0YXRlRGF0YVJlcXVlc3RTZXJ2aWNlLmRhdGEkO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RhdGVEYXRhUmVxdWVzdFNlcnZpY2UudXBkYXRlQ29ubmVjdGlvbih0aGlzLnNlcnZlciwgdGhpcy53c1NlcnZlciwgdGhpcy5qd3RUb2tlbiwgdGhpcy51c2VyKTtcbiAgICB0aGlzLnN0YXRlRGF0YVJlcXVlc3RTZXJ2aWNlLmdldERhdGEoKVxuICB9XG5cbiAgb25HZXREYXRhKCkge1xuICAgIHRoaXMuc3RhdGVEYXRhUmVxdWVzdFNlcnZpY2UuZ2V0RGF0YSgpXG4gIH1cblxuICBvbkFkZERhdGEoKSB7XG4gICAgdGhpcy5zdGF0ZURhdGFSZXF1ZXN0U2VydmljZS5hZGREYXRhKClcbiAgfVxuXG4gIG9uVXBkYXRlRGF0YShkYXRhOiBhbnlbXSkge1xuXG4gICAgY29uc3QgbnVtID0gUmFuZG9tTnVtYmVyKDEwMDAsIDk5OTkpXG5cbiAgICBjb25zdCBuZXdEYXRhID0ge1xuICAgICAgXCJzcGlmZmVcIjogYHdhdmVjb2RlcnMuY29tL2RldmVsb3Blci8ke251bX1gLFxuICAgICAgXCJpZFwiOiA2MyxcbiAgICAgIFwibGFzdF9uYW1lXCI6IFwiYm9uaVwiLFxuICAgICAgXCJlbWFpbFwiOiBcIm1pa2Vib25pQGhvdG1haWwuY29tXCIsXG4gICAgICBcImZpcnN0X25hbWVcIjogXCJtaWtlXCJcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlRGF0YVJlcXVlc3RTZXJ2aWNlLnVwZGF0ZURhdGEobmV3RGF0YSlcblxuICB9XG5cbiAgb25SZW1vdmVEYXRhKGRhdGE6IGFueSkge1xuICAgIGNvbnN0IGxhc3RSZWMgPSBkYXRhW2RhdGEubGVuZ3RoIC0xXVxuICAgIHRoaXMuc3RhdGVEYXRhUmVxdWVzdFNlcnZpY2UuZGVsZXRlRGF0YShsYXN0UmVjKVxuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCIoZGF0YSQgfCBhc3luYykgYXMgZGF0YVwiIHN0eWxlPVwibWFyZ2luOiAxcmVtO1wiPlxuXG4gIDxkaXYgKm5nSWY9XCIodXNlcnMkIHxhc3luYykgYXMgdXNlcnNcIj5cbiAgICA8aDMgc3R5bGU9XCJtYXJnaW46IDA7XCIgKm5nSWY9XCJ1c2Vycy5sZW5ndGggPiAwOyBlbHNlIE5PX1VTRVJTXCI+Q29ubmVjdGVkIFVzZXJzPC9oMz5cbiAgICA8bWF0LWNoaXAtc2V0PlxuICAgICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCB1c2VyIG9mIHVzZXJzXCI+XG4gICAgICAgIHt7IHVzZXIubmFtZSB9fVxuICAgICAgPC9tYXQtY2hpcD5cbiAgICA8L21hdC1jaGlwLXNldD5cbiAgICA8bmctdGVtcGxhdGUgI05PX1VTRVJTPlxuICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOiAwO1wiPk5vIFVzZXJzPC9oMz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO1wiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L2Rpdj5cblxuICA8aDMgc3R5bGU9XCJtYXJnaW46IDA7XCI+RGF0YSBBY3Rpb25zPC9oMz5cbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgbWFyZ2luLWJvdHRvbTogMXJlbTtcIj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwib25HZXREYXRhKClcIj5HZXQgRGF0YTwvYnV0dG9uPlxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OjFcIj48L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJvblVwZGF0ZURhdGEoZGF0YSlcIj5VcGRhdGUgRGF0YTwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJvblJlbW92ZURhdGEoZGF0YSlcIj5SZW1vdmUgRGF0YTwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkFkZERhdGEoKVwiPkFkZCBEYXRhPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXRhLmxlbmd0aCA+IDA7IGVsc2UgTk9fREFUQVwiPlxuXG4gICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFcIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaWRcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gSUQgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmlkfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzcGlmZmVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gU3BpZmZlIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC5zcGlmZmV9fSA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5hbWVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gTmFtZSA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuZmlyc3RfbmFtZX19IHt7ZWxlbWVudC5sYXN0X25hbWV9fTwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZW1haWxcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRW1haWwgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmVtYWlsfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJbJ2lkJywgJ3NwaWZmZScsICduYW1lJywgJ2VtYWlsJ11cIj48L3RyPlxuICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogWydpZCcsICdzcGlmZmUnLCAnbmFtZScsICdlbWFpbCddO1wiPjwvdHI+XG4gICAgICA8L3RhYmxlPlxuXG4gICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgZ3JleTsgcGFkZGluZzogLjVyZW07IGJvcmRlci10b3A6IG5vbmU7XCI+XG4gICAgICAgIDxoMyBzdHlsZT1cIm1hcmdpbjogMDtcIj5Ub3RhbCBSZWNvcmRzIHt7IGRhdGEubGVuZ3RoIH19PC9oMz5cbiAgICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI05PX0RBVEE+XG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW07IGZvbnQtc3R5bGU6IGl0YWxpYztcIj5cbiAgICAgIE5vIERhdGEgQXZhaWxhYmxlXG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Component, inject, Input } from '@angular/core';
|
|
2
|
+
import { StateRequestServiceDemo } from '../../services/state-request-demo.service';
|
|
3
|
+
import { FormBuilder, Validators } from '@angular/forms';
|
|
4
|
+
import { ChannelMessage, CommunicationType } from '../../../..';
|
|
5
|
+
import { combineLatest, map, EMPTY } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
import * as i3 from "@angular/material/button";
|
|
10
|
+
import * as i4 from "@angular/material/form-field";
|
|
11
|
+
import * as i5 from "@angular/material/select";
|
|
12
|
+
import * as i6 from "@angular/material/core";
|
|
13
|
+
import * as i7 from "@angular/material/input";
|
|
14
|
+
export class WsMessagingComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.fb = inject(FormBuilder);
|
|
17
|
+
this.stateRequestServiceDemo = inject(StateRequestServiceDemo);
|
|
18
|
+
this.user$ = this.stateRequestServiceDemo.user$;
|
|
19
|
+
this.users$ = this.stateRequestServiceDemo.userList$;
|
|
20
|
+
this.data$ = this.stateRequestServiceDemo.data$;
|
|
21
|
+
this.messages = this.fb.group({
|
|
22
|
+
toUser: this.fb.control(null, Validators.required),
|
|
23
|
+
content: this.fb.control(null, Validators.required),
|
|
24
|
+
});
|
|
25
|
+
this.communicationMessages$ = this.stateRequestServiceDemo.communicationMessages$;
|
|
26
|
+
this.latestCommunicationMessages$ = this.stateRequestServiceDemo.latestCommunicationMessages$;
|
|
27
|
+
this.chat$ = combineLatest([this.user$, this.communicationMessages$])
|
|
28
|
+
.pipe(map(([user, messages]) => ({ user, messages })), map(obj => {
|
|
29
|
+
if (!obj.user)
|
|
30
|
+
return EMPTY;
|
|
31
|
+
// const mainUser = UserName.adapt({
|
|
32
|
+
// id: obj.user.username,
|
|
33
|
+
// first: obj.user?.name?.first,
|
|
34
|
+
// last: obj.user?.name?.last,
|
|
35
|
+
// })
|
|
36
|
+
const mainUser = '';
|
|
37
|
+
const messages = obj.messages.map((item) => {
|
|
38
|
+
if (item.toUser === 'allChannels') {
|
|
39
|
+
// item.toUser = UserName.adapt({
|
|
40
|
+
// id: '',
|
|
41
|
+
// first: 'All Users',
|
|
42
|
+
// last: '',
|
|
43
|
+
// })
|
|
44
|
+
}
|
|
45
|
+
// return Message.adapt({
|
|
46
|
+
// fromUser: {
|
|
47
|
+
// id: item.fromUser.username,
|
|
48
|
+
// first: item.fromUser?.name?.first,
|
|
49
|
+
// last: item.fromUser?.name?.last,
|
|
50
|
+
// },
|
|
51
|
+
// toUser: {
|
|
52
|
+
// id: item.toUser.username,
|
|
53
|
+
// first: item.toUser?.name?.first,
|
|
54
|
+
// last: item.toUser?.name?.last,
|
|
55
|
+
// },
|
|
56
|
+
// content: item.content,
|
|
57
|
+
// date: item.issued,
|
|
58
|
+
// })
|
|
59
|
+
});
|
|
60
|
+
return { user: mainUser, messages };
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
get toUser() {
|
|
64
|
+
return this.messages.get('toUser');
|
|
65
|
+
}
|
|
66
|
+
get content() {
|
|
67
|
+
return this.messages.get('content');
|
|
68
|
+
}
|
|
69
|
+
get isValid() {
|
|
70
|
+
return this.toUser.valid;
|
|
71
|
+
}
|
|
72
|
+
ngOnInit() {
|
|
73
|
+
this.stateRequestServiceDemo.updateConnection(this.server, this.wsServer, this.jwtToken, this.user);
|
|
74
|
+
// this.stateRequestServiceDemo.getData()
|
|
75
|
+
}
|
|
76
|
+
onSendMessage() {
|
|
77
|
+
this.messages.markAllAsTouched();
|
|
78
|
+
if (this.messages.invalid)
|
|
79
|
+
return;
|
|
80
|
+
const message = ChannelMessage.adapt(this.messages.value);
|
|
81
|
+
this.stateRequestServiceDemo.sendMessage(message);
|
|
82
|
+
this.content.reset();
|
|
83
|
+
}
|
|
84
|
+
onSendAlert() {
|
|
85
|
+
this.messages.markAllAsTouched();
|
|
86
|
+
if (this.messages.invalid)
|
|
87
|
+
return;
|
|
88
|
+
const message = ChannelMessage.adapt({ ...this.messages.value, type: CommunicationType.ALERT });
|
|
89
|
+
this.stateRequestServiceDemo.sendMessage(message);
|
|
90
|
+
this.content.reset();
|
|
91
|
+
}
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WsMessagingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: WsMessagingComponent, selector: "app-ws-messaging", inputs: { server: "server", wsServer: "wsServer", jwtToken: "jwtToken", user: "user" }, ngImport: i0, template: "<div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n\n <div *ngIf=\"(users$ | async) as users\">\n\n <div style=\"display: flex; gap: 1rem\">\n\n <div style=\"flex:1\" [formGroup]=\"messages\">\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Users</mat-label>\n <mat-select formControlName=\"toUser\">\n <mat-option value=\"allChannels\" #selectedUser>\n All Users\n </mat-option>\n <mat-option *ngFor=\"let user of users\" [value]=\"user\">\n {{ user.username }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Send a Message</mat-label>\n <textarea\n matInput placeholder=\"Ex. It makes me feel...\"\n formControlName=\"content\"\n (keydown.enter)=\"onSendMessage(); $event.preventDefault()\"\n [disabled]=\"!isValid\"\n ></textarea>\n </mat-form-field>\n </div>\n <div style=\"display:flex; gap: .5rem;\">\n <div style=\"flex:1\"></div>\n <button mat-stroked-button (click)=\"onSendMessage()\" color=\"warn\">\n Send Alert\n </button>\n <button mat-stroked-button (click)=\"onSendAlert()\">\n Send Message\n </button>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"(chat$ | async) as chat\" style=\"border: thin gray solid; padding: 1rem; margin-top: 1rem;\">\n <!-- <app-messenger-chat\n [user]=\"chat.user\"\n [messages]=\"chat.messages\"\n ></app-messenger-chat> -->\n </div>\n\n </div>\n\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WsMessagingComponent, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ selector: 'app-ws-messaging', template: "<div *ngIf=\"(data$ | async) as data\" style=\"margin: 1rem; display: flex; gap: 1rem; flex-direction: column;\">\n\n <div *ngIf=\"(user$ | async) as userInfo\">\n\n <div *ngIf=\"(users$ | async) as users\">\n\n <div style=\"display: flex; gap: 1rem\">\n\n <div style=\"flex:1\" [formGroup]=\"messages\">\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Users</mat-label>\n <mat-select formControlName=\"toUser\">\n <mat-option value=\"allChannels\" #selectedUser>\n All Users\n </mat-option>\n <mat-option *ngFor=\"let user of users\" [value]=\"user\">\n {{ user.username }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div style=\"display:flex\">\n <mat-form-field style=\"flex:1\" appearance=\"outline\">\n <mat-label>Send a Message</mat-label>\n <textarea\n matInput placeholder=\"Ex. It makes me feel...\"\n formControlName=\"content\"\n (keydown.enter)=\"onSendMessage(); $event.preventDefault()\"\n [disabled]=\"!isValid\"\n ></textarea>\n </mat-form-field>\n </div>\n <div style=\"display:flex; gap: .5rem;\">\n <div style=\"flex:1\"></div>\n <button mat-stroked-button (click)=\"onSendMessage()\" color=\"warn\">\n Send Alert\n </button>\n <button mat-stroked-button (click)=\"onSendAlert()\">\n Send Message\n </button>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"(chat$ | async) as chat\" style=\"border: thin gray solid; padding: 1rem; margin-top: 1rem;\">\n <!-- <app-messenger-chat\n [user]=\"chat.user\"\n [messages]=\"chat.messages\"\n ></app-messenger-chat> -->\n </div>\n\n </div>\n\n </div>\n\n</div>\n" }]
|
|
98
|
+
}], propDecorators: { server: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], wsServer: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], jwtToken: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], user: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}] } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtbWVzc2FnaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1tZXNzYWdpbmcvd3MtbWVzc2FnaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLXdzLWRlbW8vY29tcG9uZW50cy93cy1tZXNzYWdpbmcvd3MtbWVzc2FnaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEUsT0FBTyxFQUFjLGFBQWEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPN0QsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVlFLE9BQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDeEIsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFFekQsVUFBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUE7UUFDMUMsV0FBTSxHQUFHLElBQUksQ0FBQyx1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Q3pELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztZQUFFLE9BQU07UUFDakMsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDL0YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3RCLENBQUM7K0dBcEdVLG9CQUFvQjttR0FBcEIsb0JBQW9CLGdKQ1hqQyxraUVBeURBOzs0RkQ5Q2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFNbkIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdGVSZXF1ZXN0U2VydmljZURlbW8gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdGF0ZS1yZXF1ZXN0LWRlbW8uc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGFubmVsTWVzc2FnZSwgQ29tbXVuaWNhdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAsIEVNUFRZIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC13cy1tZXNzYWdpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3MtbWVzc2FnaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd3MtbWVzc2FnaW5nLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBXc01lc3NhZ2luZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgc2VydmVyITogc3RyaW5nO1xuICBASW5wdXQoKSB3c1NlcnZlciE6IHN0cmluZztcbiAgQElucHV0KCkgand0VG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVzZXIhOiBhbnk7XG5cbiAgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXG4gIHN0YXRlUmVxdWVzdFNlcnZpY2VEZW1vID0gaW5qZWN0KFN0YXRlUmVxdWVzdFNlcnZpY2VEZW1vKVxuXG4gIHVzZXIkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlRGVtby51c2VyJFxuICB1c2VycyQgPSB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2VEZW1vLnVzZXJMaXN0JFxuXG4gIGRhdGEkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlRGVtby5kYXRhJDtcblxuICBtZXNzYWdlcyA9IHRoaXMuZmIuZ3JvdXA8YW55Pih7XG4gICAgdG9Vc2VyOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nfG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIGNvbnRlbnQ6IHRoaXMuZmIuY29udHJvbDxzdHJpbmd8bnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gIH0pXG5cbiAgZ2V0IHRvVXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5nZXQoJ3RvVXNlcicpIGFzIEZvcm1Db250cm9sXG4gIH1cblxuICBnZXQgY29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5nZXQoJ2NvbnRlbnQnKSBhcyBGb3JtQ29udHJvbFxuICB9XG5cbiAgZ2V0IGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9Vc2VyLnZhbGlkXG4gIH1cblxuICBjb21tdW5pY2F0aW9uTWVzc2FnZXMkID0gdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlRGVtby5jb21tdW5pY2F0aW9uTWVzc2FnZXMkXG4gIGxhdGVzdENvbW11bmljYXRpb25NZXNzYWdlcyQgPSB0aGlzLnN0YXRlUmVxdWVzdFNlcnZpY2VEZW1vLmxhdGVzdENvbW11bmljYXRpb25NZXNzYWdlcyRcblxuICBjaGF0JDogT2JzZXJ2YWJsZTx7IHVzZXI6IGFueSwgbWVzc2FnZXM6IGFueVtdfXxhbnk+ID0gY29tYmluZUxhdGVzdChbdGhpcy51c2VyJCwgdGhpcy5jb21tdW5pY2F0aW9uTWVzc2FnZXMkXSlcbiAgLnBpcGUoXG4gICAgbWFwKChbdXNlciwgbWVzc2FnZXNdOiBhbnkpID0+ICh7IHVzZXIsIG1lc3NhZ2VzIH0pKSxcbiAgICBtYXAob2JqID0+IHtcblxuICAgICAgaWYoIW9iai51c2VyKSByZXR1cm4gRU1QVFlcblxuICAgICAgLy8gY29uc3QgbWFpblVzZXIgPSBVc2VyTmFtZS5hZGFwdCh7XG4gICAgICAvLyAgICAgaWQ6IG9iai51c2VyLnVzZXJuYW1lLFxuICAgICAgLy8gICAgIGZpcnN0OiBvYmoudXNlcj8ubmFtZT8uZmlyc3QsXG4gICAgICAvLyAgICAgbGFzdDogb2JqLnVzZXI/Lm5hbWU/Lmxhc3QsXG4gICAgICAvLyB9KVxuXG4gICAgICBjb25zdCBtYWluVXNlciA9ICcnXG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VzID0gb2JqLm1lc3NhZ2VzLm1hcCgoaXRlbTogYW55KSA9PiB7XG5cbiAgICAgICAgaWYoaXRlbS50b1VzZXIgPT09ICdhbGxDaGFubmVscycpIHtcbiAgICAgICAgICAvLyBpdGVtLnRvVXNlciA9IFVzZXJOYW1lLmFkYXB0KHtcbiAgICAgICAgICAvLyAgICAgaWQ6ICcnLFxuICAgICAgICAgIC8vICAgICBmaXJzdDogJ0FsbCBVc2VycycsXG4gICAgICAgICAgLy8gICAgIGxhc3Q6ICcnLFxuICAgICAgICAgIC8vIH0pXG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXR1cm4gTWVzc2FnZS5hZGFwdCh7XG4gICAgICAgIC8vICAgICBmcm9tVXNlcjoge1xuICAgICAgICAvLyAgICAgICBpZDogaXRlbS5mcm9tVXNlci51c2VybmFtZSxcbiAgICAgICAgLy8gICAgICAgZmlyc3Q6IGl0ZW0uZnJvbVVzZXI/Lm5hbWU/LmZpcnN0LFxuICAgICAgICAvLyAgICAgICBsYXN0OiBpdGVtLmZyb21Vc2VyPy5uYW1lPy5sYXN0LFxuICAgICAgICAvLyAgICAgfSxcbiAgICAgICAgLy8gICAgIHRvVXNlcjoge1xuICAgICAgICAvLyAgICAgICBpZDogaXRlbS50b1VzZXIudXNlcm5hbWUsXG4gICAgICAgIC8vICAgICAgIGZpcnN0OiBpdGVtLnRvVXNlcj8ubmFtZT8uZmlyc3QsXG4gICAgICAgIC8vICAgICAgIGxhc3Q6IGl0ZW0udG9Vc2VyPy5uYW1lPy5sYXN0LFxuICAgICAgICAvLyAgICAgfSxcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IGl0ZW0uY29udGVudCxcbiAgICAgICAgLy8gICAgIGRhdGU6IGl0ZW0uaXNzdWVkLFxuICAgICAgICAvLyB9KVxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIHsgdXNlcjogbWFpblVzZXIsIG1lc3NhZ2VzIH1cblxuICAgIH0pXG4gICk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlRGVtby51cGRhdGVDb25uZWN0aW9uKHRoaXMuc2VydmVyLCB0aGlzLndzU2VydmVyLCB0aGlzLmp3dFRva2VuLCB0aGlzLnVzZXIpO1xuICAgIC8vIHRoaXMuc3RhdGVSZXF1ZXN0U2VydmljZURlbW8uZ2V0RGF0YSgpXG4gIH1cblxuICBvblNlbmRNZXNzYWdlKCkge1xuICAgIHRoaXMubWVzc2FnZXMubWFya0FsbEFzVG91Y2hlZCgpXG4gICAgaWYgKHRoaXMubWVzc2FnZXMuaW52YWxpZCkgcmV0dXJuXG4gICAgY29uc3QgbWVzc2FnZSA9IENoYW5uZWxNZXNzYWdlLmFkYXB0KHRoaXMubWVzc2FnZXMudmFsdWUpXG4gICAgdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlRGVtby5zZW5kTWVzc2FnZShtZXNzYWdlKVxuICAgIHRoaXMuY29udGVudC5yZXNldCgpXG4gIH1cblxuICBvblNlbmRBbGVydCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VzLm1hcmtBbGxBc1RvdWNoZWQoKVxuICAgIGlmICh0aGlzLm1lc3NhZ2VzLmludmFsaWQpIHJldHVyblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBDaGFubmVsTWVzc2FnZS5hZGFwdCh7IC4uLnRoaXMubWVzc2FnZXMudmFsdWUsIHR5cGU6IENvbW11bmljYXRpb25UeXBlLkFMRVJUIH0pXG4gICAgdGhpcy5zdGF0ZVJlcXVlc3RTZXJ2aWNlRGVtby5zZW5kTWVzc2FnZShtZXNzYWdlKVxuICAgIHRoaXMuY29udGVudC5yZXNldCgpXG4gIH1cblxufVxuIiwiPGRpdiAqbmdJZj1cIihkYXRhJCB8IGFzeW5jKSBhcyBkYXRhXCIgc3R5bGU9XCJtYXJnaW46IDFyZW07IGRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cblxuICA8ZGl2ICpuZ0lmPVwiKHVzZXIkIHwgYXN5bmMpIGFzIHVzZXJJbmZvXCI+XG5cbiAgICA8ZGl2ICAqbmdJZj1cIih1c2VycyQgfCBhc3luYykgYXMgdXNlcnNcIj5cblxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbVwiPlxuXG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OjFcIiBbZm9ybUdyb3VwXT1cIm1lc3NhZ2VzXCI+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleFwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwiZmxleDoxXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Vc2VyczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0b1VzZXJcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cImFsbENoYW5uZWxzXCIgI3NlbGVjdGVkVXNlcj5cbiAgICAgICAgICAgICAgICAgIEFsbCBVc2Vyc1xuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2Vyc1wiIFt2YWx1ZV09XCJ1c2VyXCI+XG4gICAgICAgICAgICAgICAgICB7eyB1c2VyLnVzZXJuYW1lIH19XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXhcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cImZsZXg6MVwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+U2VuZCBhIE1lc3NhZ2U8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJFeC4gSXQgbWFrZXMgbWUgZmVlbC4uLlwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udGVudFwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZW5kTWVzc2FnZSgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1ZhbGlkXCJcbiAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7IGdhcDogLjVyZW07XCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDoxXCI+PC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwib25TZW5kTWVzc2FnZSgpXCIgY29sb3I9XCJ3YXJuXCI+XG4gICAgICAgICAgICAgIFNlbmQgQWxlcnRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cIm9uU2VuZEFsZXJ0KClcIj5cbiAgICAgICAgICAgICAgU2VuZCBNZXNzYWdlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIihjaGF0JCB8IGFzeW5jKSBhcyBjaGF0XCIgc3R5bGU9XCJib3JkZXI6IHRoaW4gZ3JheSBzb2xpZDsgcGFkZGluZzogMXJlbTsgbWFyZ2luLXRvcDogMXJlbTtcIj5cbiAgICAgICAgPCEtLSA8YXBwLW1lc3Nlbmdlci1jaGF0XG4gICAgICAgICAgW3VzZXJdPVwiY2hhdC51c2VyXCJcbiAgICAgICAgICBbbWVzc2FnZXNdPVwiY2hhdC5tZXNzYWdlc1wiXG4gICAgICAgID48L2FwcC1tZXNzZW5nZXItY2hhdD4gLS0+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|