@experteam-mx/ngx-services 18.9.20 → 20.0.0-beta

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 (180) hide show
  1. package/README.md +80 -24
  2. package/fesm2022/experteam-mx-ngx-services.mjs +580 -438
  3. package/fesm2022/experteam-mx-ngx-services.mjs.map +1 -1
  4. package/index.d.ts +7667 -3
  5. package/package.json +6 -8
  6. package/esm2022/experteam-mx-ngx-services.mjs +0 -5
  7. package/esm2022/lib/apis/api-billing-do.service.mjs +0 -41
  8. package/esm2022/lib/apis/api-billing-gt.service.mjs +0 -61
  9. package/esm2022/lib/apis/api-billing-mx.service.mjs +0 -62
  10. package/esm2022/lib/apis/api-billing-pa.service.mjs +0 -105
  11. package/esm2022/lib/apis/api-billing-sv.service.mjs +0 -83
  12. package/esm2022/lib/apis/api-cash-operations.service.mjs +0 -93
  13. package/esm2022/lib/apis/api-catalogs.service.mjs +0 -616
  14. package/esm2022/lib/apis/api-companies.service.mjs +0 -1031
  15. package/esm2022/lib/apis/api-composition.service.mjs +0 -55
  16. package/esm2022/lib/apis/api-customs.service.mjs +0 -157
  17. package/esm2022/lib/apis/api-discounts.service.mjs +0 -243
  18. package/esm2022/lib/apis/api-e-tools-auto-billing.service.mjs +0 -75
  19. package/esm2022/lib/apis/api-events.service.mjs +0 -53
  20. package/esm2022/lib/apis/api-external-ops.service.mjs +0 -87
  21. package/esm2022/lib/apis/api-inventories.service.mjs +0 -208
  22. package/esm2022/lib/apis/api-invoices.service.mjs +0 -453
  23. package/esm2022/lib/apis/api-notifications.service.mjs +0 -104
  24. package/esm2022/lib/apis/api-open-items.service.mjs +0 -62
  25. package/esm2022/lib/apis/api-quote.service.mjs +0 -87
  26. package/esm2022/lib/apis/api-reports.service.mjs +0 -172
  27. package/esm2022/lib/apis/api-security.service.mjs +0 -245
  28. package/esm2022/lib/apis/api-services.service.mjs +0 -103
  29. package/esm2022/lib/apis/api-shipments.service.mjs +0 -116
  30. package/esm2022/lib/apis/api-supplies.service.mjs +0 -133
  31. package/esm2022/lib/apis/models/api-billing-do.interfaces.mjs +0 -2
  32. package/esm2022/lib/apis/models/api-billing-do.types.mjs +0 -2
  33. package/esm2022/lib/apis/models/api-billing-mx.interfaces.mjs +0 -2
  34. package/esm2022/lib/apis/models/api-billing-mx.types.mjs +0 -2
  35. package/esm2022/lib/apis/models/api-billing-pa.interfaces.mjs +0 -2
  36. package/esm2022/lib/apis/models/api-billing-pa.types.mjs +0 -2
  37. package/esm2022/lib/apis/models/api-billing-sv.interfaces.mjs +0 -2
  38. package/esm2022/lib/apis/models/api-billing-sv.types.mjs +0 -2
  39. package/esm2022/lib/apis/models/api-billing.models.mjs +0 -2
  40. package/esm2022/lib/apis/models/api-cash-operations.interfaces.mjs +0 -2
  41. package/esm2022/lib/apis/models/api-cash-operations.types.mjs +0 -2
  42. package/esm2022/lib/apis/models/api-catalog.enum.mjs +0 -9
  43. package/esm2022/lib/apis/models/api-catalog.interfaces.mjs +0 -2
  44. package/esm2022/lib/apis/models/api-catalog.types.mjs +0 -2
  45. package/esm2022/lib/apis/models/api-companies.interfaces.mjs +0 -2
  46. package/esm2022/lib/apis/models/api-companies.types.mjs +0 -2
  47. package/esm2022/lib/apis/models/api-composition.interfaces.mjs +0 -2
  48. package/esm2022/lib/apis/models/api-composition.types.mjs +0 -2
  49. package/esm2022/lib/apis/models/api-customs.interfaces.mjs +0 -2
  50. package/esm2022/lib/apis/models/api-customs.types.mjs +0 -2
  51. package/esm2022/lib/apis/models/api-discounts.interfaces.mjs +0 -2
  52. package/esm2022/lib/apis/models/api-discounts.types.mjs +0 -2
  53. package/esm2022/lib/apis/models/api-e-tools-auto-billing.interfaces.mjs +0 -2
  54. package/esm2022/lib/apis/models/api-e-tools-auto-billing.types.mjs +0 -2
  55. package/esm2022/lib/apis/models/api-events.enum.mjs +0 -7
  56. package/esm2022/lib/apis/models/api-events.interfaces.mjs +0 -2
  57. package/esm2022/lib/apis/models/api-events.types.mjs +0 -2
  58. package/esm2022/lib/apis/models/api-external-ops.interfaces.mjs +0 -2
  59. package/esm2022/lib/apis/models/api-external-ops.types.mjs +0 -2
  60. package/esm2022/lib/apis/models/api-inventories.enum.mjs +0 -22
  61. package/esm2022/lib/apis/models/api-inventories.interfaces.mjs +0 -2
  62. package/esm2022/lib/apis/models/api-inventories.types.mjs +0 -2
  63. package/esm2022/lib/apis/models/api-invoices.interfaces.mjs +0 -2
  64. package/esm2022/lib/apis/models/api-invoices.types.mjs +0 -2
  65. package/esm2022/lib/apis/models/api-notifications.interfaces.mjs +0 -2
  66. package/esm2022/lib/apis/models/api-notifications.types.mjs +0 -2
  67. package/esm2022/lib/apis/models/api-open-items.interfaces.mjs +0 -2
  68. package/esm2022/lib/apis/models/api-open-items.types.mjs +0 -2
  69. package/esm2022/lib/apis/models/api-quote.interfaces.mjs +0 -2
  70. package/esm2022/lib/apis/models/api-quote.types.mjs +0 -2
  71. package/esm2022/lib/apis/models/api-reports.interfaces.mjs +0 -2
  72. package/esm2022/lib/apis/models/api-reports.types.mjs +0 -2
  73. package/esm2022/lib/apis/models/api-security.interfaces.mjs +0 -2
  74. package/esm2022/lib/apis/models/api-security.types.mjs +0 -2
  75. package/esm2022/lib/apis/models/api-services.interfaces.mjs +0 -2
  76. package/esm2022/lib/apis/models/api-services.types.mjs +0 -2
  77. package/esm2022/lib/apis/models/api-shipments.enums.mjs +0 -8
  78. package/esm2022/lib/apis/models/api-shipments.interfaces.mjs +0 -2
  79. package/esm2022/lib/apis/models/api-shipments.types.mjs +0 -2
  80. package/esm2022/lib/apis/models/api-supplies.interfaces.mjs +0 -2
  81. package/esm2022/lib/apis/models/api-supplies.types.mjs +0 -2
  82. package/esm2022/lib/apis/models/api.models.mjs +0 -2
  83. package/esm2022/lib/cypher/crypto.service.mjs +0 -93
  84. package/esm2022/lib/helpers/files.mjs +0 -9
  85. package/esm2022/lib/helpers/http.mjs +0 -66
  86. package/esm2022/lib/interceptors/api-headers.interceptor.mjs +0 -24
  87. package/esm2022/lib/interceptors/api-key.interceptor.mjs +0 -48
  88. package/esm2022/lib/interceptors/api-token.interceptor.mjs +0 -28
  89. package/esm2022/lib/interceptors/http-caching.interceptor.mjs +0 -37
  90. package/esm2022/lib/ngx-services.models.mjs +0 -11
  91. package/esm2022/lib/ngx-services.module.mjs +0 -33
  92. package/esm2022/lib/websockets/web-sockets.service.mjs +0 -115
  93. package/esm2022/public-api.mjs +0 -94
  94. package/lib/apis/api-billing-do.service.d.ts +0 -24
  95. package/lib/apis/api-billing-gt.service.d.ts +0 -38
  96. package/lib/apis/api-billing-mx.service.d.ts +0 -39
  97. package/lib/apis/api-billing-pa.service.d.ts +0 -68
  98. package/lib/apis/api-billing-sv.service.d.ts +0 -55
  99. package/lib/apis/api-cash-operations.service.d.ts +0 -62
  100. package/lib/apis/api-catalogs.service.d.ts +0 -451
  101. package/lib/apis/api-companies.service.d.ts +0 -714
  102. package/lib/apis/api-composition.service.d.ts +0 -35
  103. package/lib/apis/api-customs.service.d.ts +0 -110
  104. package/lib/apis/api-discounts.service.d.ts +0 -167
  105. package/lib/apis/api-e-tools-auto-billing.service.d.ts +0 -49
  106. package/lib/apis/api-events.service.d.ts +0 -33
  107. package/lib/apis/api-external-ops.service.d.ts +0 -54
  108. package/lib/apis/api-inventories.service.d.ts +0 -145
  109. package/lib/apis/api-invoices.service.d.ts +0 -317
  110. package/lib/apis/api-notifications.service.d.ts +0 -70
  111. package/lib/apis/api-open-items.service.d.ts +0 -41
  112. package/lib/apis/api-quote.service.d.ts +0 -65
  113. package/lib/apis/api-reports.service.d.ts +0 -120
  114. package/lib/apis/api-security.service.d.ts +0 -162
  115. package/lib/apis/api-services.service.d.ts +0 -67
  116. package/lib/apis/api-shipments.service.d.ts +0 -77
  117. package/lib/apis/api-supplies.service.d.ts +0 -93
  118. package/lib/apis/models/api-billing-do.interfaces.d.ts +0 -6
  119. package/lib/apis/models/api-billing-do.types.d.ts +0 -5
  120. package/lib/apis/models/api-billing-mx.interfaces.d.ts +0 -21
  121. package/lib/apis/models/api-billing-mx.types.d.ts +0 -13
  122. package/lib/apis/models/api-billing-pa.interfaces.d.ts +0 -26
  123. package/lib/apis/models/api-billing-pa.types.d.ts +0 -16
  124. package/lib/apis/models/api-billing-sv.interfaces.d.ts +0 -22
  125. package/lib/apis/models/api-billing-sv.types.d.ts +0 -21
  126. package/lib/apis/models/api-billing.models.d.ts +0 -27
  127. package/lib/apis/models/api-cash-operations.interfaces.d.ts +0 -40
  128. package/lib/apis/models/api-cash-operations.types.d.ts +0 -30
  129. package/lib/apis/models/api-catalog.enum.d.ts +0 -7
  130. package/lib/apis/models/api-catalog.interfaces.d.ts +0 -211
  131. package/lib/apis/models/api-catalog.types.d.ts +0 -213
  132. package/lib/apis/models/api-companies.interfaces.d.ts +0 -346
  133. package/lib/apis/models/api-companies.types.d.ts +0 -461
  134. package/lib/apis/models/api-composition.interfaces.d.ts +0 -272
  135. package/lib/apis/models/api-composition.types.d.ts +0 -9
  136. package/lib/apis/models/api-customs.interfaces.d.ts +0 -125
  137. package/lib/apis/models/api-customs.types.d.ts +0 -90
  138. package/lib/apis/models/api-discounts.interfaces.d.ts +0 -78
  139. package/lib/apis/models/api-discounts.types.d.ts +0 -89
  140. package/lib/apis/models/api-e-tools-auto-billing.interfaces.d.ts +0 -45
  141. package/lib/apis/models/api-e-tools-auto-billing.types.d.ts +0 -30
  142. package/lib/apis/models/api-events.enum.d.ts +0 -5
  143. package/lib/apis/models/api-events.interfaces.d.ts +0 -21
  144. package/lib/apis/models/api-events.types.d.ts +0 -14
  145. package/lib/apis/models/api-external-ops.interfaces.d.ts +0 -21
  146. package/lib/apis/models/api-external-ops.types.d.ts +0 -35
  147. package/lib/apis/models/api-inventories.enum.d.ts +0 -18
  148. package/lib/apis/models/api-inventories.interfaces.d.ts +0 -40
  149. package/lib/apis/models/api-inventories.types.d.ts +0 -62
  150. package/lib/apis/models/api-invoices.interfaces.d.ts +0 -277
  151. package/lib/apis/models/api-invoices.types.d.ts +0 -236
  152. package/lib/apis/models/api-notifications.interfaces.d.ts +0 -36
  153. package/lib/apis/models/api-notifications.types.d.ts +0 -34
  154. package/lib/apis/models/api-open-items.interfaces.d.ts +0 -32
  155. package/lib/apis/models/api-open-items.types.d.ts +0 -58
  156. package/lib/apis/models/api-quote.interfaces.d.ts +0 -13
  157. package/lib/apis/models/api-quote.types.d.ts +0 -17
  158. package/lib/apis/models/api-reports.interfaces.d.ts +0 -353
  159. package/lib/apis/models/api-reports.types.d.ts +0 -59
  160. package/lib/apis/models/api-security.interfaces.d.ts +0 -68
  161. package/lib/apis/models/api-security.types.d.ts +0 -72
  162. package/lib/apis/models/api-services.interfaces.d.ts +0 -49
  163. package/lib/apis/models/api-services.types.d.ts +0 -67
  164. package/lib/apis/models/api-shipments.enums.d.ts +0 -6
  165. package/lib/apis/models/api-shipments.interfaces.d.ts +0 -41
  166. package/lib/apis/models/api-shipments.types.d.ts +0 -121
  167. package/lib/apis/models/api-supplies.interfaces.d.ts +0 -40
  168. package/lib/apis/models/api-supplies.types.d.ts +0 -50
  169. package/lib/apis/models/api.models.d.ts +0 -36
  170. package/lib/cypher/crypto.service.d.ts +0 -15
  171. package/lib/helpers/files.d.ts +0 -2
  172. package/lib/helpers/http.d.ts +0 -38
  173. package/lib/interceptors/api-headers.interceptor.d.ts +0 -12
  174. package/lib/interceptors/api-key.interceptor.d.ts +0 -35
  175. package/lib/interceptors/api-token.interceptor.d.ts +0 -11
  176. package/lib/interceptors/http-caching.interceptor.d.ts +0 -12
  177. package/lib/ngx-services.models.d.ts +0 -63
  178. package/lib/ngx-services.module.d.ts +0 -16
  179. package/lib/websockets/web-sockets.service.d.ts +0 -49
  180. package/public-api.d.ts +0 -84
@@ -1,53 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class ApiEventsService {
6
- environments;
7
- http;
8
- constructor(environments, http) {
9
- this.environments = environments;
10
- this.http = http;
11
- }
12
- /**
13
- * Gets the API endpoint URL for Events from the environments configuration.
14
- *
15
- * @return {string} The URL for the Events API. Returns an empty string if not defined.
16
- */
17
- get url() {
18
- return this.environments.apiEventsUrl ?? '';
19
- }
20
- /**
21
- * Sends a request to start an event
22
- *
23
- * @param {OperationModuleStartIn} body - The event information to be submitted.
24
- * @return {Observable<OperationModuleOut>} An Observable emitting the server's response containing the created event details.
25
- */
26
- postOperationModulesStart(body) {
27
- return this.http.post(`${this.url}/operation-modules/start`, body)
28
- .pipe(map(({ data }) => data));
29
- }
30
- /**
31
- * Updates the discount information for a specific item.
32
- *
33
- * @param {number} id - The unique identifier of the item whose event is to be updated.
34
- * @param {OperationModuleEndIn} body - The payload containing the updated event details.
35
- * @return {Observable<OperationModuleOut>} An observable emitting the updated event details.
36
- */
37
- putOperationModulesEnd(id, body) {
38
- return this.http.put(`${this.url}/operation-modules/${id}/end`, body)
39
- .pipe(map(({ data }) => data));
40
- }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEventsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
42
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEventsService, providedIn: 'root' });
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiEventsService, decorators: [{
45
- type: Injectable,
46
- args: [{
47
- providedIn: 'root'
48
- }]
49
- }], ctorParameters: () => [{ type: undefined, decorators: [{
50
- type: Inject,
51
- args: ['env']
52
- }] }, { type: i1.HttpClient }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLWV2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQU90QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRUY7SUFDZjtJQUZWLFlBQ3lCLFlBQXlCLEVBQ3hDLElBQWdCO1FBREQsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN0QixDQUFDO0lBRUw7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFBO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHlCQUF5QixDQUFFLElBQTRCO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWlDLEdBQUcsSUFBSSxDQUFDLEdBQUcsMEJBQTBCLEVBQUUsSUFBSSxDQUFDO2FBQy9GLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxzQkFBc0IsQ0FBRSxFQUFVLEVBQUUsSUFBMEI7UUFDNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUMsR0FBRyxJQUFJLENBQUMsR0FBRyxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO2FBQ2xHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7d0dBcENVLGdCQUFnQixrQkFFakIsS0FBSzs0R0FGSixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7IE9wZXJhdGlvbk1vZHVsZUVuZEluLCBPcGVyYXRpb25Nb2R1bGVPdXQsIE9wZXJhdGlvbk1vZHVsZVN0YXJ0SW4gfSBmcm9tICcuL21vZGVscy9hcGktZXZlbnRzLnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpRXZlbnRzU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IgKFxyXG4gICAgQEluamVjdCgnZW52JykgcHJpdmF0ZSBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgQVBJIGVuZHBvaW50IFVSTCBmb3IgRXZlbnRzIGZyb20gdGhlIGVudmlyb25tZW50cyBjb25maWd1cmF0aW9uLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIGZvciB0aGUgRXZlbnRzIEFQSS4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgbm90IGRlZmluZWQuXHJcbiAgICovXHJcbiAgZ2V0IHVybCAoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50cy5hcGlFdmVudHNVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmRzIGEgcmVxdWVzdCB0byBzdGFydCBhbiBldmVudFxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPcGVyYXRpb25Nb2R1bGVTdGFydElufSBib2R5IC0gVGhlIGV2ZW50IGluZm9ybWF0aW9uIHRvIGJlIHN1Ym1pdHRlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9wZXJhdGlvbk1vZHVsZU91dD59IEFuIE9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHNlcnZlcidzIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGNyZWF0ZWQgZXZlbnQgZGV0YWlscy5cclxuICAgKi9cclxuICBwb3N0T3BlcmF0aW9uTW9kdWxlc1N0YXJ0IChib2R5OiBPcGVyYXRpb25Nb2R1bGVTdGFydEluKTogT2JzZXJ2YWJsZTxPcGVyYXRpb25Nb2R1bGVPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPE9wZXJhdGlvbk1vZHVsZU91dD4+KGAke3RoaXMudXJsfS9vcGVyYXRpb24tbW9kdWxlcy9zdGFydGAsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgZGlzY291bnQgaW5mb3JtYXRpb24gZm9yIGEgc3BlY2lmaWMgaXRlbS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aG9zZSBldmVudCBpcyB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uTW9kdWxlRW5kSW59IGJvZHkgLSBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSB1cGRhdGVkIGV2ZW50IGRldGFpbHMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxPcGVyYXRpb25Nb2R1bGVPdXQ+fSBBbiBvYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSB1cGRhdGVkIGV2ZW50IGRldGFpbHMuXHJcbiAgICovXHJcbiAgcHV0T3BlcmF0aW9uTW9kdWxlc0VuZCAoaWQ6IG51bWJlciwgYm9keTogT3BlcmF0aW9uTW9kdWxlRW5kSW4pOiBPYnNlcnZhYmxlPE9wZXJhdGlvbk1vZHVsZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxPcGVyYXRpb25Nb2R1bGVPdXQ+PihgJHt0aGlzLnVybH0vb3BlcmF0aW9uLW1vZHVsZXMvJHtpZH0vZW5kYCwgYm9keSlcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,87 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class ApiExternalOperationsService {
6
- http;
7
- environment;
8
- appKey;
9
- constructor(http, environment) {
10
- this.http = http;
11
- this.environment = environment;
12
- this.appKey = environment.apiExternalOperationsKey ?? '';
13
- }
14
- /**
15
- * Getter method to retrieve the API's external operations URL.
16
- * Fetches the URL from the `apiExternalOperationsUrl` property of the environment object.
17
- * Defaults to an empty string if the property is undefined or null.
18
- *
19
- * @return {string} The external operations URL or an empty string if unavailable.
20
- */
21
- get url() {
22
- return this.environment.apiExternalOperationsUrl ?? '';
23
- }
24
- /**
25
- * Retrieves delivery confirmation details based on the provided OTP code.
26
- *
27
- * @param {string} otpCode - The OTP code used to search for delivery confirmation.
28
- * @return {Observable<DeliveryConfirmationData>} An observable containing the delivery confirmation data.
29
- */
30
- getDeliveryConfirmation(otpCode) {
31
- return this.http.get(`${this.url}/delivery-confirmation/search/${otpCode}`)
32
- .pipe(map(({ data }) => data));
33
- }
34
- /**
35
- * Generates a delivery confirmation by sending the provided payload to the API.
36
- *
37
- * @param {DeliveryConfirmationGenerateIn} payload - The input payload required to generate the delivery confirmation.
38
- * @return {Observable<DeliveryConfirmationGenerateOut>} An observable that emits the generated delivery confirmation data.
39
- */
40
- postDeliveryConfirmationGenerate(payload) {
41
- return this.http.post(`${this.url}/delivery-confirmation/generate`, payload, {
42
- headers: this.getAppKeyHeader(),
43
- }).pipe(map(({ data }) => data));
44
- }
45
- /**
46
- * Confirms the completion of a delivery operation by making a PATCH request.
47
- *
48
- * @param {Object} input - The input parameters for the method.
49
- * @param {string} input.operationId - The unique identifier of the delivery operation to be confirmed.
50
- * @param {string} input.keyOTP - The one-time password (OTP) key associated with the delivery confirmation.
51
- * @return {Observable<Object>} - An observable containing the response data from the API.
52
- */
53
- patchDeliveryConfirmationComplete({ keyOTP, operationId, }) {
54
- return this.http.patch(`${this.url}/delivery-confirmation/completed/${keyOTP}`, null, {
55
- headers: this.getAppKeyHeader(),
56
- params: { operation_id: operationId }
57
- }).pipe(map(({ data }) => data));
58
- }
59
- /**
60
- * Cancels a delivery confirmation by sending an OTP and additional data to the server.
61
- *
62
- * @param {Object} param0 - The parameter object containing the required properties.
63
- * @param {string} param0.otp - The one-time password to authenticate the cancellation request.
64
- * @param {Object} param0.body - Additional body data required for cancellation.
65
- * @return {Observable<Object>} An observable that emits the server's response when the cancellation is processed.
66
- */
67
- putDeliveryConfirmation({ otp, ...body }) {
68
- return this.http.put(`${this.url}/delivery-confirmation/confirmation/${otp}`, body, {
69
- headers: this.getAppKeyHeader(),
70
- }).pipe(map(({ data }) => data));
71
- }
72
- getAppKeyHeader() {
73
- return { ...(this.appKey && { AppKey: this.appKey }) };
74
- }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiExternalOperationsService, deps: [{ token: i1.HttpClient }, { token: 'env' }], target: i0.ɵɵFactoryTarget.Injectable });
76
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiExternalOperationsService, providedIn: 'root' });
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiExternalOperationsService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root'
82
- }]
83
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
84
- type: Inject,
85
- args: ['env']
86
- }] }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWV4dGVybmFsLW9wcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLWV4dGVybmFsLW9wcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWxELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBY3BDLE1BQU0sT0FBTyw0QkFBNEI7SUFJN0I7SUFDZTtJQUpqQixNQUFNLENBQVE7SUFFdEIsWUFDVSxJQUFnQixFQUNELFdBQXdCO1FBRHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUUvQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUE7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUE7SUFDeEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksdUJBQXVCLENBQUUsT0FBZTtRQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE0QyxHQUFHLElBQUksQ0FBQyxHQUFHLGlDQUFpQyxPQUFPLEVBQUUsQ0FBQzthQUNuSCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQ0FBZ0MsQ0FBRSxPQUF1QztRQUM5RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxHQUFHLGlDQUFpQyxFQUM1QyxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtTQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxpQ0FBaUMsQ0FBRSxFQUN4QyxNQUFNLEVBQ04sV0FBVyxHQUNvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUNwQixHQUFHLElBQUksQ0FBQyxHQUFHLG9DQUFvQyxNQUFNLEVBQUUsRUFDdkQsSUFBSSxFQUFFO1lBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDL0IsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTtTQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSx1QkFBdUIsQ0FBRSxFQUM5QixHQUFHLEVBQ0gsR0FBRyxJQUFJLEVBQ2dCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLEdBQUcsdUNBQXVDLEdBQUcsRUFBRSxFQUN2RCxJQUFJLEVBQUU7WUFDSixPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtTQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUE7SUFDeEQsQ0FBQzt3R0F2RlUsNEJBQTRCLDRDQUs3QixLQUFLOzRHQUxKLDRCQUE0QixjQUYzQixNQUFNOzs0RkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5pbXBvcnQge1xyXG4gIERlbGl2ZXJ5Q29uZmlybWF0aW9uQ29tcGxldGVJbixcclxuICBEZWxpdmVyeUNvbmZpcm1hdGlvbkdlbmVyYXRlSW4sXHJcbiAgRGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZU91dCxcclxuICBEZWxpdmVyeUNvbmZpcm1hdGlvbkluLFxyXG4gIERlbGl2ZXJ5Q29uZmlybWF0aW9uU2VhcmNoT3V0XHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLWV4dGVybmFsLW9wcy50eXBlcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlFeHRlcm5hbE9wZXJhdGlvbnNTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFwcEtleTogc3RyaW5nXHJcblxyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLmFwcEtleSA9IGVudmlyb25tZW50LmFwaUV4dGVybmFsT3BlcmF0aW9uc0tleSA/PyAnJ1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIG1ldGhvZCB0byByZXRyaWV2ZSB0aGUgQVBJJ3MgZXh0ZXJuYWwgb3BlcmF0aW9ucyBVUkwuXHJcbiAgICogRmV0Y2hlcyB0aGUgVVJMIGZyb20gdGhlIGBhcGlFeHRlcm5hbE9wZXJhdGlvbnNVcmxgIHByb3BlcnR5IG9mIHRoZSBlbnZpcm9ubWVudCBvYmplY3QuXHJcbiAgICogRGVmYXVsdHMgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBwcm9wZXJ0eSBpcyB1bmRlZmluZWQgb3IgbnVsbC5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGV4dGVybmFsIG9wZXJhdGlvbnMgVVJMIG9yIGFuIGVtcHR5IHN0cmluZyBpZiB1bmF2YWlsYWJsZS5cclxuICAgKi9cclxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBpRXh0ZXJuYWxPcGVyYXRpb25zVXJsID8/ICcnXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgZGVsaXZlcnkgY29uZmlybWF0aW9uIGRldGFpbHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIE9UUCBjb2RlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG90cENvZGUgLSBUaGUgT1RQIGNvZGUgdXNlZCB0byBzZWFyY2ggZm9yIGRlbGl2ZXJ5IGNvbmZpcm1hdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPERlbGl2ZXJ5Q29uZmlybWF0aW9uRGF0YT59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZGVsaXZlcnkgY29uZmlybWF0aW9uIGRhdGEuXHJcbiAgICovXHJcbiAgcHVibGljIGdldERlbGl2ZXJ5Q29uZmlybWF0aW9uIChvdHBDb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERlbGl2ZXJ5Q29uZmlybWF0aW9uU2VhcmNoT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPERlbGl2ZXJ5Q29uZmlybWF0aW9uU2VhcmNoT3V0Pj4oYCR7dGhpcy51cmx9L2RlbGl2ZXJ5LWNvbmZpcm1hdGlvbi9zZWFyY2gvJHtvdHBDb2RlfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIGEgZGVsaXZlcnkgY29uZmlybWF0aW9uIGJ5IHNlbmRpbmcgdGhlIHByb3ZpZGVkIHBheWxvYWQgdG8gdGhlIEFQSS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7RGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZUlufSBwYXlsb2FkIC0gVGhlIGlucHV0IHBheWxvYWQgcmVxdWlyZWQgdG8gZ2VuZXJhdGUgdGhlIGRlbGl2ZXJ5IGNvbmZpcm1hdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPERlbGl2ZXJ5Q29uZmlybWF0aW9uR2VuZXJhdGVPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGdlbmVyYXRlZCBkZWxpdmVyeSBjb25maXJtYXRpb24gZGF0YS5cclxuICAgKi9cclxuICBwdWJsaWMgcG9zdERlbGl2ZXJ5Q29uZmlybWF0aW9uR2VuZXJhdGUgKHBheWxvYWQ6IERlbGl2ZXJ5Q29uZmlybWF0aW9uR2VuZXJhdGVJbik6IE9ic2VydmFibGU8RGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZU91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8RGVsaXZlcnlDb25maXJtYXRpb25HZW5lcmF0ZU91dD4+KFxyXG4gICAgICBgJHt0aGlzLnVybH0vZGVsaXZlcnktY29uZmlybWF0aW9uL2dlbmVyYXRlYCxcclxuICAgICAgcGF5bG9hZCwge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0QXBwS2V5SGVhZGVyKCksXHJcbiAgICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25maXJtcyB0aGUgY29tcGxldGlvbiBvZiBhIGRlbGl2ZXJ5IG9wZXJhdGlvbiBieSBtYWtpbmcgYSBQQVRDSCByZXF1ZXN0LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IGlucHV0IC0gVGhlIGlucHV0IHBhcmFtZXRlcnMgZm9yIHRoZSBtZXRob2QuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlucHV0Lm9wZXJhdGlvbklkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkZWxpdmVyeSBvcGVyYXRpb24gdG8gYmUgY29uZmlybWVkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dC5rZXlPVFAgLSBUaGUgb25lLXRpbWUgcGFzc3dvcmQgKE9UUCkga2V5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGVsaXZlcnkgY29uZmlybWF0aW9uLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8T2JqZWN0Pn0gLSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlIGRhdGEgZnJvbSB0aGUgQVBJLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBwYXRjaERlbGl2ZXJ5Q29uZmlybWF0aW9uQ29tcGxldGUgKHtcclxuICAgIGtleU9UUCxcclxuICAgIG9wZXJhdGlvbklkLFxyXG4gIH06IERlbGl2ZXJ5Q29uZmlybWF0aW9uQ29tcGxldGVJbik6IE9ic2VydmFibGU8e30+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8QXBpU3VjY2Vzczx7fT4+KFxyXG4gICAgICBgJHt0aGlzLnVybH0vZGVsaXZlcnktY29uZmlybWF0aW9uL2NvbXBsZXRlZC8ke2tleU9UUH1gLFxyXG4gICAgICBudWxsLCB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5nZXRBcHBLZXlIZWFkZXIoKSxcclxuICAgICAgICBwYXJhbXM6IHsgb3BlcmF0aW9uX2lkOiBvcGVyYXRpb25JZCB9XHJcbiAgICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxzIGEgZGVsaXZlcnkgY29uZmlybWF0aW9uIGJ5IHNlbmRpbmcgYW4gT1RQIGFuZCBhZGRpdGlvbmFsIGRhdGEgdG8gdGhlIHNlcnZlci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbTAgLSBUaGUgcGFyYW1ldGVyIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbTAub3RwIC0gVGhlIG9uZS10aW1lIHBhc3N3b3JkIHRvIGF1dGhlbnRpY2F0ZSB0aGUgY2FuY2VsbGF0aW9uIHJlcXVlc3QuXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtMC5ib2R5IC0gQWRkaXRpb25hbCBib2R5IGRhdGEgcmVxdWlyZWQgZm9yIGNhbmNlbGxhdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPE9iamVjdD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc2VydmVyJ3MgcmVzcG9uc2Ugd2hlbiB0aGUgY2FuY2VsbGF0aW9uIGlzIHByb2Nlc3NlZC5cclxuICAgKi9cclxuICBwdWJsaWMgcHV0RGVsaXZlcnlDb25maXJtYXRpb24gKHtcclxuICAgIG90cCxcclxuICAgIC4uLmJvZHlcclxuICB9OiBEZWxpdmVyeUNvbmZpcm1hdGlvbkluKTogT2JzZXJ2YWJsZTx7fT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2Vzczx7fT4+KFxyXG4gICAgICBgJHt0aGlzLnVybH0vZGVsaXZlcnktY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi8ke290cH1gLFxyXG4gICAgICBib2R5LCB7XHJcbiAgICAgICAgaGVhZGVyczogdGhpcy5nZXRBcHBLZXlIZWFkZXIoKSxcclxuICAgICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QXBwS2V5SGVhZGVyICgpIHtcclxuICAgIHJldHVybiB7IC4uLih0aGlzLmFwcEtleSAmJiB7IEFwcEtleTogdGhpcy5hcHBLZXkgfSkgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,208 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class ApiInventoriesService {
6
- environments;
7
- http;
8
- constructor(environments, http) {
9
- this.environments = environments;
10
- this.http = http;
11
- }
12
- /**
13
- * Retrieves the URL for the Inventories API from the environment configurations.
14
- *
15
- * @return {string} The URL of the Inventories API.
16
- */
17
- get url() {
18
- return this.environments.apiInventoriesUrl ?? '';
19
- }
20
- /**
21
- * Retrieves a list of checkpoints based on query parameters.
22
- *
23
- * @param {QueryParams} params - Query parameters for filtering the checkpoints.
24
- * @returns {Observable<CheckpointsOut>} The list of checkpoints.
25
- */
26
- getCheckpoints(params) {
27
- return this.http.get(`${this.url}/checkpoints`, {
28
- params
29
- }).pipe(map(({ data }) => data));
30
- }
31
- /**
32
- * Retrieves a list of checkpoint event reasons based on query parameters.
33
- *
34
- * @param {QueryParams} params - Query parameters for filtering the checkpoint event reasons.
35
- * @returns {Observable<CheckpointEventReasonsOut>} The list of checkpoint event reasons.
36
- */
37
- getCheckpointEventReasons(params) {
38
- return this.http.get(`${this.url}/checkpoint-event-reasons`, {
39
- params
40
- }).pipe(map(({ data }) => data));
41
- }
42
- /**
43
- * Retrieves a list of incidents based on query parameters.
44
- *
45
- * @param {QueryParams} params - Query parameters for filtering the incidents.
46
- * @returns {Observable<IncidentsOut>} An observable that emits the list of incidents.
47
- */
48
- getIncidents(params) {
49
- return this.http.get(`${this.url}/incidents`, {
50
- params
51
- }).pipe(map(({ data }) => data));
52
- }
53
- /**
54
- * Fetches the incident details based on the provided incident ID.
55
- *
56
- * @param {number} id - The identifier of the incident record to get detail.
57
- * @return {Observable<IncidentOut>} An observable that emits the detail incident data.
58
- */
59
- getIncident(id) {
60
- return this.http.get(`${this.url}/incidents/${id}`)
61
- .pipe(map(({ data }) => data));
62
- }
63
- /**
64
- * Creates a new incident.
65
- *
66
- * @param {IncidentIn} body - The data for the new incident.
67
- * @returns {Observable<IncidentOut>} An observable the created incident detail.
68
- */
69
- postIncident(body) {
70
- return this.http.post(`${this.url}/incidents`, body).pipe(map(({ data }) => data));
71
- }
72
- /**
73
- * Updates an existing incident.
74
- *
75
- * @param {number} id - The identifier of the incident record to update.
76
- * @param {IncidentIn} body - The incident data to be updated.
77
- * @returns {Observable<IncidentOut>} An observable detail of the updated incident.
78
- */
79
- putIncident(id, body) {
80
- return this.http.put(`${this.url}/incidents/${id}`, body).pipe(map(({ data }) => data));
81
- }
82
- /**
83
- * Delete an existing incident.
84
- *
85
- * @param {number} id - The unique identifier of the incident to be deleted.
86
- * @returns {Observable<IncidentOut>} An observable that emits the result of the delete incident.
87
- */
88
- deleteIncident(id) {
89
- return this.http.delete(`${this.url}/incidents/${id}`)
90
- .pipe(map(({ data }) => data));
91
- }
92
- /**
93
- * Retrieves a list of incident reasons based on query parameters.
94
- *
95
- * @param {QueryParams} params - Query parameters for filtering the incident reasons.
96
- * @returns {Observable<IncidentReasonsOut>} An observable that emits the list of incident reasons.
97
- */
98
- getIncidentReasons(params) {
99
- return this.http.get(`${this.url}/incident-reasons`, {
100
- params
101
- }).pipe(map(({ data }) => data));
102
- }
103
- /**
104
- * Fetches the incident reason details based on the provided incident reason ID.
105
- *
106
- * @param {number} id - The identifier of the incident reason record to get detail.
107
- * @return {Observable<IncidentReasonOut>} An observable that emits the detail incident reason data.
108
- */
109
- getIncidentReason(id) {
110
- return this.http.get(`${this.url}/incident-reasons/${id}`)
111
- .pipe(map(({ data }) => data));
112
- }
113
- /**
114
- * Creates a new incident reason.
115
- *
116
- * @param {IncidentReasonIn} body - The data for the new incident reason.
117
- * @returns {Observable<IncidentReasonOut>} An observable the created incident reason detail.
118
- */
119
- postIncidentReason(body) {
120
- return this.http.post(`${this.url}/incident-reasons`, body).pipe(map(({ data }) => data));
121
- }
122
- /**
123
- * Updates an existing incident reason.
124
- *
125
- * @param {number} id - The identifier of the incident reason record to update.
126
- * @param {IncidentIn} body - The incident reason data to be updated.
127
- * @returns {Observable<IncidentReasonOut>} An observable detail of the updated incident reason.
128
- */
129
- putIncidentReason(id, body) {
130
- return this.http.put(`${this.url}/incident-reasons/${id}`, body).pipe(map(({ data }) => data));
131
- }
132
- /**
133
- * Delete an existing incident reason.
134
- *
135
- * @param {number} id - The unique identifier of the incident reason to be deleted.
136
- * @returns {Observable<IncidentReasonOut>} An observable that emits the result of the delete incident reason.
137
- */
138
- deleteIncidentReason(id) {
139
- return this.http.delete(`${this.url}/incident-reasons/${id}`)
140
- .pipe(map(({ data }) => data));
141
- }
142
- /**
143
- * Retrieves a list of incident reason complements based on query parameters.
144
- *
145
- * @param {QueryParams} params - Query parameters for filtering the incident reason complements.
146
- * @returns {Observable<IncidentReasonComplementsOut>} An observable that emits the list of incident reason complements.
147
- */
148
- getIncidentReasonComplements(params) {
149
- return this.http.get(`${this.url}/incident-reason-complements`, {
150
- params
151
- }).pipe(map(({ data }) => data));
152
- }
153
- /**
154
- * Creates a new incident reason complement.
155
- *
156
- * @param {IncidentReasonIn} body - The data for the new incident reason complement.
157
- * @returns {Observable<IncidentReasonComplementOut>} An observable the created incident reason complement detail.
158
- */
159
- postIncidentReasonComplement(body) {
160
- return this.http.post(`${this.url}/incident-reason-complements`, body).pipe(map(({ data }) => data));
161
- }
162
- /**
163
- * Updates an existing incident reason complement.
164
- *
165
- * @param {number} id - The identifier of the incident reason complement record to update.
166
- * @param {IncidentIn} body - The incident reason complement data to be updated.
167
- * @returns {Observable<IncidentReasonComplementOut>} An observable detail of the updated incident reason complement.
168
- */
169
- putIncidentReasonComplement(id, body) {
170
- return this.http.put(`${this.url}/incident-reason-complements/${id}`, body).pipe(map(({ data }) => data));
171
- }
172
- /**
173
- * Delete an existing incident reason complement.
174
- *
175
- * @param {number} id - The unique identifier of the incident reason complement to be deleted.
176
- * @returns {Observable<IncidentReasonComplementOut>} An observable that emits the result of the delete incident reason complement.
177
- */
178
- deleteIncidentReasonComplement(id) {
179
- return this.http.delete(`${this.url}/incident-reason-complements/${id}`)
180
- .pipe(map(({ data }) => data));
181
- }
182
- /**
183
- * Posts packages that are currently in stock.
184
- *
185
- * @param body - The input data containing package stock information
186
- * @returns {Observable<PackagesInStockOut>} An Observable that emits the packages in stock output data
187
- *
188
- * @remarks
189
- * This method sends a POST request to the `/packages/in-stock` endpoint and
190
- * extracts the data property from the API success response.
191
- */
192
- postPackagesInStock(body) {
193
- return this.http.post(`${this.url}/packages/in-stock`, body)
194
- .pipe(map(({ data }) => data));
195
- }
196
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInventoriesService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
197
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInventoriesService, providedIn: 'root' });
198
- }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiInventoriesService, decorators: [{
200
- type: Injectable,
201
- args: [{
202
- providedIn: 'root'
203
- }]
204
- }], ctorParameters: () => [{ type: undefined, decorators: [{
205
- type: Inject,
206
- args: ['env']
207
- }] }, { type: i1.HttpClient }] });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWludmVudG9yaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcnRlYW0tbXgvbmd4LXNlcnZpY2VzL3NyYy9saWIvYXBpcy9hcGktaW52ZW50b3JpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUlsRCxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFBOzs7QUFNdEMsTUFBTSxPQUFPLHFCQUFxQjtJQUVQO0lBQ2Y7SUFGVixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFBO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBRSxNQUFtQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE2QixHQUFHLElBQUksQ0FBQyxHQUFHLGNBQWMsRUFBRTtZQUMxRSxNQUFNO1NBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHlCQUF5QixDQUFFLE1BQW1CO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXdDLEdBQUcsSUFBSSxDQUFDLEdBQUcsMkJBQTJCLEVBQUU7WUFDbEcsTUFBTTtTQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUs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Q3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTBDLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0NBQWdDLEVBQUUsRUFBRSxFQUMzRyxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw4QkFBOEIsQ0FBRSxFQUFVO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQTBDLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0NBQWdDLEVBQUUsRUFBRSxDQUFDO2FBQzlHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxtQkFBbUIsQ0FBRSxJQUF1QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFpQyxHQUFHLElBQUksQ0FBQyxHQUFHLG9CQUFvQixFQUFFLElBQUksQ0FBQzthQUN6RixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO3dHQTFOVSxxQkFBcUIsa0JBRXRCLEtBQUs7NEdBRkoscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzLCBRdWVyeVBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IENoZWNrcG9pbnRFdmVudFJlYXNvbnNPdXQsIENoZWNrcG9pbnRzT3V0LCBJbmNpZGVudEluLCBJbmNpZGVudE91dCwgSW5jaWRlbnRSZWFzb25Db21wbGVtZW50SW4sIEluY2lkZW50UmVhc29uQ29tcGxlbWVudE91dCwgSW5jaWRlbnRSZWFzb25Db21wbGVtZW50c091dCwgSW5jaWRlbnRSZWFzb25JbiwgSW5jaWRlbnRSZWFzb25PdXQsIEluY2lkZW50UmVhc29uc091dCwgSW5jaWRlbnRzT3V0LCBQYWNrYWdlc0luU3RvY2tJbiwgUGFja2FnZXNJblN0b2NrT3V0IH0gZnJvbSAnLi9tb2RlbHMvYXBpLWludmVudG9yaWVzLnR5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpSW52ZW50b3JpZXNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIFVSTCBmb3IgdGhlIEludmVudG9yaWVzIEFQSSBmcm9tIHRoZSBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9ucy5cclxuICAgKlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIFVSTCBvZiB0aGUgSW52ZW50b3JpZXMgQVBJLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpSW52ZW50b3JpZXNVcmwgPz8gJydcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY2hlY2twb2ludHMgYmFzZWQgb24gcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyB0aGUgY2hlY2twb2ludHMuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8Q2hlY2twb2ludHNPdXQ+fSBUaGUgbGlzdCBvZiBjaGVja3BvaW50cy5cclxuICAgKi9cclxuICBnZXRDaGVja3BvaW50cyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q2hlY2twb2ludHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q2hlY2twb2ludHNPdXQ+PihgJHt0aGlzLnVybH0vY2hlY2twb2ludHNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY2hlY2twb2ludCBldmVudCByZWFzb25zIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIGZvciBmaWx0ZXJpbmcgdGhlIGNoZWNrcG9pbnQgZXZlbnQgcmVhc29ucy5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxDaGVja3BvaW50RXZlbnRSZWFzb25zT3V0Pn0gVGhlIGxpc3Qgb2YgY2hlY2twb2ludCBldmVudCByZWFzb25zLlxyXG4gICAqL1xyXG4gIGdldENoZWNrcG9pbnRFdmVudFJlYXNvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENoZWNrcG9pbnRFdmVudFJlYXNvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q2hlY2twb2ludEV2ZW50UmVhc29uc091dD4+KGAke3RoaXMudXJsfS9jaGVja3BvaW50LWV2ZW50LXJlYXNvbnNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgaW5jaWRlbnRzIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIGZvciBmaWx0ZXJpbmcgdGhlIGluY2lkZW50cy5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudHNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgaW5jaWRlbnRzLlxyXG4gICAqL1xyXG4gIGdldEluY2lkZW50cyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8SW5jaWRlbnRzT3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEluY2lkZW50c091dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudHNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGluY2lkZW50IGRldGFpbHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGluY2lkZW50IElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIGluY2lkZW50IHJlY29yZCB0byBnZXQgZGV0YWlsLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8SW5jaWRlbnRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRldGFpbCBpbmNpZGVudCBkYXRhLlxyXG4gICAqL1xyXG4gIGdldEluY2lkZW50IChpZDogTnVtYmVyKTogT2JzZXJ2YWJsZTxJbmNpZGVudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxJbmNpZGVudE91dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudHMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5jaWRlbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0luY2lkZW50SW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIG5ldyBpbmNpZGVudC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudE91dD59IEFuIG9ic2VydmFibGUgdGhlIGNyZWF0ZWQgaW5jaWRlbnQgZGV0YWlsLlxyXG4gICAqL1xyXG4gIHBvc3RJbmNpZGVudCAoYm9keTogSW5jaWRlbnRJbik6IE9ic2VydmFibGU8SW5jaWRlbnRPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPEluY2lkZW50T3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50c2AsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgaW5jaWRlbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgcmVjb3JkIHRvIHVwZGF0ZS5cclxuICAgKiBAcGFyYW0ge0luY2lkZW50SW59IGJvZHkgLSBUaGUgaW5jaWRlbnQgZGF0YSB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluY2lkZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBkZXRhaWwgb2YgdGhlIHVwZGF0ZWQgaW5jaWRlbnQuXHJcbiAgICovXHJcbiAgcHV0SW5jaWRlbnQgKGlkOiBOdW1iZXIsIGJvZHk6IEluY2lkZW50SW4pOiBPYnNlcnZhYmxlPEluY2lkZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEluY2lkZW50T3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50cy8ke2lkfWAsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhbiBleGlzdGluZyBpbmNpZGVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgdG8gYmUgZGVsZXRlZC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudE91dD59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHRoZSBkZWxldGUgaW5jaWRlbnQuXHJcbiAgICovXHJcbiAgZGVsZXRlSW5jaWRlbnQgKGlkOiBOdW1iZXIpOiBPYnNlcnZhYmxlPEluY2lkZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlTdWNjZXNzPEluY2lkZW50T3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50cy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBpbmNpZGVudCByZWFzb25zIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXJzIGZvciBmaWx0ZXJpbmcgdGhlIGluY2lkZW50IHJlYXNvbnMuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25zT3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBsaXN0IG9mIGluY2lkZW50IHJlYXNvbnMuXHJcbiAgICovXHJcbiAgZ2V0SW5jaWRlbnRSZWFzb25zIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbnNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25zT3V0Pj4oYCR7dGhpcy51cmx9L2luY2lkZW50LXJlYXNvbnNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGluY2lkZW50IHJlYXNvbiBkZXRhaWxzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBpbmNpZGVudCByZWFzb24gSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgcmVhc29uIHJlY29yZCB0byBnZXQgZGV0YWlsLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGRldGFpbCBpbmNpZGVudCByZWFzb24gZGF0YS5cclxuICAgKi9cclxuICBnZXRJbmNpZGVudFJlYXNvbiAoaWQ6IE51bWJlcik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29ucy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyBpbmNpZGVudCByZWFzb24uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0luY2lkZW50UmVhc29uSW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIG5ldyBpbmNpZGVudCByZWFzb24uXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIHRoZSBjcmVhdGVkIGluY2lkZW50IHJlYXNvbiBkZXRhaWwuXHJcbiAgICovXHJcbiAgcG9zdEluY2lkZW50UmVhc29uIChib2R5OiBJbmNpZGVudFJlYXNvbkluKTogT2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29uc2AsXHJcbiAgICAgIGJvZHlcclxuICAgICkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgaW5jaWRlbnQgcmVhc29uLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIGluY2lkZW50IHJlYXNvbiByZWNvcmQgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7SW5jaWRlbnRJbn0gYm9keSAtIFRoZSBpbmNpZGVudCByZWFzb24gZGF0YSB0byBiZSB1cGRhdGVkLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uT3V0Pn0gQW4gb2JzZXJ2YWJsZSBkZXRhaWwgb2YgdGhlIHVwZGF0ZWQgaW5jaWRlbnQgcmVhc29uLlxyXG4gICAqL1xyXG4gIHB1dEluY2lkZW50UmVhc29uIChpZDogTnVtYmVyLCBib2R5OiBJbmNpZGVudFJlYXNvbkluKTogT2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbk91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpU3VjY2VzczxJbmNpZGVudFJlYXNvbk91dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudC1yZWFzb25zLyR7aWR9YCxcclxuICAgICAgYm9keVxyXG4gICAgKS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGFuIGV4aXN0aW5nIGluY2lkZW50IHJlYXNvbi5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaW5jaWRlbnQgcmVhc29uIHRvIGJlIGRlbGV0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiB0aGUgZGVsZXRlIGluY2lkZW50IHJlYXNvbi5cclxuICAgKi9cclxuICBkZWxldGVJbmNpZGVudFJlYXNvbiAoaWQ6IE51bWJlcik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25PdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25PdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29ucy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudHMgYmFzZWQgb24gcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGZpbHRlcmluZyB0aGUgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnRzLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uQ29tcGxlbWVudHNPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnRzLlxyXG4gICAqL1xyXG4gIGdldEluY2lkZW50UmVhc29uQ29tcGxlbWVudHMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uQ29tcGxlbWVudHNPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50c091dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudC1yZWFzb24tY29tcGxlbWVudHNgLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge0luY2lkZW50UmVhc29uSW59IGJvZHkgLSBUaGUgZGF0YSBmb3IgdGhlIG5ldyBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudC5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRPdXQ+fSBBbiBvYnNlcnZhYmxlIHRoZSBjcmVhdGVkIGluY2lkZW50IHJlYXNvbiBjb21wbGVtZW50IGRldGFpbC5cclxuICAgKi9cclxuICBwb3N0SW5jaWRlbnRSZWFzb25Db21wbGVtZW50IChib2R5OiBJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRJbik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpU3VjY2VzczxJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRPdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29uLWNvbXBsZW1lbnRzYCxcclxuICAgICAgYm9keVxyXG4gICAgKS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudCByZWNvcmQgdG8gdXBkYXRlLlxyXG4gICAqIEBwYXJhbSB7SW5jaWRlbnRJbn0gYm9keSAtIFRoZSBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudCBkYXRhIHRvIGJlIHVwZGF0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSBkZXRhaWwgb2YgdGhlIHVwZGF0ZWQgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnQuXHJcbiAgICovXHJcbiAgcHV0SW5jaWRlbnRSZWFzb25Db21wbGVtZW50IChpZDogTnVtYmVyLCBib2R5OiBJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRJbik6IE9ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxBcGlTdWNjZXNzPEluY2lkZW50UmVhc29uQ29tcGxlbWVudE91dD4+KGAke3RoaXMudXJsfS9pbmNpZGVudC1yZWFzb24tY29tcGxlbWVudHMvJHtpZH1gLFxyXG4gICAgICBib2R5XHJcbiAgICApLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYW4gZXhpc3RpbmcgaW5jaWRlbnQgcmVhc29uIGNvbXBsZW1lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGluY2lkZW50IHJlYXNvbiBjb21wbGVtZW50IHRvIGJlIGRlbGV0ZWQuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5jaWRlbnRSZWFzb25Db21wbGVtZW50T3V0Pn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHQgb2YgdGhlIGRlbGV0ZSBpbmNpZGVudCByZWFzb24gY29tcGxlbWVudC5cclxuICAgKi9cclxuICBkZWxldGVJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnQgKGlkOiBOdW1iZXIpOiBPYnNlcnZhYmxlPEluY2lkZW50UmVhc29uQ29tcGxlbWVudE91dD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpU3VjY2VzczxJbmNpZGVudFJlYXNvbkNvbXBsZW1lbnRPdXQ+PihgJHt0aGlzLnVybH0vaW5jaWRlbnQtcmVhc29uLWNvbXBsZW1lbnRzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3N0cyBwYWNrYWdlcyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gc3RvY2suXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBpbnB1dCBkYXRhIGNvbnRhaW5pbmcgcGFja2FnZSBzdG9jayBpbmZvcm1hdGlvblxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFBhY2thZ2VzSW5TdG9ja091dD59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcGFja2FnZXMgaW4gc3RvY2sgb3V0cHV0IGRhdGFcclxuICAgKlxyXG4gICAqIEByZW1hcmtzXHJcbiAgICogVGhpcyBtZXRob2Qgc2VuZHMgYSBQT1NUIHJlcXVlc3QgdG8gdGhlIGAvcGFja2FnZXMvaW4tc3RvY2tgIGVuZHBvaW50IGFuZFxyXG4gICAqIGV4dHJhY3RzIHRoZSBkYXRhIHByb3BlcnR5IGZyb20gdGhlIEFQSSBzdWNjZXNzIHJlc3BvbnNlLlxyXG4gICAqL1xyXG4gIHBvc3RQYWNrYWdlc0luU3RvY2sgKGJvZHk6IFBhY2thZ2VzSW5TdG9ja0luKTogT2JzZXJ2YWJsZTxQYWNrYWdlc0luU3RvY2tPdXQ+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFBhY2thZ2VzSW5TdG9ja091dD4+KGAke3RoaXMudXJsfS9wYWNrYWdlcy9pbi1zdG9ja2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxufVxyXG4iXX0=