@shieldiot/ngx-pulseiot-lib 2.18.1313 → 2.19.1313

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 (248) hide show
  1. package/fesm2022/shieldiot-ngx-pulseiot-lib.mjs +121 -121
  2. package/fesm2022/shieldiot-ngx-pulseiot-lib.mjs.map +1 -1
  3. package/lib/services/SysAccountsService.d.ts +1 -1
  4. package/lib/services/UsrAlertsService.d.ts +2 -2
  5. package/lib/services/UsrDevicesService.d.ts +2 -2
  6. package/lib/services/UsrEventsService.d.ts +2 -2
  7. package/lib/services/UsrReportsInstanceService.d.ts +1 -1
  8. package/lib/services/UsrReportsService.d.ts +1 -1
  9. package/lib/services/UsrUserService.d.ts +1 -1
  10. package/package.json +4 -6
  11. package/rest-utils.d.ts +2 -2
  12. package/esm2022/config.mjs +0 -14
  13. package/esm2022/lib/model/AIAttributionAssessment.mjs +0 -12
  14. package/esm2022/lib/model/AIBehavioralPatterns.mjs +0 -18
  15. package/esm2022/lib/model/AICheckpoint.mjs +0 -28
  16. package/esm2022/lib/model/AIContextReasoning.mjs +0 -12
  17. package/esm2022/lib/model/AICrossCorrelationAnalysis.mjs +0 -12
  18. package/esm2022/lib/model/AIEventDetail.mjs +0 -23
  19. package/esm2022/lib/model/AIEvidenceAgainstLegitimateScannerHypothesis.mjs +0 -18
  20. package/esm2022/lib/model/AIEvidenceSupportingMaliciousC2Infrastructure.mjs +0 -18
  21. package/esm2022/lib/model/AIExecutiveSummary.mjs +0 -24
  22. package/esm2022/lib/model/AIHypothesis.mjs +0 -15
  23. package/esm2022/lib/model/AIInfrastructureAnalysis.mjs +0 -21
  24. package/esm2022/lib/model/AINetworkPositionAndTrafficAnalysis.mjs +0 -15
  25. package/esm2022/lib/model/AIRecommendedActions.mjs +0 -15
  26. package/esm2022/lib/model/AITasksCode.mjs +0 -28
  27. package/esm2022/lib/model/Account.mjs +0 -24
  28. package/esm2022/lib/model/AccountDTO.mjs +0 -14
  29. package/esm2022/lib/model/AccountInfo.mjs +0 -26
  30. package/esm2022/lib/model/AccountReportDTO.mjs +0 -17
  31. package/esm2022/lib/model/AccountRole.mjs +0 -15
  32. package/esm2022/lib/model/AccountSettings.mjs +0 -24
  33. package/esm2022/lib/model/AccountStatusCode.mjs +0 -31
  34. package/esm2022/lib/model/AccountTypeCode.mjs +0 -35
  35. package/esm2022/lib/model/Action.mjs +0 -19
  36. package/esm2022/lib/model/ActionResponse.mjs +0 -15
  37. package/esm2022/lib/model/Alert.mjs +0 -38
  38. package/esm2022/lib/model/AlertWithDevice.mjs +0 -14
  39. package/esm2022/lib/model/ApiKey.mjs +0 -20
  40. package/esm2022/lib/model/AuditLog.mjs +0 -22
  41. package/esm2022/lib/model/BaseEntity.mjs +0 -17
  42. package/esm2022/lib/model/BaseEntityEx.mjs +0 -23
  43. package/esm2022/lib/model/BaseMessage.mjs +0 -22
  44. package/esm2022/lib/model/BaseRestResponse.mjs +0 -12
  45. package/esm2022/lib/model/BatchItem.mjs +0 -24
  46. package/esm2022/lib/model/BatchJob.mjs +0 -21
  47. package/esm2022/lib/model/BoolTypeCode.mjs +0 -27
  48. package/esm2022/lib/model/CheckPointStateCode.mjs +0 -28
  49. package/esm2022/lib/model/Checkpoint.mjs +0 -73
  50. package/esm2022/lib/model/ColumnDef.mjs +0 -27
  51. package/esm2022/lib/model/ConditionDescription.mjs +0 -24
  52. package/esm2022/lib/model/ConfigParam.mjs +0 -16
  53. package/esm2022/lib/model/ConfigParams.mjs +0 -14
  54. package/esm2022/lib/model/ConsumptionDataPoint.mjs +0 -15
  55. package/esm2022/lib/model/DNSRecord.mjs +0 -22
  56. package/esm2022/lib/model/DataIngestion.mjs +0 -48
  57. package/esm2022/lib/model/DataSourceCode.mjs +0 -35
  58. package/esm2022/lib/model/DeploymentInfo.mjs +0 -19
  59. package/esm2022/lib/model/Device.mjs +0 -41
  60. package/esm2022/lib/model/DeviceActionCode.mjs +0 -43
  61. package/esm2022/lib/model/DeviceConfig.mjs +0 -12
  62. package/esm2022/lib/model/DeviceCreationCode.mjs +0 -35
  63. package/esm2022/lib/model/DeviceIdentityCode.mjs +0 -47
  64. package/esm2022/lib/model/DeviceNode.mjs +0 -21
  65. package/esm2022/lib/model/DeviceReport.mjs +0 -20
  66. package/esm2022/lib/model/DeviceScoreConfig.mjs +0 -141
  67. package/esm2022/lib/model/DeviceStatusCode.mjs +0 -35
  68. package/esm2022/lib/model/DeviceTypeCode.mjs +0 -79
  69. package/esm2022/lib/model/DeviceWithEvents.mjs +0 -15
  70. package/esm2022/lib/model/DevicesAtRiskConfig.mjs +0 -9
  71. package/esm2022/lib/model/DevicesMap.mjs +0 -12
  72. package/esm2022/lib/model/DirectionContextCode.mjs +0 -35
  73. package/esm2022/lib/model/Distribution.mjs +0 -15
  74. package/esm2022/lib/model/Entities.mjs +0 -10
  75. package/esm2022/lib/model/EntitiesRequest.mjs +0 -9
  76. package/esm2022/lib/model/EntitiesResponse.mjs +0 -18
  77. package/esm2022/lib/model/EntityAction.mjs +0 -6
  78. package/esm2022/lib/model/EntityMessage.mjs +0 -15
  79. package/esm2022/lib/model/EntityRequest.mjs +0 -9
  80. package/esm2022/lib/model/EntityResponse.mjs +0 -14
  81. package/esm2022/lib/model/Event.mjs +0 -47
  82. package/esm2022/lib/model/EventCategoryCode.mjs +0 -27
  83. package/esm2022/lib/model/EventOccurrence.mjs +0 -21
  84. package/esm2022/lib/model/EventSeverityConfig.mjs +0 -9
  85. package/esm2022/lib/model/EventStatusCode.mjs +0 -35
  86. package/esm2022/lib/model/EventTypeCode.mjs +0 -175
  87. package/esm2022/lib/model/EventWithDevice.mjs +0 -14
  88. package/esm2022/lib/model/Feature.mjs +0 -16
  89. package/esm2022/lib/model/FeatureCode.mjs +0 -75
  90. package/esm2022/lib/model/FeaturesGroup.mjs +0 -16
  91. package/esm2022/lib/model/FloatInterval.mjs +0 -12
  92. package/esm2022/lib/model/FlowRecord.mjs +0 -55
  93. package/esm2022/lib/model/GeoData.mjs +0 -31
  94. package/esm2022/lib/model/GraphSeries.mjs +0 -12
  95. package/esm2022/lib/model/Group.mjs +0 -17
  96. package/esm2022/lib/model/HomePageViewCode.mjs +0 -31
  97. package/esm2022/lib/model/HttpMethodCode.mjs +0 -39
  98. package/esm2022/lib/model/IdsConfig.mjs +0 -27
  99. package/esm2022/lib/model/IdsList.mjs +0 -14
  100. package/esm2022/lib/model/IdsRule.mjs +0 -15
  101. package/esm2022/lib/model/Image.mjs +0 -16
  102. package/esm2022/lib/model/Indicator.mjs +0 -27
  103. package/esm2022/lib/model/Insight.mjs +0 -33
  104. package/esm2022/lib/model/InsightQuery.mjs +0 -21
  105. package/esm2022/lib/model/InsightSourceCode.mjs +0 -31
  106. package/esm2022/lib/model/InsightSpec.mjs +0 -19
  107. package/esm2022/lib/model/InsightStatusCode.mjs +0 -31
  108. package/esm2022/lib/model/InsightTypeCode.mjs +0 -31
  109. package/esm2022/lib/model/IntFloatValue.mjs +0 -12
  110. package/esm2022/lib/model/IntKeyValue.mjs +0 -12
  111. package/esm2022/lib/model/Integration.mjs +0 -38
  112. package/esm2022/lib/model/IntegrationContext.mjs +0 -15
  113. package/esm2022/lib/model/IntegrationTemplate.mjs +0 -27
  114. package/esm2022/lib/model/IntegrationTriggerCode.mjs +0 -27
  115. package/esm2022/lib/model/IntegrationTypeCode.mjs +0 -39
  116. package/esm2022/lib/model/Interval.mjs +0 -12
  117. package/esm2022/lib/model/Json.mjs +0 -7
  118. package/esm2022/lib/model/JsonDoc.mjs +0 -13
  119. package/esm2022/lib/model/Link.mjs +0 -27
  120. package/esm2022/lib/model/LlmPrompt.mjs +0 -15
  121. package/esm2022/lib/model/LocalTime.mjs +0 -7
  122. package/esm2022/lib/model/Location.mjs +0 -12
  123. package/esm2022/lib/model/LoginParams.mjs +0 -9
  124. package/esm2022/lib/model/MaliciousIPData.mjs +0 -18
  125. package/esm2022/lib/model/MaliciousIpCard.mjs +0 -30
  126. package/esm2022/lib/model/MapBounds.mjs +0 -12
  127. package/esm2022/lib/model/Member.mjs +0 -17
  128. package/esm2022/lib/model/MemberRoleCode.mjs +0 -35
  129. package/esm2022/lib/model/Message.mjs +0 -16
  130. package/esm2022/lib/model/MitreAttackCategory.mjs +0 -15
  131. package/esm2022/lib/model/NetworkEndpoint.mjs +0 -45
  132. package/esm2022/lib/model/NetworkMap.mjs +0 -12
  133. package/esm2022/lib/model/NetworkMapTypeCode.mjs +0 -31
  134. package/esm2022/lib/model/NetworkTopology.mjs +0 -16
  135. package/esm2022/lib/model/NetworkTopologyRecord.mjs +0 -57
  136. package/esm2022/lib/model/NetworkTopologyReport.mjs +0 -21
  137. package/esm2022/lib/model/NetworkTopologyReportKPIs.mjs +0 -30
  138. package/esm2022/lib/model/NetworkTopologyReportParams.mjs +0 -48
  139. package/esm2022/lib/model/Node.mjs +0 -39
  140. package/esm2022/lib/model/Notification.mjs +0 -15
  141. package/esm2022/lib/model/NotificationMessage.mjs +0 -17
  142. package/esm2022/lib/model/NotificationMessageDTO.mjs +0 -16
  143. package/esm2022/lib/model/NotificationMessageStats.mjs +0 -12
  144. package/esm2022/lib/model/NotificationQueuePayload.mjs +0 -21
  145. package/esm2022/lib/model/NotificationTypeCode.mjs +0 -47
  146. package/esm2022/lib/model/OperatorCode.mjs +0 -67
  147. package/esm2022/lib/model/ParserTaskCompletionStatus.mjs +0 -40
  148. package/esm2022/lib/model/PermissionCode.mjs +0 -39
  149. package/esm2022/lib/model/Radius.mjs +0 -24
  150. package/esm2022/lib/model/RegulatoryViolation.mjs +0 -18
  151. package/esm2022/lib/model/Report.mjs +0 -22
  152. package/esm2022/lib/model/ReportInstance.mjs +0 -25
  153. package/esm2022/lib/model/ReportSourceCode.mjs +0 -27
  154. package/esm2022/lib/model/ReportTypeCode.mjs +0 -39
  155. package/esm2022/lib/model/ResponseExtraction.mjs +0 -16
  156. package/esm2022/lib/model/Rule.mjs +0 -36
  157. package/esm2022/lib/model/RuleActivityStatusCode.mjs +0 -27
  158. package/esm2022/lib/model/RuleBasedSeverityConditionConfig.mjs +0 -18
  159. package/esm2022/lib/model/RuleCountThresholdConfig.mjs +0 -12
  160. package/esm2022/lib/model/RuleTemplate.mjs +0 -21
  161. package/esm2022/lib/model/RuleTypeCode.mjs +0 -35
  162. package/esm2022/lib/model/RuleWithSQL.mjs +0 -20
  163. package/esm2022/lib/model/SIM.mjs +0 -21
  164. package/esm2022/lib/model/SeriesData.mjs +0 -12
  165. package/esm2022/lib/model/ServiceStatus.mjs +0 -18
  166. package/esm2022/lib/model/SessionRecord.mjs +0 -32
  167. package/esm2022/lib/model/SessionTransform.mjs +0 -18
  168. package/esm2022/lib/model/SeverityConditionConfig.mjs +0 -21
  169. package/esm2022/lib/model/SeverityIntervalTuple.mjs +0 -12
  170. package/esm2022/lib/model/SeverityTypeCode.mjs +0 -35
  171. package/esm2022/lib/model/Shieldex.mjs +0 -17
  172. package/esm2022/lib/model/ShieldexConfig.mjs +0 -30
  173. package/esm2022/lib/model/SimpleEntity.mjs +0 -11
  174. package/esm2022/lib/model/StixCollection.mjs +0 -21
  175. package/esm2022/lib/model/StixCollectionView.mjs +0 -21
  176. package/esm2022/lib/model/StixIndicator.mjs +0 -32
  177. package/esm2022/lib/model/Stream.mjs +0 -20
  178. package/esm2022/lib/model/StreamAnalyticsConfig.mjs +0 -19
  179. package/esm2022/lib/model/StreamConfig.mjs +0 -36
  180. package/esm2022/lib/model/StringIntValue.mjs +0 -12
  181. package/esm2022/lib/model/StringKeyValue.mjs +0 -12
  182. package/esm2022/lib/model/TemplateParameter.mjs +0 -22
  183. package/esm2022/lib/model/TemplateStep.mjs +0 -33
  184. package/esm2022/lib/model/Thresholds.mjs +0 -9
  185. package/esm2022/lib/model/TimeDataPoint.mjs +0 -12
  186. package/esm2022/lib/model/TimeFrame.mjs +0 -12
  187. package/esm2022/lib/model/TimePeriodCode.mjs +0 -39
  188. package/esm2022/lib/model/TimeSeries.mjs +0 -15
  189. package/esm2022/lib/model/TimeSeriesConsumption.mjs +0 -15
  190. package/esm2022/lib/model/Timestamp.mjs +0 -7
  191. package/esm2022/lib/model/TokenData.mjs +0 -24
  192. package/esm2022/lib/model/TrafficDirectionCode.mjs +0 -31
  193. package/esm2022/lib/model/Tuple.mjs +0 -16
  194. package/esm2022/lib/model/UsageRecord.mjs +0 -45
  195. package/esm2022/lib/model/UsageTransform.mjs +0 -24
  196. package/esm2022/lib/model/User.mjs +0 -25
  197. package/esm2022/lib/model/UserMembership.mjs +0 -14
  198. package/esm2022/lib/model/UserMemberships.mjs +0 -14
  199. package/esm2022/lib/model/UserNotificationMessage.mjs +0 -17
  200. package/esm2022/lib/model/UserStatusCode.mjs +0 -35
  201. package/esm2022/lib/model/UserTypeCode.mjs +0 -35
  202. package/esm2022/lib/model/WSOpCode.mjs +0 -36
  203. package/esm2022/lib/model/ZScore.mjs +0 -12
  204. package/esm2022/lib/model/errorStruct.mjs +0 -12
  205. package/esm2022/lib/model/index.mjs +0 -194
  206. package/esm2022/lib/services/ConfigService.mjs +0 -36
  207. package/esm2022/lib/services/McpToolsService.mjs +0 -44
  208. package/esm2022/lib/services/SupportStreamAnalyticsConfigService.mjs +0 -77
  209. package/esm2022/lib/services/SysAccountsService.mjs +0 -149
  210. package/esm2022/lib/services/SysAuditLogService.mjs +0 -111
  211. package/esm2022/lib/services/SysCheckpointsService.mjs +0 -90
  212. package/esm2022/lib/services/SysConfigService.mjs +0 -109
  213. package/esm2022/lib/services/SysFeaturesService.mjs +0 -90
  214. package/esm2022/lib/services/SysGroupsService.mjs +0 -89
  215. package/esm2022/lib/services/SysIdsRulesService.mjs +0 -84
  216. package/esm2022/lib/services/SysInsightsService.mjs +0 -145
  217. package/esm2022/lib/services/SysIntegrationTemplatesService.mjs +0 -77
  218. package/esm2022/lib/services/SysIntegrationsService.mjs +0 -132
  219. package/esm2022/lib/services/SysKeysService.mjs +0 -77
  220. package/esm2022/lib/services/SysMembersService.mjs +0 -77
  221. package/esm2022/lib/services/SysRuleTemplatesService.mjs +0 -72
  222. package/esm2022/lib/services/SysRulesService.mjs +0 -110
  223. package/esm2022/lib/services/SysStatisticsService.mjs +0 -52
  224. package/esm2022/lib/services/SysStreamsService.mjs +0 -75
  225. package/esm2022/lib/services/SysUsersService.mjs +0 -99
  226. package/esm2022/lib/services/TaxiiApiRootService.mjs +0 -36
  227. package/esm2022/lib/services/TaxiiCollectionsService.mjs +0 -42
  228. package/esm2022/lib/services/TaxiiDiscoveryService.mjs +0 -35
  229. package/esm2022/lib/services/TaxiiManifestService.mjs +0 -49
  230. package/esm2022/lib/services/TaxiiObjectsService.mjs +0 -62
  231. package/esm2022/lib/services/UsrAiExplainService.mjs +0 -34
  232. package/esm2022/lib/services/UsrAlertsService.mjs +0 -616
  233. package/esm2022/lib/services/UsrDevicesService.mjs +0 -583
  234. package/esm2022/lib/services/UsrEventsService.mjs +0 -610
  235. package/esm2022/lib/services/UsrInsightsService.mjs +0 -77
  236. package/esm2022/lib/services/UsrIntegrationsService.mjs +0 -118
  237. package/esm2022/lib/services/UsrMembersService.mjs +0 -90
  238. package/esm2022/lib/services/UsrNetworkService.mjs +0 -261
  239. package/esm2022/lib/services/UsrNotificationMessagesService.mjs +0 -65
  240. package/esm2022/lib/services/UsrReportsInstanceService.mjs +0 -83
  241. package/esm2022/lib/services/UsrReportsService.mjs +0 -173
  242. package/esm2022/lib/services/UsrRulesService.mjs +0 -190
  243. package/esm2022/lib/services/UsrUserService.mjs +0 -124
  244. package/esm2022/lib/services/index.mjs +0 -39
  245. package/esm2022/ngx-pulseiot-lib.module.mjs +0 -26
  246. package/esm2022/public-api.mjs +0 -8
  247. package/esm2022/rest-utils.mjs +0 -137
  248. package/esm2022/shieldiot-ngx-pulseiot-lib.mjs +0 -5
@@ -1,65 +0,0 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { APP_CONFIG } from '../../config';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../rest-utils";
5
- import * as i2 from "../../config";
6
- // UsrNotificationMessagesEndPoint notification messages related actions for the user
7
- export class UsrNotificationMessagesService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/notification-messages';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Get a single notification message by id
18
- */
19
- get(id) {
20
- return this.rest.get(`${this.baseUrl}/${id}`);
21
- }
22
- /**
23
- * Find notification messages for the current user
24
- */
25
- find(isRead, sort, page, size) {
26
- const params = [];
27
- if (isRead != null) {
28
- params.push(`isRead=${isRead}`);
29
- }
30
- if (sort != null) {
31
- params.push(`sort=${sort}`);
32
- }
33
- if (page != null) {
34
- params.push(`page=${page}`);
35
- }
36
- if (size != null) {
37
- params.push(`size=${size}`);
38
- }
39
- return this.rest.get(`${this.baseUrl}`, ...params);
40
- }
41
- /**
42
- * Mark a specific notification as read
43
- */
44
- markAsRead(id) {
45
- return this.rest.patch(`${this.baseUrl}/${id}/read`, '');
46
- }
47
- /**
48
- * Mark all notifications as read for the current user
49
- */
50
- markAllAsRead() {
51
- return this.rest.patch(`${this.baseUrl}/mark-all-read`, '');
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrNotificationMessagesService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
54
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrNotificationMessagesService, providedIn: 'root' }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrNotificationMessagesService, decorators: [{
57
- type: Injectable,
58
- args: [{
59
- providedIn: 'root'
60
- }]
61
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
62
- type: Inject,
63
- args: [APP_CONFIG]
64
- }] }, { type: i1.RestUtils }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNyTm90aWZpY2F0aW9uTWVzc2FnZXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXB1bHNlaW90LWxpYi9zcmMvbGliL3NlcnZpY2VzL1Vzck5vdGlmaWNhdGlvbk1lc3NhZ2VzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBT3JELHNGQUFzRjtBQUl0RixNQUFNLE9BQU8sOEJBQThCO0lBS3pDLG9CQUFvQjtJQUNwQixZQUF3QyxNQUFpQixFQUFVLElBQWU7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQVc7UUFKbEYsaUJBQWlCO1FBQ1QsWUFBTyxHQUFHLHdCQUF3QixDQUFDO1FBSXpDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsRUFBVztRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXlDLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxNQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQUUsSUFBYTtRQUNoRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFFcEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMkMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsRUFBVztRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQzs4R0ExQ1UsOEJBQThCLGtCQU1yQixVQUFVO2tIQU5uQiw4QkFBOEIsY0FGN0IsTUFBTTs7MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT2MsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RVdGlscyB9IGZyb20gJy4uLy4uL3Jlc3QtdXRpbHMnO1xuaW1wb3J0IHsgQVBQX0NPTkZJRywgQXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuaW1wb3J0IHsgRW50aXRpZXNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5UmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlRFRPIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG4vLyBVc3JOb3RpZmljYXRpb25NZXNzYWdlc0VuZFBvaW50IG5vdGlmaWNhdGlvbiBtZXNzYWdlcyByZWxhdGVkIGFjdGlvbnMgZm9yIHRoZSB1c2VyIFxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNyTm90aWZpY2F0aW9uTWVzc2FnZXNTZXJ2aWNlIHtcblxuICAvLyBVUkwgdG8gd2ViIGFwaVxuICBwcml2YXRlIGJhc2VVcmwgPSAnL25vdGlmaWNhdGlvbi1tZXNzYWdlcyc7XG5cbiAgLy8gQ2xhc3MgY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IoQEluamVjdChBUFBfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogQXBwQ29uZmlnLCBwcml2YXRlIHJlc3Q6IFJlc3RVdGlscykge1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuY29uZmlnLmFwaSArIHRoaXMuYmFzZVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgbm90aWZpY2F0aW9uIG1lc3NhZ2UgYnkgaWRcbiAgICovXG4gIGdldChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0eVJlc3BvbnNlPE5vdGlmaWNhdGlvbk1lc3NhZ2VEVE8+PihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBub3RpZmljYXRpb24gbWVzc2FnZXMgZm9yIHRoZSBjdXJyZW50IHVzZXJcbiAgICovXG4gIGZpbmQoaXNSZWFkPzogYm9vbGVhbiwgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChpc1JlYWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgaXNSZWFkPSR7aXNSZWFkfWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPE5vdGlmaWNhdGlvbk1lc3NhZ2VEVE8+PihgJHt0aGlzLmJhc2VVcmx9YCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXJrIGEgc3BlY2lmaWMgbm90aWZpY2F0aW9uIGFzIHJlYWRcbiAgICovXG4gIG1hcmtBc1JlYWQoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBhdGNoPEFjdGlvblJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9L3JlYWRgLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogTWFyayBhbGwgbm90aWZpY2F0aW9ucyBhcyByZWFkIGZvciB0aGUgY3VycmVudCB1c2VyXG4gICAqL1xuICBtYXJrQWxsQXNSZWFkKCkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucGF0Y2g8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vbWFyay1hbGwtcmVhZGAsICcnKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,83 +0,0 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { APP_CONFIG } from '../../config';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../rest-utils";
5
- import * as i2 from "../../config";
6
- // UsrReportsInstanceEndPoint is a list of system reports related actions
7
- export class UsrReportsInstanceService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/reports-instance';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Update existing report
18
- */
19
- update(body) {
20
- return this.rest.patch(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
21
- }
22
- /**
23
- * Delete report
24
- */
25
- delete(id) {
26
- return this.rest.delete(`${this.baseUrl}/${id}`);
27
- }
28
- /**
29
- * Get a single report by id
30
- */
31
- get(id) {
32
- return this.rest.get(`${this.baseUrl}/${id}`);
33
- }
34
- /**
35
- * Find reports by query
36
- */
37
- find(search, sort, page, size, from, to, reportTriggerSource, reportType) {
38
- const params = [];
39
- if (search != null) {
40
- params.push(`search=${search}`);
41
- }
42
- if (sort != null) {
43
- params.push(`sort=${sort}`);
44
- }
45
- if (page != null) {
46
- params.push(`page=${page}`);
47
- }
48
- if (size != null) {
49
- params.push(`size=${size}`);
50
- }
51
- if (from != null) {
52
- params.push(`from=${from}`);
53
- }
54
- if (to != null) {
55
- params.push(`to=${to}`);
56
- }
57
- if (reportTriggerSource != null) {
58
- params.push(`reportTriggerSource=${reportTriggerSource}`);
59
- }
60
- if (reportType != null) {
61
- params.push(`reportType=${reportType}`);
62
- }
63
- return this.rest.get(`${this.baseUrl}`, ...params);
64
- }
65
- /**
66
- * Download report file as stream of PDF
67
- */
68
- downloadReport(id) {
69
- return this.rest.download(`usr-reports-instance`, `${this.baseUrl}/${id}/download-report`);
70
- }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrReportsInstanceService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
72
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrReportsInstanceService, providedIn: 'root' }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrReportsInstanceService, decorators: [{
75
- type: Injectable,
76
- args: [{
77
- providedIn: 'root'
78
- }]
79
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
80
- type: Inject,
81
- args: [APP_CONFIG]
82
- }] }, { type: i1.RestUtils }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNyUmVwb3J0c0luc3RhbmNlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1wdWxzZWlvdC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9Vc3JSZXBvcnRzSW5zdGFuY2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxjQUFjLENBQUM7Ozs7QUFTckQsMEVBQTBFO0FBSTFFLE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsb0JBQW9CO0lBQ3BCLFlBQXdDLE1BQWlCLEVBQVUsSUFBZTtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUpsRixpQkFBaUI7UUFDVCxZQUFPLEdBQUcsbUJBQW1CLENBQUM7UUFJcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFpQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BJLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxFQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxFQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE1BQWUsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBRSxJQUFhLEVBQUUsRUFBVyxFQUFFLG1CQUF3QyxFQUFFLFVBQTZCO1FBQ3BLLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUN4RCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM1QyxJQUFJLG1CQUFtQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUMvRixJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUV0RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxFQUFXO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM1RixDQUFDOzhHQXJEVSx5QkFBeUIsa0JBTWhCLFVBQVU7a0hBTm5CLHlCQUF5QixjQUZ4QixNQUFNOzsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBFbnRpdGllc1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgUmVwb3J0SW5zdGFuY2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgUmVwb3J0U291cmNlQ29kZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IFJlcG9ydFR5cGVDb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG4vLyBVc3JSZXBvcnRzSW5zdGFuY2VFbmRQb2ludCBpcyBhIGxpc3Qgb2Ygc3lzdGVtIHJlcG9ydHMgcmVsYXRlZCBhY3Rpb25zIFxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNyUmVwb3J0c0luc3RhbmNlU2VydmljZSB7XG5cbiAgLy8gVVJMIHRvIHdlYiBhcGlcbiAgcHJpdmF0ZSBiYXNlVXJsID0gJy9yZXBvcnRzLWluc3RhbmNlJztcblxuICAvLyBDbGFzcyBjb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBBcHBDb25maWcsIHByaXZhdGUgcmVzdDogUmVzdFV0aWxzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5jb25maWcuYXBpICsgdGhpcy5iYXNlVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBleGlzdGluZyByZXBvcnRcbiAgICovXG4gIHVwZGF0ZShib2R5PzogUmVwb3J0SW5zdGFuY2UpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBhdGNoPEVudGl0eVJlc3BvbnNlPFJlcG9ydEluc3RhbmNlPj4oYCR7dGhpcy5iYXNlVXJsfWAsIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGJvZHkpIDogYm9keSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHJlcG9ydFxuICAgKi9cbiAgZGVsZXRlKGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5kZWxldGU8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgcmVwb3J0IGJ5IGlkXG4gICAqL1xuICBnZXQoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxSZXBvcnRJbnN0YW5jZT4+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHJlcG9ydHMgYnkgcXVlcnlcbiAgICovXG4gIGZpbmQoc2VhcmNoPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyLCBmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlciwgcmVwb3J0VHJpZ2dlclNvdXJjZT86IFJlcG9ydFNvdXJjZUNvZGVbXSwgcmVwb3J0VHlwZT86IFJlcG9ydFR5cGVDb2RlW10pIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuICAgIGlmIChmcm9tICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGZyb209JHtmcm9tfWApOyB9XG4gICAgaWYgKHRvICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHRvPSR7dG99YCk7IH1cbiAgICBpZiAocmVwb3J0VHJpZ2dlclNvdXJjZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGByZXBvcnRUcmlnZ2VyU291cmNlPSR7cmVwb3J0VHJpZ2dlclNvdXJjZX1gKTsgfVxuICAgIGlmIChyZXBvcnRUeXBlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHJlcG9ydFR5cGU9JHtyZXBvcnRUeXBlfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPFJlcG9ydEluc3RhbmNlPj4oYCR7dGhpcy5iYXNlVXJsfWAsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWQgcmVwb3J0IGZpbGUgYXMgc3RyZWFtIG9mIFBERlxuICAgKi9cbiAgZG93bmxvYWRSZXBvcnQoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmRvd25sb2FkKGB1c3ItcmVwb3J0cy1pbnN0YW5jZWAsYCR7dGhpcy5iYXNlVXJsfS8ke2lkfS9kb3dubG9hZC1yZXBvcnRgKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,173 +0,0 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { APP_CONFIG } from '../../config';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../rest-utils";
5
- import * as i2 from "../../config";
6
- // UsrReportsEndPoint is a list of system reports related actions
7
- export class UsrReportsService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/reports';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Create new report
18
- */
19
- create(body) {
20
- return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
21
- }
22
- /**
23
- * Update existing report
24
- */
25
- update(body) {
26
- return this.rest.patch(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
27
- }
28
- /**
29
- * Delete report
30
- */
31
- delete(id) {
32
- return this.rest.delete(`${this.baseUrl}/${id}`);
33
- }
34
- /**
35
- * Get a single report by id
36
- */
37
- get(id) {
38
- return this.rest.get(`${this.baseUrl}/${id}`);
39
- }
40
- /**
41
- * Find reports by query
42
- */
43
- find(search, sort, page, size) {
44
- const params = [];
45
- if (search != null) {
46
- params.push(`search=${search}`);
47
- }
48
- if (sort != null) {
49
- params.push(`sort=${sort}`);
50
- }
51
- if (page != null) {
52
- params.push(`page=${page}`);
53
- }
54
- if (size != null) {
55
- params.push(`size=${size}`);
56
- }
57
- return this.rest.get(`${this.baseUrl}`, ...params);
58
- }
59
- /**
60
- * Create PDF compliance report
61
- */
62
- getComplianceReport(streamId, from, to) {
63
- const params = [];
64
- if (streamId != null) {
65
- params.push(`streamId=${streamId}`);
66
- }
67
- if (from != null) {
68
- params.push(`from=${from}`);
69
- }
70
- if (to != null) {
71
- params.push(`to=${to}`);
72
- }
73
- return this.rest.download(`usr-reports`, `${this.baseUrl}/compliance`, ...params);
74
- }
75
- /**
76
- * Create PDF compliance report and send it by mail to the user's email
77
- */
78
- getComplianceReportByMail(streamId, from, to, addresses) {
79
- const params = [];
80
- if (streamId != null) {
81
- params.push(`streamId=${streamId}`);
82
- }
83
- if (from != null) {
84
- params.push(`from=${from}`);
85
- }
86
- if (to != null) {
87
- params.push(`to=${to}`);
88
- }
89
- if (addresses != null) {
90
- params.push(`addresses=${addresses}`);
91
- }
92
- return this.rest.get(`${this.baseUrl}/compliance-by-mail`, ...params);
93
- }
94
- /**
95
- * Create PDF insights report and send it by mail to the user's email
96
- */
97
- getInsightsReportByMail(streamId, from, to, addresses) {
98
- const params = [];
99
- if (streamId != null) {
100
- params.push(`streamId=${streamId}`);
101
- }
102
- if (from != null) {
103
- params.push(`from=${from}`);
104
- }
105
- if (to != null) {
106
- params.push(`to=${to}`);
107
- }
108
- if (addresses != null) {
109
- params.push(`addresses=${addresses}`);
110
- }
111
- return this.rest.get(`${this.baseUrl}/insights-by-mail`, ...params);
112
- }
113
- /**
114
- * Get network activity over time histogram over the provided time period
115
- */
116
- getNetworkActivityOverTime(streamId, from, to) {
117
- const params = [];
118
- if (streamId != null) {
119
- params.push(`streamId=${streamId}`);
120
- }
121
- if (from != null) {
122
- params.push(`from=${from}`);
123
- }
124
- if (to != null) {
125
- params.push(`to=${to}`);
126
- }
127
- return this.rest.get(`${this.baseUrl}/network-activity-over-time`, ...params);
128
- }
129
- /**
130
- * Get device groups by communication frequency over the provided time period
131
- */
132
- getDeviceGroupsByCommunicationFrequency(streamId, from, to) {
133
- const params = [];
134
- if (streamId != null) {
135
- params.push(`streamId=${streamId}`);
136
- }
137
- if (from != null) {
138
- params.push(`from=${from}`);
139
- }
140
- if (to != null) {
141
- params.push(`to=${to}`);
142
- }
143
- return this.rest.get(`${this.baseUrl}/device-groups-by-communication-frequency`, ...params);
144
- }
145
- /**
146
- * Get device distribution by number of destinations over the provided time period
147
- */
148
- getDeviceDistributionByNumberOfDestinations(streamId, from, to) {
149
- const params = [];
150
- if (streamId != null) {
151
- params.push(`streamId=${streamId}`);
152
- }
153
- if (from != null) {
154
- params.push(`from=${from}`);
155
- }
156
- if (to != null) {
157
- params.push(`to=${to}`);
158
- }
159
- return this.rest.get(`${this.baseUrl}/device-distribution-by-number-of-destinations`, ...params);
160
- }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrReportsService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
162
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrReportsService, providedIn: 'root' }); }
163
- }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrReportsService, decorators: [{
165
- type: Injectable,
166
- args: [{
167
- providedIn: 'root'
168
- }]
169
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
170
- type: Inject,
171
- args: [APP_CONFIG]
172
- }] }, { type: i1.RestUtils }] });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNyUmVwb3J0c1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcHVsc2Vpb3QtbGliL3NyYy9saWIvc2VydmljZXMvVXNyUmVwb3J0c1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGNBQWMsQ0FBQzs7OztBQVNyRCxrRUFBa0U7QUFJbEUsTUFBTSxPQUFPLGlCQUFpQjtJQUs1QixvQkFBb0I7SUFDcEIsWUFBd0MsTUFBaUIsRUFBVSxJQUFlO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFXO1FBSmxGLGlCQUFpQjtRQUNULFlBQU8sR0FBRyxVQUFVLENBQUM7UUFJM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLElBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBeUIsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxD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QUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM5RCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUU5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE4QyxHQUFHLElBQUksQ0FBQyxPQUFPLGdEQUFnRCxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDOUksQ0FBQzs4R0EzSFUsaUJBQWlCLGtCQU1SLFVBQVU7a0hBTm5CLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBSZXBvcnQgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRW50aXRpZXNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IFRpbWVTZXJpZXMgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBHcmFwaFNlcmllcyB9IGZyb20gJy4uL21vZGVsJztcblxuLy8gVXNyUmVwb3J0c0VuZFBvaW50IGlzIGEgbGlzdCBvZiBzeXN0ZW0gcmVwb3J0cyByZWxhdGVkIGFjdGlvbnMgXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVc3JSZXBvcnRzU2VydmljZSB7XG5cbiAgLy8gVVJMIHRvIHdlYiBhcGlcbiAgcHJpdmF0ZSBiYXNlVXJsID0gJy9yZXBvcnRzJztcblxuICAvLyBDbGFzcyBjb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBBcHBDb25maWcsIHByaXZhdGUgcmVzdDogUmVzdFV0aWxzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5jb25maWcuYXBpICsgdGhpcy5iYXNlVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgcmVwb3J0XG4gICAqL1xuICBjcmVhdGUoYm9keT86IFJlcG9ydCkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucHV0PEVudGl0eVJlc3BvbnNlPFJlcG9ydD4+KGAke3RoaXMuYmFzZVVybH1gLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBleGlzdGluZyByZXBvcnRcbiAgICovXG4gIHVwZGF0ZShib2R5PzogUmVwb3J0KSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5wYXRjaDxFbnRpdHlSZXNwb25zZTxSZXBvcnQ+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgcmVwb3J0XG4gICAqL1xuICBkZWxldGUoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmRlbGV0ZTxBY3Rpb25SZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSByZXBvcnQgYnkgaWRcbiAgICovXG4gIGdldChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0eVJlc3BvbnNlPFJlcG9ydD4+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHJlcG9ydHMgYnkgcXVlcnlcbiAgICovXG4gIGZpbmQoc2VhcmNoPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8UmVwb3J0Pj4oYCR7dGhpcy5iYXNlVXJsfWAsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIFBERiBjb21wbGlhbmNlIHJlcG9ydFxuICAgKi9cbiAgZ2V0Q29tcGxpYW5jZVJlcG9ydChzdHJlYW1JZD86IHN0cmluZywgZnJvbT86IG51bWJlciwgdG8/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc3RyZWFtSWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc3RyZWFtSWQ9JHtzdHJlYW1JZH1gKTsgfVxuICAgIGlmIChmcm9tICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGZyb209JHtmcm9tfWApOyB9XG4gICAgaWYgKHRvICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHRvPSR7dG99YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZG93bmxvYWQoYHVzci1yZXBvcnRzYCxgJHt0aGlzLmJhc2VVcmx9L2NvbXBsaWFuY2VgLCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBQREYgY29tcGxpYW5jZSByZXBvcnQgYW5kIHNlbmQgaXQgYnkgbWFpbCB0byB0aGUgdXNlcidzIGVtYWlsXG4gICAqL1xuICBnZXRDb21wbGlhbmNlUmVwb3J0QnlNYWlsKHN0cmVhbUlkPzogc3RyaW5nLCBmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlciwgYWRkcmVzc2VzPzogc3RyaW5nW10pIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc3RyZWFtSWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc3RyZWFtSWQ9JHtzdHJlYW1JZH1gKTsgfVxuICAgIGlmIChmcm9tICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGZyb209JHtmcm9tfWApOyB9XG4gICAgaWYgKHRvICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHRvPSR7dG99YCk7IH1cbiAgICBpZiAoYWRkcmVzc2VzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGFkZHJlc3Nlcz0ke2FkZHJlc3Nlc31gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vY29tcGxpYW5jZS1ieS1tYWlsYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgUERGIGluc2lnaHRzIHJlcG9ydCBhbmQgc2VuZCBpdCBieSBtYWlsIHRvIHRoZSB1c2VyJ3MgZW1haWxcbiAgICovXG4gIGdldEluc2lnaHRzUmVwb3J0QnlNYWlsKHN0cmVhbUlkPzogc3RyaW5nLCBmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlciwgYWRkcmVzc2VzPzogc3RyaW5nW10pIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc3RyZWFtSWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc3RyZWFtSWQ9JHtzdHJlYW1JZH1gKTsgfVxuICAgIGlmIChmcm9tICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGZyb209JHtmcm9tfWApOyB9XG4gICAgaWYgKHRvICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHRvPSR7dG99YCk7IH1cbiAgICBpZiAoYWRkcmVzc2VzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGFkZHJlc3Nlcz0ke2FkZHJlc3Nlc31gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vaW5zaWdodHMtYnktbWFpbGAsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldHdvcmsgYWN0aXZpdHkgb3ZlciB0aW1lIGhpc3RvZ3JhbSBvdmVyIHRoZSBwcm92aWRlZCB0aW1lIHBlcmlvZFxuICAgKi9cbiAgZ2V0TmV0d29ya0FjdGl2aXR5T3ZlclRpbWUoc3RyZWFtSWQ/OiBzdHJpbmcsIGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHN0cmVhbUlkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0cmVhbUlkPSR7c3RyZWFtSWR9YCk7IH1cbiAgICBpZiAoZnJvbSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBmcm9tPSR7ZnJvbX1gKTsgfVxuICAgIGlmICh0byAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGB0bz0ke3RvfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxUaW1lU2VyaWVzPG51bWJlcj4+PihgJHt0aGlzLmJhc2VVcmx9L25ldHdvcmstYWN0aXZpdHktb3Zlci10aW1lYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV2aWNlIGdyb3VwcyBieSBjb21tdW5pY2F0aW9uIGZyZXF1ZW5jeSBvdmVyIHRoZSBwcm92aWRlZCB0aW1lIHBlcmlvZFxuICAgKi9cbiAgZ2V0RGV2aWNlR3JvdXBzQnlDb21tdW5pY2F0aW9uRnJlcXVlbmN5KHN0cmVhbUlkPzogc3RyaW5nLCBmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzdHJlYW1JZCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdHJlYW1JZD0ke3N0cmVhbUlkfWApOyB9XG4gICAgaWYgKGZyb20gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZnJvbT0ke2Zyb219YCk7IH1cbiAgICBpZiAodG8gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdG89JHt0b31gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXR5UmVzcG9uc2U8R3JhcGhTZXJpZXM8c3RyaW5nLCBudW1iZXI+Pj4oYCR7dGhpcy5iYXNlVXJsfS9kZXZpY2UtZ3JvdXBzLWJ5LWNvbW11bmljYXRpb24tZnJlcXVlbmN5YCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGV2aWNlIGRpc3RyaWJ1dGlvbiBieSBudW1iZXIgb2YgZGVzdGluYXRpb25zIG92ZXIgdGhlIHByb3ZpZGVkIHRpbWUgcGVyaW9kXG4gICAqL1xuICBnZXREZXZpY2VEaXN0cmlidXRpb25CeU51bWJlck9mRGVzdGluYXRpb25zKHN0cmVhbUlkPzogc3RyaW5nLCBmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzdHJlYW1JZCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdHJlYW1JZD0ke3N0cmVhbUlkfWApOyB9XG4gICAgaWYgKGZyb20gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZnJvbT0ke2Zyb219YCk7IH1cbiAgICBpZiAodG8gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdG89JHt0b31gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXR5UmVzcG9uc2U8R3JhcGhTZXJpZXM8c3RyaW5nLCBudW1iZXI+Pj4oYCR7dGhpcy5iYXNlVXJsfS9kZXZpY2UtZGlzdHJpYnV0aW9uLWJ5LW51bWJlci1vZi1kZXN0aW5hdGlvbnNgLCAuLi5wYXJhbXMpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,190 +0,0 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { APP_CONFIG } from '../../config';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../rest-utils";
5
- import * as i2 from "../../config";
6
- // UsrRulesEndPoint is a list of rules related actions
7
- export class UsrRulesService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/rules';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * region Endpoint REST handlers ---------------------------------------------------------------------------------------
18
- * Create new rule configuration
19
- */
20
- create(body) {
21
- return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
22
- }
23
- /**
24
- * Update existing rule configuration
25
- */
26
- update(body) {
27
- return this.rest.patch(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
28
- }
29
- /**
30
- * Delete rule configuration
31
- */
32
- delete(id) {
33
- return this.rest.delete(`${this.baseUrl}/${id}`);
34
- }
35
- /**
36
- * Get a single rule by id
37
- */
38
- get(id) {
39
- return this.rest.get(`${this.baseUrl}/${id}`);
40
- }
41
- /**
42
- * Get a single rule with computed SQL statement by rule's id
43
- */
44
- getWithSQL(id) {
45
- return this.rest.get(`${this.baseUrl}/sql/${id}`);
46
- }
47
- /**
48
- * Get a all active rules fro stream id with computed SQL statement
49
- */
50
- getWithSQLByStreamId(streamId) {
51
- const params = [];
52
- if (streamId != null) {
53
- params.push(`streamId=${streamId}`);
54
- }
55
- return this.rest.get(`${this.baseUrl}/sql`, ...params);
56
- }
57
- /**
58
- * Find rules by query
59
- */
60
- find(streamId, search, from, to, eventSeverity, activityStatus, eventType, includeSysRules, sort, page, size) {
61
- const params = [];
62
- if (streamId != null) {
63
- params.push(`streamId=${streamId}`);
64
- }
65
- if (search != null) {
66
- params.push(`search=${search}`);
67
- }
68
- if (from != null) {
69
- params.push(`from=${from}`);
70
- }
71
- if (to != null) {
72
- params.push(`to=${to}`);
73
- }
74
- if (eventSeverity != null) {
75
- params.push(`eventSeverity=${eventSeverity}`);
76
- }
77
- if (activityStatus != null) {
78
- params.push(`activityStatus=${activityStatus}`);
79
- }
80
- if (eventType != null) {
81
- params.push(`eventType=${eventType}`);
82
- }
83
- if (includeSysRules != null) {
84
- params.push(`includeSysRules=${includeSysRules}`);
85
- }
86
- if (sort != null) {
87
- params.push(`sort=${sort}`);
88
- }
89
- if (page != null) {
90
- params.push(`page=${page}`);
91
- }
92
- if (size != null) {
93
- params.push(`size=${size}`);
94
- }
95
- return this.rest.get(`${this.baseUrl}`, ...params);
96
- }
97
- /**
98
- * Analyze rule configuration against historic data
99
- */
100
- analyze(from, to, interval, size, body) {
101
- const params = [];
102
- if (from != null) {
103
- params.push(`from=${from}`);
104
- }
105
- if (to != null) {
106
- params.push(`to=${to}`);
107
- }
108
- if (interval != null) {
109
- params.push(`interval=${interval}`);
110
- }
111
- if (size != null) {
112
- params.push(`size=${size}`);
113
- }
114
- return this.rest.post(`${this.baseUrl}/analyze`, typeof body === 'object' ? JSON.stringify(body) : body, ...params);
115
- }
116
- /**
117
- * Get rules distribution by severity filtered by query
118
- */
119
- countBySeverity(streamId, search, from, to, eventSeverity, activityStatus, eventType, includeSysRules) {
120
- const params = [];
121
- if (streamId != null) {
122
- params.push(`streamId=${streamId}`);
123
- }
124
- if (search != null) {
125
- params.push(`search=${search}`);
126
- }
127
- if (from != null) {
128
- params.push(`from=${from}`);
129
- }
130
- if (to != null) {
131
- params.push(`to=${to}`);
132
- }
133
- if (eventSeverity != null) {
134
- params.push(`eventSeverity=${eventSeverity}`);
135
- }
136
- if (activityStatus != null) {
137
- params.push(`activityStatus=${activityStatus}`);
138
- }
139
- if (eventType != null) {
140
- params.push(`eventType=${eventType}`);
141
- }
142
- if (includeSysRules != null) {
143
- params.push(`includeSysRules=${includeSysRules}`);
144
- }
145
- return this.rest.get(`${this.baseUrl}/count/by-severity`, ...params);
146
- }
147
- /**
148
- * Get alerts count by rule filtered by query
149
- */
150
- countAlertsByRule(streamId, search, from, to, eventSeverity, activityStatus, eventType, includeSysRules) {
151
- const params = [];
152
- if (streamId != null) {
153
- params.push(`streamId=${streamId}`);
154
- }
155
- if (search != null) {
156
- params.push(`search=${search}`);
157
- }
158
- if (from != null) {
159
- params.push(`from=${from}`);
160
- }
161
- if (to != null) {
162
- params.push(`to=${to}`);
163
- }
164
- if (eventSeverity != null) {
165
- params.push(`eventSeverity=${eventSeverity}`);
166
- }
167
- if (activityStatus != null) {
168
- params.push(`activityStatus=${activityStatus}`);
169
- }
170
- if (eventType != null) {
171
- params.push(`eventType=${eventType}`);
172
- }
173
- if (includeSysRules != null) {
174
- params.push(`includeSysRules=${includeSysRules}`);
175
- }
176
- return this.rest.get(`${this.baseUrl}/count-alerts/by-rule-id`, ...params);
177
- }
178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrRulesService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
179
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrRulesService, providedIn: 'root' }); }
180
- }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: UsrRulesService, decorators: [{
182
- type: Injectable,
183
- args: [{
184
- providedIn: 'root'
185
- }]
186
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
187
- type: Inject,
188
- args: [APP_CONFIG]
189
- }] }, { type: i1.RestUtils }] });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNyUnVsZXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXB1bHNlaW90LWxpYi9zcmMvbGliL3NlcnZpY2VzL1VzclJ1bGVzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBYXJELHVEQUF1RDtBQUl2RCxNQUFNLE9BQU8sZUFBZTtJQUsxQixvQkFBb0I7SUFDcEIsWUFBd0MsTUFBaUIsRUFBVSxJQUFlO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFXO1FBSmxGLGlCQUFpQjtRQUNULFlBQU8sR0FBRyxRQUFRLENBQUM7UUFJekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBVztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF1QixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEVBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEVBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF1QixHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsRUFBVztRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE4QixHQUFHLElBQUksQ0FBQyxPQUFPLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0IsQ0FBQyxRQUFpQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFFaEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0MsR0FBRyxJQUFJLENBQUMsT0FBTyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsUUFBaUIsRUFBRSxNQUFlLEVBQUUsSUFBYSxFQUFFLEVBQVcsRUFBRSxhQUFrQyxFQUFFLGNBQXlDLEVBQUUsU0FBMkIsRUFBRSxlQUF5QixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQUUsSUFBYTtRQUNyUCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDOUQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbEQsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDNUMsSUFBSSxhQUFhLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM3RSxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2hGLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2pFLElBQUksZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbkYsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENB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QVMsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2pFLElBQUksZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFFckYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBdUMsR0FBRyxJQUFJLENBQUMsT0FBTywwQkFBMEIsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ2pILENBQUM7OEdBekhVLGVBQWUsa0JBTU4sVUFBVTtrSEFObkIsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBSdWxlV2l0aFNRTCB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IFNldmVyaXR5VHlwZUNvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBSdWxlQWN0aXZpdHlTdGF0dXNDb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgVGltZVNlcmllcyB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IFJ1bGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRW50aXRpZXNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEV2ZW50VHlwZUNvZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBEaXN0cmlidXRpb24gfSBmcm9tICcuLi9tb2RlbCc7XG5cbi8vIFVzclJ1bGVzRW5kUG9pbnQgaXMgYSBsaXN0IG9mIHJ1bGVzIHJlbGF0ZWQgYWN0aW9ucyBcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVzclJ1bGVzU2VydmljZSB7XG5cbiAgLy8gVVJMIHRvIHdlYiBhcGlcbiAgcHJpdmF0ZSBiYXNlVXJsID0gJy9ydWxlcyc7XG5cbiAgLy8gQ2xhc3MgY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IoQEluamVjdChBUFBfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogQXBwQ29uZmlnLCBwcml2YXRlIHJlc3Q6IFJlc3RVdGlscykge1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuY29uZmlnLmFwaSArIHRoaXMuYmFzZVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWdpb24gRW5kcG9pbnQgUkVTVCBoYW5kbGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ3JlYXRlIG5ldyBydWxlIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGNyZWF0ZShib2R5PzogUnVsZSkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucHV0PEVudGl0eVJlc3BvbnNlPFJ1bGU+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZXhpc3RpbmcgcnVsZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICB1cGRhdGUoYm9keT86IFJ1bGUpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBhdGNoPEVudGl0eVJlc3BvbnNlPFJ1bGU+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgcnVsZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBkZWxldGUoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmRlbGV0ZTxBY3Rpb25SZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBydWxlIGJ5IGlkXG4gICAqL1xuICBnZXQoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxSdWxlPj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBydWxlIHdpdGggY29tcHV0ZWQgU1FMIHN0YXRlbWVudCBieSBydWxlJ3MgaWRcbiAgICovXG4gIGdldFdpdGhTUUwoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxSdWxlV2l0aFNRTD4+KGAke3RoaXMuYmFzZVVybH0vc3FsLyR7aWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgYWxsIGFjdGl2ZSBydWxlcyBmcm8gc3RyZWFtIGlkICB3aXRoIGNvbXB1dGVkIFNRTCBzdGF0ZW1lbnRcbiAgICovXG4gIGdldFdpdGhTUUxCeVN0cmVhbUlkKHN0cmVhbUlkPzogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHN0cmVhbUlkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0cmVhbUlkPSR7c3RyZWFtSWR9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8UnVsZVdpdGhTUUw+PihgJHt0aGlzLmJhc2VVcmx9L3NxbGAsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBydWxlcyBieSBxdWVyeVxuICAgKi9cbiAgZmluZChzdHJlYW1JZD86IHN0cmluZywgc2VhcmNoPzogc3RyaW5nLCBmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlciwgZXZlbnRTZXZlcml0eT86IFNldmVyaXR5VHlwZUNvZGVbXSwgYWN0aXZpdHlTdGF0dXM/OiBSdWxlQWN0aXZpdHlTdGF0dXNDb2RlW10sIGV2ZW50VHlwZT86IEV2ZW50VHlwZUNvZGVbXSwgaW5jbHVkZVN5c1J1bGVzPzogYm9vbGVhbiwgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzdHJlYW1JZCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdHJlYW1JZD0ke3N0cmVhbUlkfWApOyB9XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoZnJvbSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBmcm9tPSR7ZnJvbX1gKTsgfVxuICAgIGlmICh0byAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGB0bz0ke3RvfWApOyB9XG4gICAgaWYgKGV2ZW50U2V2ZXJpdHkgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZXZlbnRTZXZlcml0eT0ke2V2ZW50U2V2ZXJpdHl9YCk7IH1cbiAgICBpZiAoYWN0aXZpdHlTdGF0dXMgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgYWN0aXZpdHlTdGF0dXM9JHthY3Rpdml0eVN0YXR1c31gKTsgfVxuICAgIGlmIChldmVudFR5cGUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZXZlbnRUeXBlPSR7ZXZlbnRUeXBlfWApOyB9XG4gICAgaWYgKGluY2x1ZGVTeXNSdWxlcyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBpbmNsdWRlU3lzUnVsZXM9JHtpbmNsdWRlU3lzUnVsZXN9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8UnVsZT4+KGAke3RoaXMuYmFzZVVybH1gLCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuYWx5emUgcnVsZSBjb25maWd1cmF0aW9uIGFnYWluc3QgaGlzdG9yaWMgZGF0YVxuICAgKi9cbiAgYW5hbHl6ZShmcm9tPzogbnVtYmVyLCB0bz86IG51bWJlciwgaW50ZXJ2YWw/OiBudW1iZXIsIHNpemU/OiBudW1iZXIsIGJvZHk/OiBSdWxlKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKGZyb20gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZnJvbT0ke2Zyb219YCk7IH1cbiAgICBpZiAodG8gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdG89JHt0b31gKTsgfVxuICAgIGlmIChpbnRlcnZhbCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBpbnRlcnZhbD0ke2ludGVydmFsfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QucG9zdDxFbnRpdHlSZXNwb25zZTxUaW1lU2VyaWVzPG51bWJlcj4+PihgJHt0aGlzLmJhc2VVcmx9L2FuYWx5emVgLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHksIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHJ1bGVzIGRpc3RyaWJ1dGlvbiBieSBzZXZlcml0eSBmaWx0ZXJlZCBieSBxdWVyeVxuICAgKi9cbiAgY291bnRCeVNldmVyaXR5KHN0cmVhbUlkPzogc3RyaW5nLCBzZWFyY2g/OiBzdHJpbmcsIGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyLCBldmVudFNldmVyaXR5PzogU2V2ZXJpdHlUeXBlQ29kZVtdLCBhY3Rpdml0eVN0YXR1cz86IFJ1bGVBY3Rpdml0eVN0YXR1c0NvZGVbXSwgZXZlbnRUeXBlPzogRXZlbnRUeXBlQ29kZVtdLCBpbmNsdWRlU3lzUnVsZXM/OiBib29sZWFuKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHN0cmVhbUlkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0cmVhbUlkPSR7c3RyZWFtSWR9YCk7IH1cbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuICAgIGlmIChmcm9tICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGZyb209JHtmcm9tfWApOyB9XG4gICAgaWYgKHRvICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHRvPSR7dG99YCk7IH1cbiAgICBpZiAoZXZlbnRTZXZlcml0eSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBldmVudFNldmVyaXR5PSR7ZXZlbnRTZXZlcml0eX1gKTsgfVxuICAgIGlmIChhY3Rpdml0eVN0YXR1cyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBhY3Rpdml0eVN0YXR1cz0ke2FjdGl2aXR5U3RhdHVzfWApOyB9XG4gICAgaWYgKGV2ZW50VHlwZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBldmVudFR5cGU9JHtldmVudFR5cGV9YCk7IH1cbiAgICBpZiAoaW5jbHVkZVN5c1J1bGVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGluY2x1ZGVTeXNSdWxlcz0ke2luY2x1ZGVTeXNSdWxlc31gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXR5UmVzcG9uc2U8RGlzdHJpYnV0aW9uPG51bWJlcj4+PihgJHt0aGlzLmJhc2VVcmx9L2NvdW50L2J5LXNldmVyaXR5YCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxlcnRzIGNvdW50IGJ5IHJ1bGUgZmlsdGVyZWQgYnkgcXVlcnlcbiAgICovXG4gIGNvdW50QWxlcnRzQnlSdWxlKHN0cmVhbUlkPzogc3RyaW5nLCBzZWFyY2g/OiBzdHJpbmcsIGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyLCBldmVudFNldmVyaXR5PzogU2V2ZXJpdHlUeXBlQ29kZVtdLCBhY3Rpdml0eVN0YXR1cz86IFJ1bGVBY3Rpdml0eVN0YXR1c0NvZGVbXSwgZXZlbnRUeXBlPzogRXZlbnRUeXBlQ29kZVtdLCBpbmNsdWRlU3lzUnVsZXM/OiBib29sZWFuKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHN0cmVhbUlkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0cmVhbUlkPSR7c3RyZWFtSWR9YCk7IH1cbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuICAgIGlmIChmcm9tICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGZyb209JHtmcm9tfWApOyB9XG4gICAgaWYgKHRvICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHRvPSR7dG99YCk7IH1cbiAgICBpZiAoZXZlbnRTZXZlcml0eSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBldmVudFNldmVyaXR5PSR7ZXZlbnRTZXZlcml0eX1gKTsgfVxuICAgIGlmIChhY3Rpdml0eVN0YXR1cyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBhY3Rpdml0eVN0YXR1cz0ke2FjdGl2aXR5U3RhdHVzfWApOyB9XG4gICAgaWYgKGV2ZW50VHlwZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBldmVudFR5cGU9JHtldmVudFR5cGV9YCk7IH1cbiAgICBpZiAoaW5jbHVkZVN5c1J1bGVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGluY2x1ZGVTeXNSdWxlcz0ke2luY2x1ZGVTeXNSdWxlc31gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXR5UmVzcG9uc2U8RGlzdHJpYnV0aW9uPG51bWJlcj4+PihgJHt0aGlzLmJhc2VVcmx9L2NvdW50LWFsZXJ0cy9ieS1ydWxlLWlkYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG59XG4iXX0=