@techextensor/tab-sdk 0.0.41 → 0.0.42

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.
Files changed (35) hide show
  1. package/README.md +24 -24
  2. package/fesm2022/techextensor-tab-sdk.mjs +770 -48
  3. package/fesm2022/techextensor-tab-sdk.mjs.map +1 -1
  4. package/lib/interface/state.interface.d.ts +151 -0
  5. package/lib/model/component-state.model.d.ts +63 -0
  6. package/lib/model/query-state.model.d.ts +37 -0
  7. package/lib/model/screen-state.model.d.ts +56 -0
  8. package/lib/model/script-state.model.d.ts +21 -0
  9. package/lib/state/state.service.d.ts +101 -0
  10. package/lib/tab-sdk.service.d.ts +4 -0
  11. package/lib/ui/ui.service.d.ts +5 -5
  12. package/lib/workflow/workflow.service.d.ts +8 -0
  13. package/package.json +2 -4
  14. package/public-api.d.ts +1 -0
  15. package/esm2022/lib/app/analytics.service.mjs +0 -51
  16. package/esm2022/lib/app/app.service.mjs +0 -175
  17. package/esm2022/lib/app/file.service.mjs +0 -84
  18. package/esm2022/lib/app/release.service.mjs +0 -38
  19. package/esm2022/lib/app/report.service.mjs +0 -48
  20. package/esm2022/lib/app/translator.service.mjs +0 -77
  21. package/esm2022/lib/auth/auth.service.mjs +0 -95
  22. package/esm2022/lib/crud/crud.service.mjs +0 -191
  23. package/esm2022/lib/enum/store.enum.mjs +0 -6
  24. package/esm2022/lib/enum/ui.enum.mjs +0 -13
  25. package/esm2022/lib/http/http.service.mjs +0 -58
  26. package/esm2022/lib/interface/http.interface.mjs +0 -2
  27. package/esm2022/lib/interface/ui.interface.mjs +0 -2
  28. package/esm2022/lib/store/store.service.mjs +0 -829
  29. package/esm2022/lib/tab-sdk.service.mjs +0 -84
  30. package/esm2022/lib/ui/form.service.mjs +0 -79
  31. package/esm2022/lib/ui/ui.service.mjs +0 -344
  32. package/esm2022/lib/util/util.service.mjs +0 -54
  33. package/esm2022/lib/workflow/transition.service.mjs +0 -40
  34. package/esm2022/public-api.mjs +0 -9
  35. package/esm2022/techextensor-tab-sdk.mjs +0 -5
@@ -1,175 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { AppHelper } from '@techextensor/tab-core-utility';
3
- import { firstValueFrom } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export class AppService {
6
- _appHelper = inject(AppHelper);
7
- /**
8
- * Rebuilds the current app.
9
- *
10
- * @returns A promise that resolves to a common API response.
11
- */
12
- async rebuild(payload = {}, headers) {
13
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
14
- const response = await firstValueFrom(this._appHelper.rebuildApp(payload, headers));
15
- // Return the response from the server.
16
- return response;
17
- }
18
- /**
19
- * Retrieves the schema for the current app.
20
- *
21
- * @returns A promise that resolves to a common API response containing the schema.
22
- */
23
- async getSchema() {
24
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
25
- const response = await firstValueFrom(this._appHelper.getSchema());
26
- // Return the response from the server
27
- return response;
28
- }
29
- /**
30
- * Retrieves the current app's permission.
31
- *
32
- * @returns A promise that resolves to a common API response containing the permission information.
33
- */
34
- async getPermission() {
35
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
36
- const response = await firstValueFrom(this._appHelper.getPermission());
37
- // Return the response from the server
38
- return response;
39
- }
40
- /**
41
- * Registers app objects based on the provided payload.
42
- *
43
- * @param payload The register app objects payload.
44
- * @returns A promise that resolves to a common API response.
45
- */
46
- async registerAppObject(payload) {
47
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
48
- const response = await firstValueFrom(this._appHelper.registerAppObjects(payload));
49
- // Return the response from the server
50
- return response;
51
- }
52
- /**
53
- * Clones a data source query (DSQ) based on the provided payload.
54
- *
55
- * @param payload The clone DSQ payload.
56
- * @returns A promise that resolves to a common API response.
57
- */
58
- async cloneDsq(payload) {
59
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
60
- const response = await firstValueFrom(this._appHelper.cloneDsq(payload));
61
- // Return the response from the server
62
- return response;
63
- }
64
- /**
65
- * Retrieves data in JSON format based on the provided payload.
66
- *
67
- * @param payload The get data JSON by type payload.
68
- * @returns A promise that resolves to a common API response containing the data in JSON format.
69
- */
70
- async getDataJsonByType(payload) {
71
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
72
- const response = await firstValueFrom(this._appHelper.getDataJsonByType(payload));
73
- // Return the response from the server
74
- return response;
75
- }
76
- /**
77
- * Synchronizes the current app's fields based on the provided payload.
78
- *
79
- * @param payload The sync app fields payload.
80
- * @returns A promise that resolves to a common API response.
81
- */
82
- async syncAppFields(payload) {
83
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
84
- const response = await firstValueFrom(this._appHelper.syncAppFields(payload));
85
- // Return the response from the server
86
- return response;
87
- }
88
- /**
89
- * Sets the tab components based on the provided connection ID.
90
- *
91
- * @param connectionId The ID of the connection to set the components for.
92
- * @returns A promise that resolves to a common API response.
93
- */
94
- async setTabComponents(connectionId) {
95
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
96
- const response = await firstValueFrom(this._appHelper.setTabComponents(connectionId));
97
- // Return the response from the server
98
- return response;
99
- }
100
- /**
101
- * Performs validation for the connection with the provided ID.
102
- *
103
- * @param connectionId The ID of the connection to validate.
104
- * @returns A promise that resolves to a common API response containing the validation result.
105
- */
106
- async performValidation(connectionId) {
107
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
108
- const response = await firstValueFrom(this._appHelper.performValidation(connectionId));
109
- // Return the response from the server
110
- return response;
111
- }
112
- /**
113
- * Tests the connection with the provided connection ID.
114
- *
115
- * @param connectionId The ID of the connection to test.
116
- * @returns A promise that resolves to a common API response containing the test result.
117
- */
118
- async testConnection(connectionId) {
119
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
120
- const response = await firstValueFrom(this._appHelper.testConnection(connectionId));
121
- // Return the response from the server
122
- return response;
123
- }
124
- /**
125
- * Refreshes the global search data based on the provided payload.
126
- *
127
- * @param payload The refresh global search data payload.
128
- * @returns A promise that resolves to a common API response containing the refreshed global search data.
129
- */
130
- async refreshGlobalSearchData(payload) {
131
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
132
- const response = await firstValueFrom(this._appHelper.refreshGlobalSearchData(payload));
133
- // Return the response from the server
134
- return response;
135
- }
136
- /**
137
- * Refreshes the record information data based on the provided payload.
138
- *
139
- * @param payload The refresh record info data payload.
140
- * @returns A promise that resolves to a common API response containing the refreshed record info data.
141
- */
142
- async refreshRecordInfoData(payload) {
143
- // Use the firstValueFrom RxJs operator to await the completion of the observable
144
- const response = await firstValueFrom(this._appHelper.refreshRecordInfoData(payload));
145
- // Return the response from the server
146
- return response;
147
- }
148
- /**
149
- * Retrieves all documents from the database.
150
- *
151
- * @param headers Optional headers to pass to the server.
152
- * @returns A promise that resolves to a common API response containing all documents.
153
- */
154
- async getAllDocumnets(headers) {
155
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
156
- const response = await firstValueFrom(this._appHelper.getAllDocumnets(headers));
157
- // Return the response from the server
158
- return response;
159
- }
160
- async getDocumentById(id, headers) {
161
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
162
- const response = await firstValueFrom(this._appHelper.getDocumentById(id, headers));
163
- // Return the response from the server
164
- return response;
165
- }
166
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
167
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppService, providedIn: 'root' });
168
- }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AppService, decorators: [{
170
- type: Injectable,
171
- args: [{
172
- providedIn: 'root'
173
- }]
174
- }] });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWItc2RrL3NyYy9saWIvYXBwL2FwcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQStLLE1BQU0sZ0NBQWdDLENBQUM7QUFDeE8sT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdEMsTUFBTSxPQUFPLFVBQVU7SUFDWCxVQUFVLEdBQWMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWxEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQWUsRUFBRSxFQUFFLE9BQWE7UUFDMUMsOEVBQThFO1FBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQy9DLENBQUM7UUFDRix1Q0FBdUM7UUFDdkMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsU0FBUztRQUNYLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FDOUIsQ0FBQztRQUNGLHNDQUFzQztRQUN0QyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxhQUFhO1FBQ2YsOEVBQThFO1FBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUNsQyxDQUFDO1FBQ0Ysc0NBQXNDO1FBQ3RDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFrQztRQUN0RCw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQzlDLENBQUM7UUFDRixzQ0FBc0M7UUFDdEMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUF3QjtRQUNuQyw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUNwQyxDQUFDO1FBQ0Ysc0NBQXNDO1FBQ3RDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFpQztRQUNyRCw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQzdDLENBQUM7UUFDRixzQ0FBc0M7UUFDdEMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUE2QjtRQUM3Qyw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUN6QyxDQUFDO1FBQ0Ysc0NBQXNDO1FBQ3RDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFvQjtRQUN2Qyw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQ2pELENBQUM7UUFDRixzQ0FBc0M7UUFDdEMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFlBQW9CO1FBQ3hDLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FDbEQsQ0FBQztRQUNGLHNDQUFzQztRQUN0QyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQW9CO1FBQ3JDLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQy9DLENBQUM7UUFDRixzQ0FBc0M7UUFDdEMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE9BQXVDO1FBQ2pFLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FDbkQsQ0FBQztRQUNGLHNDQUFzQztRQUN0QyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBcUM7UUFDN0QsaUZBQWlGO1FBQ2pGLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUNqRCxDQUFDO1FBRUYsc0NBQXNDO1FBQ3RDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBYTtRQUMvQiw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUMzQyxDQUFDO1FBRUYsc0NBQXNDO1FBQ3RDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQVUsRUFBRSxPQUFhO1FBQzNDLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUMvQyxDQUFDO1FBRUYsc0NBQXNDO1FBQ3RDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7d0dBN01RLFVBQVU7NEdBQVYsVUFBVSxjQUZQLE1BQU07OzRGQUVULFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBIZWxwZXIsIENsb25lRHNxUGF5bG9hZCwgQ29tbW9uQXBpUmVzcG9uc2UsIEdldERhdGFKc29uQnlUeXBlUGF5bG9hZCwgUmVmcmVzaEdsb2JhbFNlYXJjaERhdGFQYXlsb2FkLCBSZWZyZXNoUmVjb3JkSW5mb0RhdGFQYXlsb2FkLCBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkLCBTeW5jQXBwRmllbGRzUGF5bG9hZCB9IGZyb20gJ0B0ZWNoZXh0ZW5zb3IvdGFiLWNvcmUtdXRpbGl0eSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcFNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2FwcEhlbHBlcjogQXBwSGVscGVyID0gaW5qZWN0KEFwcEhlbHBlcik7XG5cbiAgICAvKipcbiAgICAgKiBSZWJ1aWxkcyB0aGUgY3VycmVudCBhcHAuXG4gICAgICogXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBjb21tb24gQVBJIHJlc3BvbnNlLlxuICAgICAqL1xuICAgIGFzeW5jIHJlYnVpbGQocGF5bG9hZDogYW55ID0ge30sIGhlYWRlcnM/OiBhbnkpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXBwSGVscGVyLnJlYnVpbGRBcHAocGF5bG9hZCwgaGVhZGVycylcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHNjaGVtYSBmb3IgdGhlIGN1cnJlbnQgYXBwLlxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIHRoZSBzY2hlbWEuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0U2NoZW1hKCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIuZ2V0U2NoZW1hKClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBhcHAncyBwZXJtaXNzaW9uLlxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIHRoZSBwZXJtaXNzaW9uIGluZm9ybWF0aW9uLlxuICAgICAqL1xuICAgIGFzeW5jIGdldFBlcm1pc3Npb24oKTogUHJvbWlzZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBVc2UgdGhlIGZpcnN0VmFsdWVGcm9tIFJ4SnMgb3BlcmF0b3IgdG8gd2FpdCBmb3IgdGhlIG9ic2VydmFibGUgdG8gY29tcGxldGVcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuX2FwcEhlbHBlci5nZXRQZXJtaXNzaW9uKClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhcHAgb2JqZWN0cyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcmVnaXN0ZXIgYXBwIG9iamVjdHMgcGF5bG9hZC5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UuXG4gICAgICovXG4gICAgYXN5bmMgcmVnaXN0ZXJBcHBPYmplY3QocGF5bG9hZDogUmVnaXN0ZXJBcHBPYmplY3RzUGF5bG9hZCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIucmVnaXN0ZXJBcHBPYmplY3RzKHBheWxvYWQpXG4gICAgICAgICk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9uZXMgYSBkYXRhIHNvdXJjZSBxdWVyeSAoRFNRKSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgY2xvbmUgRFNRIHBheWxvYWQuXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBjb21tb24gQVBJIHJlc3BvbnNlLlxuICAgICAqL1xuICAgIGFzeW5jIGNsb25lRHNxKHBheWxvYWQ6IENsb25lRHNxUGF5bG9hZCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIuY2xvbmVEc3EocGF5bG9hZClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBkYXRhIGluIEpTT04gZm9ybWF0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBnZXQgZGF0YSBKU09OIGJ5IHR5cGUgcGF5bG9hZC5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UgY29udGFpbmluZyB0aGUgZGF0YSBpbiBKU09OIGZvcm1hdC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXREYXRhSnNvbkJ5VHlwZShwYXlsb2FkOiBHZXREYXRhSnNvbkJ5VHlwZVBheWxvYWQpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXBwSGVscGVyLmdldERhdGFKc29uQnlUeXBlKHBheWxvYWQpXG4gICAgICAgICk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTeW5jaHJvbml6ZXMgdGhlIGN1cnJlbnQgYXBwJ3MgZmllbGRzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBzeW5jIGFwcCBmaWVsZHMgcGF5bG9hZC5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UuXG4gICAgICovXG4gICAgYXN5bmMgc3luY0FwcEZpZWxkcyhwYXlsb2FkOiBTeW5jQXBwRmllbGRzUGF5bG9hZCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIuc3luY0FwcEZpZWxkcyhwYXlsb2FkKVxuICAgICAgICApO1xuICAgICAgICAvLyBSZXR1cm4gdGhlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgdGFiIGNvbXBvbmVudHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGNvbm5lY3Rpb24gSUQuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNvbm5lY3Rpb25JZCBUaGUgSUQgb2YgdGhlIGNvbm5lY3Rpb24gdG8gc2V0IHRoZSBjb21wb25lbnRzIGZvci5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UuXG4gICAgICovXG4gICAgYXN5bmMgc2V0VGFiQ29tcG9uZW50cyhjb25uZWN0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIuc2V0VGFiQ29tcG9uZW50cyhjb25uZWN0aW9uSWQpXG4gICAgICAgICk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyB2YWxpZGF0aW9uIGZvciB0aGUgY29ubmVjdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBJRC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY29ubmVjdGlvbklkIFRoZSBJRCBvZiB0aGUgY29ubmVjdGlvbiB0byB2YWxpZGF0ZS5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UgY29udGFpbmluZyB0aGUgdmFsaWRhdGlvbiByZXN1bHQuXG4gICAgICovXG4gICAgYXN5bmMgcGVyZm9ybVZhbGlkYXRpb24oY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXBwSGVscGVyLnBlcmZvcm1WYWxpZGF0aW9uKGNvbm5lY3Rpb25JZClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRlc3RzIHRoZSBjb25uZWN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIGNvbm5lY3Rpb24gSUQuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNvbm5lY3Rpb25JZCBUaGUgSUQgb2YgdGhlIGNvbm5lY3Rpb24gdG8gdGVzdC5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UgY29udGFpbmluZyB0aGUgdGVzdCByZXN1bHQuXG4gICAgICovXG4gICAgYXN5bmMgdGVzdENvbm5lY3Rpb24oY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXBwSGVscGVyLnRlc3RDb25uZWN0aW9uKGNvbm5lY3Rpb25JZClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZnJlc2hlcyB0aGUgZ2xvYmFsIHNlYXJjaCBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSByZWZyZXNoIGdsb2JhbCBzZWFyY2ggZGF0YSBwYXlsb2FkLlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIHRoZSByZWZyZXNoZWQgZ2xvYmFsIHNlYXJjaCBkYXRhLlxuICAgICAqL1xuICAgIGFzeW5jIHJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhKHBheWxvYWQ6IFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhUGF5bG9hZCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIucmVmcmVzaEdsb2JhbFNlYXJjaERhdGEocGF5bG9hZClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZnJlc2hlcyB0aGUgcmVjb3JkIGluZm9ybWF0aW9uIGRhdGEgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBheWxvYWQuXG4gICAgICogXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHJlZnJlc2ggcmVjb3JkIGluZm8gZGF0YSBwYXlsb2FkLlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIHRoZSByZWZyZXNoZWQgcmVjb3JkIGluZm8gZGF0YS5cbiAgICAgKi9cbiAgICBhc3luYyByZWZyZXNoUmVjb3JkSW5mb0RhdGEocGF5bG9hZDogUmVmcmVzaFJlY29yZEluZm9EYXRhUGF5bG9hZCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIGF3YWl0IHRoZSBjb21wbGV0aW9uIG9mIHRoZSBvYnNlcnZhYmxlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIucmVmcmVzaFJlY29yZEluZm9EYXRhKHBheWxvYWQpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgZG9jdW1lbnRzIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgdG8gcGFzcyB0byB0aGUgc2VydmVyLlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIGFsbCBkb2N1bWVudHMuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0QWxsRG9jdW1uZXRzKGhlYWRlcnM/OiBhbnkpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXBwSGVscGVyLmdldEFsbERvY3VtbmV0cyhoZWFkZXJzKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXREb2N1bWVudEJ5SWQoaWQ6IHN0cmluZywgaGVhZGVycz86IGFueSk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hcHBIZWxwZXIuZ2V0RG9jdW1lbnRCeUlkKGlkLCBoZWFkZXJzKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG59Il19
@@ -1,84 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { ApiService, MediaUploadHelper } from '@techextensor/tab-core-utility';
3
- import { firstValueFrom } from 'rxjs';
4
- import { TabSdk } from '../tab-sdk.service';
5
- import * as i0 from "@angular/core";
6
- export class FileService {
7
- _mediaUploadHelper = inject(MediaUploadHelper);
8
- apiService = inject(ApiService);
9
- /**
10
- * Uploads media files using the provided payload and optional headers.
11
- *
12
- * @param payload The payload containing the media files to upload.
13
- * @param headers Optional headers to pass to the server.
14
- * @returns A promise that resolves to a common API response.
15
- */
16
- async uploadMediaFiles(payload, headers) {
17
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
18
- const response = await firstValueFrom(this._mediaUploadHelper.uploadMediaFiles(payload, headers));
19
- // Return the response from the server
20
- return response;
21
- }
22
- /**
23
- * Removes a media file from the server using the provided media ID.
24
- *
25
- * @param mediaId The ID of the media file to remove.
26
- * @returns A promise that resolves to a common API response.
27
- */
28
- async removeMediaFile(mediaId) {
29
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
30
- const response = await firstValueFrom(this._mediaUploadHelper.removeMediaFile(mediaId));
31
- // Return the response from the server
32
- return response;
33
- }
34
- /**
35
- * Processes an FTP URL and returns a processed URL.
36
- *
37
- * @param params - The parameters containing data, an optional defaultHeader, and an optional imgElement.
38
- * @returns A promise that resolves to the processed URL or null if an error occurs.
39
- */
40
- async processFtpUrl(params) {
41
- // Return null if the data is invalid
42
- if (!params?.data || params?.data === 'null' || params?.data === 'undefined')
43
- return null;
44
- try {
45
- let url = params.data;
46
- // Extract the value from a JSON string if it contains 'value'
47
- if (url?.includes('value')) {
48
- url = JSON.parse(url).value;
49
- }
50
- // Check if the URL is an image from the FileManager service
51
- if (url.includes('FileManager/GetImage')) {
52
- const options = { responseType: 'blob' };
53
- // Add default headers if specified
54
- if (params.defaultHeader) {
55
- options.headers = TabSdk.util?.getDefaultAppHeaders();
56
- }
57
- // Fetch the image as a blob
58
- const blob = await firstValueFrom(this.apiService.getByUrl(url, options));
59
- // Create an object URL from the blob
60
- url = URL.createObjectURL(blob);
61
- }
62
- // Set the image element's source to the processed URL
63
- if (params.imgElement) {
64
- params.imgElement.src = url;
65
- params.imgElement.onload = null;
66
- }
67
- return url;
68
- }
69
- catch (e) {
70
- // Log any errors that occur during processing
71
- console.error("Error processing FTP", e);
72
- return null;
73
- }
74
- }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
76
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileService, providedIn: 'root' });
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FileService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root'
82
- }]
83
- }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFiLXNkay9zcmMvbGliL2FwcC9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBcUIsaUJBQWlCLEVBQTJCLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBSzVDLE1BQU0sT0FBTyxXQUFXO0lBQ1osa0JBQWtCLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xFLFVBQVUsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFcEQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE9BQWdDLEVBQUUsT0FBYTtRQUNsRSw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQzdELENBQUM7UUFDRixzQ0FBc0M7UUFDdEMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFlO1FBQ2pDLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FDbkQsQ0FBQztRQUNGLHNDQUFzQztRQUN0QyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQWdGO1FBQ2hHLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsSUFBSSxLQUFLLE1BQU0sSUFBSSxNQUFNLEVBQUUsSUFBSSxLQUFLLFdBQVc7WUFBRSxPQUFPLElBQUksQ0FBQztRQUUxRixJQUFJLENBQUM7WUFDRCxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBRXRCLDhEQUE4RDtZQUM5RCxJQUFJLEdBQUcsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ2hDLENBQUM7WUFFRCw0REFBNEQ7WUFDNUQsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxPQUFPLEdBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBRTlDLG1DQUFtQztnQkFDbkMsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3ZCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO2dCQUMxRCxDQUFDO2dCQUVELDRCQUE0QjtnQkFDNUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBRTFFLHFDQUFxQztnQkFDckMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUVELHNEQUFzRDtZQUN0RCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2dCQUM1QixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDcEMsQ0FBQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBRWYsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCw4Q0FBOEM7WUFDOUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQzt3R0FsRlEsV0FBVzs0R0FBWCxXQUFXLGNBRlIsTUFBTTs7NEZBRVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaVNlcnZpY2UsIENvbW1vbkFwaVJlc3BvbnNlLCBNZWRpYVVwbG9hZEhlbHBlciwgVXBsb2FkTWVkaWFGaWxlc1BheWxvYWQgfSBmcm9tICdAdGVjaGV4dGVuc29yL3RhYi1jb3JlLXV0aWxpdHknO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhYlNkayB9IGZyb20gJy4uL3RhYi1zZGsuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX21lZGlhVXBsb2FkSGVscGVyOiBNZWRpYVVwbG9hZEhlbHBlciA9IGluamVjdChNZWRpYVVwbG9hZEhlbHBlcik7XG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICogVXBsb2FkcyBtZWRpYSBmaWxlcyB1c2luZyB0aGUgcHJvdmlkZWQgcGF5bG9hZCBhbmQgb3B0aW9uYWwgaGVhZGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIG1lZGlhIGZpbGVzIHRvIHVwbG9hZC5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIHRvIHBhc3MgdG8gdGhlIHNlcnZlci5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UuXG4gICAgICovXG4gICAgYXN5bmMgdXBsb2FkTWVkaWFGaWxlcyhwYXlsb2FkOiBVcGxvYWRNZWRpYUZpbGVzUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9tZWRpYVVwbG9hZEhlbHBlci51cGxvYWRNZWRpYUZpbGVzKHBheWxvYWQsIGhlYWRlcnMpXG4gICAgICAgICk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgbWVkaWEgZmlsZSBmcm9tIHRoZSBzZXJ2ZXIgdXNpbmcgdGhlIHByb3ZpZGVkIG1lZGlhIElELlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lZGlhSWQgVGhlIElEIG9mIHRoZSBtZWRpYSBmaWxlIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGNvbW1vbiBBUEkgcmVzcG9uc2UuXG4gICAgICovXG4gICAgYXN5bmMgcmVtb3ZlTWVkaWFGaWxlKG1lZGlhSWQ6IHN0cmluZyk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9tZWRpYVVwbG9hZEhlbHBlci5yZW1vdmVNZWRpYUZpbGUobWVkaWFJZClcbiAgICAgICAgKTtcbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbiBGVFAgVVJMIGFuZCByZXR1cm5zIGEgcHJvY2Vzc2VkIFVSTC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBjb250YWluaW5nIGRhdGEsIGFuIG9wdGlvbmFsIGRlZmF1bHRIZWFkZXIsIGFuZCBhbiBvcHRpb25hbCBpbWdFbGVtZW50LlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBwcm9jZXNzZWQgVVJMIG9yIG51bGwgaWYgYW4gZXJyb3Igb2NjdXJzLlxuICAgICAqL1xuICAgIGFzeW5jIHByb2Nlc3NGdHBVcmwocGFyYW1zOiB7IGRhdGE6IHN0cmluZywgZGVmYXVsdEhlYWRlcj86IGJvb2xlYW4sIGltZ0VsZW1lbnQ/OiBIVE1MSW1hZ2VFbGVtZW50IH0pOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAvLyBSZXR1cm4gbnVsbCBpZiB0aGUgZGF0YSBpcyBpbnZhbGlkXG4gICAgICAgIGlmICghcGFyYW1zPy5kYXRhIHx8IHBhcmFtcz8uZGF0YSA9PT0gJ251bGwnIHx8IHBhcmFtcz8uZGF0YSA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgdXJsID0gcGFyYW1zLmRhdGE7XG5cbiAgICAgICAgICAgIC8vIEV4dHJhY3QgdGhlIHZhbHVlIGZyb20gYSBKU09OIHN0cmluZyBpZiBpdCBjb250YWlucyAndmFsdWUnXG4gICAgICAgICAgICBpZiAodXJsPy5pbmNsdWRlcygndmFsdWUnKSkge1xuICAgICAgICAgICAgICAgIHVybCA9IEpTT04ucGFyc2UodXJsKS52YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIFVSTCBpcyBhbiBpbWFnZSBmcm9tIHRoZSBGaWxlTWFuYWdlciBzZXJ2aWNlXG4gICAgICAgICAgICBpZiAodXJsLmluY2x1ZGVzKCdGaWxlTWFuYWdlci9HZXRJbWFnZScpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uczogYW55ID0geyByZXNwb25zZVR5cGU6ICdibG9iJyB9O1xuXG4gICAgICAgICAgICAgICAgLy8gQWRkIGRlZmF1bHQgaGVhZGVycyBpZiBzcGVjaWZpZWRcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1zLmRlZmF1bHRIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5oZWFkZXJzID0gVGFiU2RrLnV0aWw/LmdldERlZmF1bHRBcHBIZWFkZXJzKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggdGhlIGltYWdlIGFzIGEgYmxvYlxuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFwaVNlcnZpY2UuZ2V0QnlVcmwodXJsLCBvcHRpb25zKSk7XG5cbiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYW4gb2JqZWN0IFVSTCBmcm9tIHRoZSBibG9iXG4gICAgICAgICAgICAgICAgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2V0IHRoZSBpbWFnZSBlbGVtZW50J3Mgc291cmNlIHRvIHRoZSBwcm9jZXNzZWQgVVJMXG4gICAgICAgICAgICBpZiAocGFyYW1zLmltZ0VsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMuaW1nRWxlbWVudC5zcmMgPSB1cmw7XG4gICAgICAgICAgICAgICAgcGFyYW1zLmltZ0VsZW1lbnQub25sb2FkID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVybDtcblxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvLyBMb2cgYW55IGVycm9ycyB0aGF0IG9jY3VyIGR1cmluZyBwcm9jZXNzaW5nXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgcHJvY2Vzc2luZyBGVFBcIiwgZSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
@@ -1,38 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { TabReleaseService } from '@techextensor/tab-core-utility';
3
- import { firstValueFrom } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export class ReleaseService {
6
- _tabReleaseService = inject(TabReleaseService);
7
- /**
8
- * Retrieves the data differences between the current app version and the latest
9
- * released version of the app.
10
- *
11
- * @returns A promise that resolves to a common API response containing the data
12
- * differences in JSON format.
13
- */
14
- async getTabDataDiff() {
15
- const response = await firstValueFrom(this._tabReleaseService.getDataJsonDiff());
16
- return response;
17
- }
18
- /**
19
- * Retrieves the metadata differences between the current app version and the latest
20
- * released version of the app.
21
- *
22
- * @returns A promise that resolves to a common API response containing the metadata
23
- * differences in JSON format.
24
- */
25
- async getMetaDataDiff() {
26
- const response = await firstValueFrom(this._tabReleaseService.getMetaDataJsonDiff());
27
- return response;
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReleaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReleaseService, providedIn: 'root' });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReleaseService, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root'
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFiLXNkay9zcmMvbGliL2FwcC9yZWxlYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxjQUFjO0lBQ2Ysa0JBQWtCLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTFFOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxjQUFjO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQzVDLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLGVBQWU7UUFDakIsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUNoRCxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzt3R0E3QlEsY0FBYzs0R0FBZCxjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBUYWJSZWxlYXNlU2VydmljZSB9IGZyb20gJ0B0ZWNoZXh0ZW5zb3IvdGFiLWNvcmUtdXRpbGl0eSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlbGVhc2VTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF90YWJSZWxlYXNlU2VydmljZTogVGFiUmVsZWFzZVNlcnZpY2UgPSBpbmplY3QoVGFiUmVsZWFzZVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBkYXRhIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGN1cnJlbnQgYXBwIHZlcnNpb24gYW5kIHRoZSBsYXRlc3RcbiAgICAgKiByZWxlYXNlZCB2ZXJzaW9uIG9mIHRoZSBhcHAuXG4gICAgICogXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBjb21tb24gQVBJIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGRhdGFcbiAgICAgKiBkaWZmZXJlbmNlcyBpbiBKU09OIGZvcm1hdC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRUYWJEYXRhRGlmZigpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl90YWJSZWxlYXNlU2VydmljZS5nZXREYXRhSnNvbkRpZmYoKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBtZXRhZGF0YSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBjdXJyZW50IGFwcCB2ZXJzaW9uIGFuZCB0aGUgbGF0ZXN0XG4gICAgICogcmVsZWFzZWQgdmVyc2lvbiBvZiB0aGUgYXBwLlxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIHRoZSBtZXRhZGF0YVxuICAgICAqIGRpZmZlcmVuY2VzIGluIEpTT04gZm9ybWF0LlxuICAgICAqL1xuICAgIGFzeW5jIGdldE1ldGFEYXRhRGlmZigpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl90YWJSZWxlYXNlU2VydmljZS5nZXRNZXRhRGF0YUpzb25EaWZmKClcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cbn0iXX0=
@@ -1,48 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { AppHelper } from '@techextensor/tab-core-utility';
3
- import { firstValueFrom } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export class ReportService {
6
- _appHelper = inject(AppHelper);
7
- /**
8
- * Exports a report based on the provided payload.
9
- *
10
- * @param payload The payload containing the parameters for the report.
11
- * @returns A promise that resolves to a common API response containing the report.
12
- */
13
- async export(payload) {
14
- const response = await firstValueFrom(this._appHelper.exportReport(payload));
15
- return response;
16
- }
17
- /**
18
- * Downloads a report based on the provided payload.
19
- *
20
- * @param payload The payload containing the parameters for the report.
21
- * @returns A promise that resolves to a common API response containing the report.
22
- */
23
- async download(payload) {
24
- const response = await firstValueFrom(this._appHelper.downloadReport(payload));
25
- return response;
26
- }
27
- /**
28
- * Sends a report based on the provided payload.
29
- *
30
- * @param payload The payload containing the parameters for the report.
31
- * @returns A promise that resolves to a common API response containing the report.
32
- */
33
- async send(payload) {
34
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
35
- const response = await firstValueFrom(this._appHelper.sendReport(payload));
36
- // Return the response from the server
37
- return response;
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
40
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportService, providedIn: 'root' });
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportService, decorators: [{
43
- type: Injectable,
44
- args: [{
45
- providedIn: 'root'
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YWItc2RrL3NyYy9saWIvYXBwL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQW9DLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdEMsTUFBTSxPQUFPLGFBQWE7SUFDZCxVQUFVLEdBQWMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWxEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFzQjtRQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQ3hDLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQXNCO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FDMUMsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBc0I7UUFDN0IsOEVBQThFO1FBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FDdEMsQ0FBQztRQUNGLHNDQUFzQztRQUN0QyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO3dHQTFDUSxhQUFhOzRHQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwSGVscGVyLCBDb21tb25BcGlSZXNwb25zZSwgUmVwb3J0UGF5bG9hZCB9IGZyb20gJ0B0ZWNoZXh0ZW5zb3IvdGFiLWNvcmUtdXRpbGl0eSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9ydFNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2FwcEhlbHBlcjogQXBwSGVscGVyID0gaW5qZWN0KEFwcEhlbHBlcik7XG5cbiAgICAvKipcbiAgICAgKiBFeHBvcnRzIGEgcmVwb3J0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXlsb2FkLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSByZXBvcnQuXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBjb21tb24gQVBJIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIHJlcG9ydC5cbiAgICAgKi9cbiAgICBhc3luYyBleHBvcnQocGF5bG9hZDogUmVwb3J0UGF5bG9hZCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuX2FwcEhlbHBlci5leHBvcnRSZXBvcnQocGF5bG9hZClcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERvd25sb2FkcyBhIHJlcG9ydCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmVwb3J0LlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIHRoZSByZXBvcnQuXG4gICAgICovXG4gICAgYXN5bmMgZG93bmxvYWQocGF5bG9hZDogUmVwb3J0UGF5bG9hZCk6IFByb21pc2U8QmxvYj4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXBwSGVscGVyLmRvd25sb2FkUmVwb3J0KHBheWxvYWQpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kcyBhIHJlcG9ydCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGF5bG9hZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcmVwb3J0LlxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGEgY29tbW9uIEFQSSByZXNwb25zZSBjb250YWluaW5nIHRoZSByZXBvcnQuXG4gICAgICovXG4gICAgYXN5bmMgc2VuZChwYXlsb2FkOiBSZXBvcnRQYXlsb2FkKTogUHJvbWlzZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBVc2UgdGhlIGZpcnN0VmFsdWVGcm9tIFJ4SnMgb3BlcmF0b3IgdG8gd2FpdCBmb3IgdGhlIG9ic2VydmFibGUgdG8gY29tcGxldGVcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuX2FwcEhlbHBlci5zZW5kUmVwb3J0KHBheWxvYWQpXG4gICAgICAgICk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG59Il19
@@ -1,77 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { firstValueFrom } from 'rxjs';
3
- import { TranslationService } from '@techextensor/tab-core-utility';
4
- import * as i0 from "@angular/core";
5
- export class TranslatorService {
6
- _translationService = inject(TranslationService);
7
- /**
8
- * Gets the current active language
9
- *
10
- * @returns The current language code
11
- */
12
- getCurrentLanguage() {
13
- return this._translationService.getCurrentLanguage();
14
- }
15
- /**
16
- * Gets an observable of the current language changes
17
- *
18
- * @returns An observable of the current language code
19
- */
20
- getLanguageChanges() {
21
- return this._translationService.currentLanguage$;
22
- }
23
- /**
24
- * Changes the application language
25
- *
26
- * @param payload The translate payload containing language and languageCode
27
- * @returns A promise that resolves when the language has been changed
28
- */
29
- async changeLanguage(payload) {
30
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
31
- const response = await firstValueFrom(this._translationService.changeLanguage(payload));
32
- // Return the response
33
- return response;
34
- }
35
- /**
36
- * Translates a key to the current language
37
- *
38
- * @param key The translation key
39
- * @param params Optional parameters for interpolation
40
- * @returns The translated string
41
- */
42
- translate(key, params) {
43
- if (!key?.length)
44
- return key;
45
- return this._translationService.translate(key, params);
46
- }
47
- /**
48
- * Gets a translation as an observable for async operations
49
- *
50
- * @param key The translation key
51
- * @param params Optional parameters for interpolation
52
- * @returns An observable of the translated string
53
- */
54
- async getTranslation(key, params) {
55
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
56
- const translation = await firstValueFrom(this._translationService.getTranslation(key, params));
57
- // Return the translated string
58
- return translation;
59
- }
60
- /**
61
- * Registers an external library integration for translations
62
- *
63
- * @param handler Function to handle the integration with language and translations
64
- */
65
- registerIntegration(handler) {
66
- this._translationService.registerIntegration(handler);
67
- }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TranslatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
69
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TranslatorService, providedIn: 'root' });
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TranslatorService, decorators: [{
72
- type: Injectable,
73
- args: [{
74
- providedIn: 'root'
75
- }]
76
- }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFiLXNkay9zcmMvbGliL2FwcC90cmFuc2xhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFHLGNBQWMsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQW9CLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBS3RGLE1BQU0sT0FBTyxpQkFBaUI7SUFDVCxtQkFBbUIsR0FBdUIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFdEY7Ozs7T0FJRztJQUNILGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQXlCO1FBQzFDLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FDbkQsQ0FBQztRQUNGLHNCQUFzQjtRQUN0QixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFZO1FBQy9CLElBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTTtZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBVyxFQUFFLE1BQVk7UUFDMUMsOEVBQThFO1FBQzlFLE1BQU0sV0FBVyxHQUFHLE1BQU0sY0FBYyxDQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FDdkQsQ0FBQztRQUNGLCtCQUErQjtRQUMvQixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLE9BQWtEO1FBQ2xFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO3dHQXZFUSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ICBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdHJhbnNsYXRlUGF5bG9hZCwgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHRlY2hleHRlbnNvci90YWItY29yZS11dGlsaXR5JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdG9yU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGN1cnJlbnQgYWN0aXZlIGxhbmd1YWdlXG4gICAgICogXG4gICAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgbGFuZ3VhZ2UgY29kZVxuICAgICAqL1xuICAgIGdldEN1cnJlbnRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYW4gb2JzZXJ2YWJsZSBvZiB0aGUgY3VycmVudCBsYW5ndWFnZSBjaGFuZ2VzXG4gICAgICogXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgY3VycmVudCBsYW5ndWFnZSBjb2RlXG4gICAgICovXG4gICAgZ2V0TGFuZ3VhZ2VDaGFuZ2VzKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGlvblNlcnZpY2UuY3VycmVudExhbmd1YWdlJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2VzIHRoZSBhcHBsaWNhdGlvbiBsYW5ndWFnZVxuICAgICAqIFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSB0cmFuc2xhdGUgcGF5bG9hZCBjb250YWluaW5nIGxhbmd1YWdlIGFuZCBsYW5ndWFnZUNvZGVcbiAgICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBsYW5ndWFnZSBoYXMgYmVlbiBjaGFuZ2VkXG4gICAgICovXG4gICAgYXN5bmMgY2hhbmdlTGFuZ3VhZ2UocGF5bG9hZDogdHJhbnNsYXRlUGF5bG9hZCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fdHJhbnNsYXRpb25TZXJ2aWNlLmNoYW5nZUxhbmd1YWdlKHBheWxvYWQpXG4gICAgICAgICk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2VcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zbGF0ZXMgYSBrZXkgdG8gdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSB0cmFuc2xhdGlvbiBrZXlcbiAgICAgKiBAcGFyYW0gcGFyYW1zIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGludGVycG9sYXRpb25cbiAgICAgKiBAcmV0dXJucyBUaGUgdHJhbnNsYXRlZCBzdHJpbmdcbiAgICAgKi9cbiAgICB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmKCFrZXk/Lmxlbmd0aCkgcmV0dXJuIGtleTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoa2V5LCBwYXJhbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSB0cmFuc2xhdGlvbiBhcyBhbiBvYnNlcnZhYmxlIGZvciBhc3luYyBvcGVyYXRpb25zXG4gICAgICogXG4gICAgICogQHBhcmFtIGtleSBUaGUgdHJhbnNsYXRpb24ga2V5XG4gICAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciBpbnRlcnBvbGF0aW9uXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgdHJhbnNsYXRlZCBzdHJpbmdcbiAgICAgKi9cbiAgICBhc3luYyBnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZywgcGFyYW1zPzogYW55KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl90cmFuc2xhdGlvblNlcnZpY2UuZ2V0VHJhbnNsYXRpb24oa2V5LCBwYXJhbXMpXG4gICAgICAgICk7XG4gICAgICAgIC8vIFJldHVybiB0aGUgdHJhbnNsYXRlZCBzdHJpbmdcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBhbiBleHRlcm5hbCBsaWJyYXJ5IGludGVncmF0aW9uIGZvciB0cmFuc2xhdGlvbnNcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaGFuZGxlciBGdW5jdGlvbiB0byBoYW5kbGUgdGhlIGludGVncmF0aW9uIHdpdGggbGFuZ3VhZ2UgYW5kIHRyYW5zbGF0aW9uc1xuICAgICAqL1xuICAgIHJlZ2lzdGVySW50ZWdyYXRpb24oaGFuZGxlcjogKGxhbmc6IHN0cmluZywgdHJhbnNsYXRpb25zOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRpb25TZXJ2aWNlLnJlZ2lzdGVySW50ZWdyYXRpb24oaGFuZGxlcik7XG4gICAgfVxufSJdfQ==
@@ -1,95 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { AuthService } from '@techextensor/tab-core-utility';
3
- import { firstValueFrom } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export class AuthUtilService {
6
- _authService = inject(AuthService);
7
- /**
8
- * Authenticates a user based on the provided login credentials.
9
- *
10
- * @param credentials The login credentials.
11
- * @returns The response from the server.
12
- */
13
- async login(credentials) {
14
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
15
- const response = await firstValueFrom(this._authService.signIn(credentials));
16
- return response;
17
- }
18
- /**
19
- * Registers a new tenant based on the provided details.
20
- *
21
- * @param tenantDetails The tenant details.
22
- * @returns The response from the server.
23
- */
24
- async registerTenant(tenantDetails) {
25
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
26
- const response = await firstValueFrom(this._authService.registerTenant(tenantDetails));
27
- return response;
28
- }
29
- /**
30
- * Registers a new user based on the provided user details.
31
- *
32
- * @param userDetails The user details.
33
- * @param headers Optional headers to pass to the server.
34
- * @returns The response from the server.
35
- */
36
- async registerUser(userDetails, headers) {
37
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
38
- const response = await firstValueFrom(this._authService.register(userDetails, headers));
39
- return response;
40
- }
41
- /**
42
- * Resets a user's password based on the provided reset password credentials.
43
- *
44
- * @param credentials The reset password credentials.
45
- * @returns The response from the server.
46
- */
47
- async resetPassword(credentials) {
48
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
49
- const response = await firstValueFrom(this._authService.resetPassword(credentials));
50
- return response;
51
- }
52
- /**
53
- * Changes a user's password based on the provided credentials.
54
- *
55
- * @param credentials The credentials containing the user's current and new password.
56
- * @returns The response from the server.
57
- */
58
- async changePassword(credentials) {
59
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
60
- const response = await firstValueFrom(this._authService.changePassword(credentials));
61
- return response;
62
- }
63
- /**
64
- * Refreshes a user's token based on the provided refresh token details.
65
- *
66
- * @param tokenDetails The refresh token details.
67
- * @returns The response from the server.
68
- */
69
- async refreshToken(tokenDetails) {
70
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
71
- const response = await firstValueFrom(this._authService.refreshToken(tokenDetails));
72
- return response;
73
- }
74
- /**
75
- * Gets the user details for the provided user details request.
76
- *
77
- * @param userDetailsRequest The user details request.
78
- * @param headers Optional headers to pass to the server.
79
- * @returns The response from the server.
80
- */
81
- async getUserDetails(userDetailsRequest, headers) {
82
- // Use the firstValueFrom RxJs operator to wait for the observable to complete
83
- const response = await firstValueFrom(this._authService.getUserDetails(userDetailsRequest, headers));
84
- return response;
85
- }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthUtilService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
87
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthUtilService, providedIn: 'root' });
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthUtilService, decorators: [{
90
- type: Injectable,
91
- args: [{
92
- providedIn: 'root'
93
- }]
94
- }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFiLXNkay9zcmMvbGliL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFFSCxXQUFXLEVBT2QsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt0QyxNQUFNLE9BQU8sZUFBZTtJQUNQLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWpFOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUE2QjtRQUNyQyw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUE2QjtRQUM5Qyw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUNsRCxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBZ0IsRUFBRSxPQUFnQztRQUNqRSw4RUFBOEU7UUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FDbkQsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsV0FBcUM7UUFDckQsOEVBQThFO1FBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FDL0MsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBc0M7UUFDdkQsOEVBQThFO1FBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FDaEQsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBaUM7UUFDaEQsOEVBQThFO1FBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FDL0MsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLGtCQUFzQyxFQUFFLE9BQWdDO1FBQ3pGLDhFQUE4RTtRQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQ2hFLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO3dHQXJHUSxlQUFlOzRHQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBMb2dpblVzZXJSZXF1ZXN0LFxuICAgIEF1dGhTZXJ2aWNlLFxuICAgIENvbW1vbkFwaVJlc3BvbnNlLFxuICAgIFJlZ2lzdGVyVGVuYW50LFxuICAgIFJlc2V0UGFzc3dvcmRVc2VyUmVxdWVzdCxcbiAgICBSZWZyZXNoVG9rZW5SZXF1ZXN0LFxuICAgIFVzZXJEZXRhaWxzUmVxdWVzdCxcbiAgICBDaGFuZ2VQYXNzd29yZFVzZXJSZXF1ZXN0XG59IGZyb20gJ0B0ZWNoZXh0ZW5zb3IvdGFiLWNvcmUtdXRpbGl0eSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhVdGlsU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIEF1dGhlbnRpY2F0ZXMgYSB1c2VyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBsb2dpbiBjcmVkZW50aWFscy5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY3JlZGVudGlhbHMgVGhlIGxvZ2luIGNyZWRlbnRpYWxzLlxuICAgICAqIEByZXR1cm5zIFRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICovXG4gICAgYXN5bmMgbG9naW4oY3JlZGVudGlhbHM6IExvZ2luVXNlclJlcXVlc3QpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2Uuc2lnbkluKGNyZWRlbnRpYWxzKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIGEgbmV3IHRlbmFudCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZGV0YWlscy5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gdGVuYW50RGV0YWlscyBUaGUgdGVuYW50IGRldGFpbHMuXG4gICAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBhc3luYyByZWdpc3RlclRlbmFudCh0ZW5hbnREZXRhaWxzOiBSZWdpc3RlclRlbmFudCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5yZWdpc3RlclRlbmFudCh0ZW5hbnREZXRhaWxzKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIGEgbmV3IHVzZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHVzZXIgZGV0YWlscy5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gdXNlckRldGFpbHMgVGhlIHVzZXIgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIHRvIHBhc3MgdG8gdGhlIHNlcnZlci5cbiAgICAgKiBAcmV0dXJucyBUaGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLlxuICAgICAqL1xuICAgIGFzeW5jIHJlZ2lzdGVyVXNlcih1c2VyRGV0YWlsczogYW55LCBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5yZWdpc3Rlcih1c2VyRGV0YWlscywgaGVhZGVycylcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0cyBhIHVzZXIncyBwYXNzd29yZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcmVzZXQgcGFzc3dvcmQgY3JlZGVudGlhbHMuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNyZWRlbnRpYWxzIFRoZSByZXNldCBwYXNzd29yZCBjcmVkZW50aWFscy5cbiAgICAgKiBAcmV0dXJucyBUaGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLlxuICAgICAqL1xuICAgIGFzeW5jIHJlc2V0UGFzc3dvcmQoY3JlZGVudGlhbHM6IFJlc2V0UGFzc3dvcmRVc2VyUmVxdWVzdCk6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5yZXNldFBhc3N3b3JkKGNyZWRlbnRpYWxzKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlcyBhIHVzZXIncyBwYXNzd29yZCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY3JlZGVudGlhbHMuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNyZWRlbnRpYWxzIFRoZSBjcmVkZW50aWFscyBjb250YWluaW5nIHRoZSB1c2VyJ3MgY3VycmVudCBhbmQgbmV3IHBhc3N3b3JkLlxuICAgICAqIEByZXR1cm5zIFRoZSByZXNwb25zZSBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICovXG4gICAgYXN5bmMgY2hhbmdlUGFzc3dvcmQoY3JlZGVudGlhbHM6IENoYW5nZVBhc3N3b3JkVXNlclJlcXVlc3QpOiBQcm9taXNlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIC8vIFVzZSB0aGUgZmlyc3RWYWx1ZUZyb20gUnhKcyBvcGVyYXRvciB0byB3YWl0IGZvciB0aGUgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2UuY2hhbmdlUGFzc3dvcmQoY3JlZGVudGlhbHMpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZyZXNoZXMgYSB1c2VyJ3MgdG9rZW4gYmFzZWQgb24gdGhlIHByb3ZpZGVkIHJlZnJlc2ggdG9rZW4gZGV0YWlscy5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gdG9rZW5EZXRhaWxzIFRoZSByZWZyZXNoIHRva2VuIGRldGFpbHMuXG4gICAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlci5cbiAgICAgKi9cbiAgICBhc3luYyByZWZyZXNoVG9rZW4odG9rZW5EZXRhaWxzOiBSZWZyZXNoVG9rZW5SZXF1ZXN0KTogUHJvbWlzZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBVc2UgdGhlIGZpcnN0VmFsdWVGcm9tIFJ4SnMgb3BlcmF0b3IgdG8gd2FpdCBmb3IgdGhlIG9ic2VydmFibGUgdG8gY29tcGxldGVcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbih0b2tlbkRldGFpbHMpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1c2VyIGRldGFpbHMgZm9yIHRoZSBwcm92aWRlZCB1c2VyIGRldGFpbHMgcmVxdWVzdC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gdXNlckRldGFpbHNSZXF1ZXN0IFRoZSB1c2VyIGRldGFpbHMgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIHRvIHBhc3MgdG8gdGhlIHNlcnZlci5cbiAgICAgKiBAcmV0dXJucyBUaGUgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLlxuICAgICAqL1xuICAgIGFzeW5jIGdldFVzZXJEZXRhaWxzKHVzZXJEZXRhaWxzUmVxdWVzdDogVXNlckRldGFpbHNSZXF1ZXN0LCBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFByb21pc2U8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gVXNlIHRoZSBmaXJzdFZhbHVlRnJvbSBSeEpzIG9wZXJhdG9yIHRvIHdhaXQgZm9yIHRoZSBvYnNlcnZhYmxlIHRvIGNvbXBsZXRlXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5nZXRVc2VyRGV0YWlscyh1c2VyRGV0YWlsc1JlcXVlc3QsIGhlYWRlcnMpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG59Il19