@shieldiot/ngx-pulseiot-lib 2.18.1316 → 2.19.1314

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,149 +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
- // SysAccountsEndPoint is a list of account related actions for system administrator only
7
- export class SysAccountsService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/sys/accounts';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Create new account
18
- */
19
- create(dontCreateStream, body) {
20
- const params = [];
21
- if (dontCreateStream != null) {
22
- params.push(`dontCreateStream=${dontCreateStream}`);
23
- }
24
- return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body, ...params);
25
- }
26
- /**
27
- * Update existing account
28
- */
29
- update(body) {
30
- return this.rest.patch(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
31
- }
32
- /**
33
- * Update existing account settings
34
- */
35
- updateSettings(id, body) {
36
- return this.rest.patch(`${this.baseUrl}/${id}`, typeof body === 'object' ? JSON.stringify(body) : body);
37
- }
38
- /**
39
- * Delete account and all its content
40
- */
41
- delete(id) {
42
- return this.rest.delete(`${this.baseUrl}/${id}`);
43
- }
44
- /**
45
- * Get a single account by id
46
- */
47
- get(id) {
48
- return this.rest.get(`${this.baseUrl}/${id}`);
49
- }
50
- /**
51
- * Find accounts by query
52
- */
53
- find(search, type, status, sort, page, size) {
54
- const params = [];
55
- if (search != null) {
56
- params.push(`search=${search}`);
57
- }
58
- if (type != null) {
59
- params.push(`type=${type}`);
60
- }
61
- if (status != null) {
62
- params.push(`status=${status}`);
63
- }
64
- if (sort != null) {
65
- params.push(`sort=${sort}`);
66
- }
67
- if (page != null) {
68
- params.push(`page=${page}`);
69
- }
70
- if (size != null) {
71
- params.push(`size=${size}`);
72
- }
73
- return this.rest.get(`${this.baseUrl}`, ...params);
74
- }
75
- /**
76
- * Save account logo
77
- */
78
- saveLogo(body) {
79
- return this.rest.patch(`${this.baseUrl}/logo`, typeof body === 'object' ? JSON.stringify(body) : body);
80
- }
81
- /**
82
- * Get account logo
83
- */
84
- getLogo(id) {
85
- return this.rest.get(`${this.baseUrl}/logo/${id}`);
86
- }
87
- /**
88
- * Find accounts by query
89
- */
90
- findAccountReports(search, type, status, sort, page, size) {
91
- const params = [];
92
- if (search != null) {
93
- params.push(`search=${search}`);
94
- }
95
- if (type != null) {
96
- params.push(`type=${type}`);
97
- }
98
- if (status != null) {
99
- params.push(`status=${status}`);
100
- }
101
- if (sort != null) {
102
- params.push(`sort=${sort}`);
103
- }
104
- if (page != null) {
105
- params.push(`page=${page}`);
106
- }
107
- if (size != null) {
108
- params.push(`size=${size}`);
109
- }
110
- return this.rest.get(`${this.baseUrl}/find-account-reports`, ...params);
111
- }
112
- /**
113
- * Export accounts reports by query to a file
114
- */
115
- export(format, search, type, status, sort, page, size) {
116
- const params = [];
117
- if (search != null) {
118
- params.push(`search=${search}`);
119
- }
120
- if (type != null) {
121
- params.push(`type=${type}`);
122
- }
123
- if (status != null) {
124
- params.push(`status=${status}`);
125
- }
126
- if (sort != null) {
127
- params.push(`sort=${sort}`);
128
- }
129
- if (page != null) {
130
- params.push(`page=${page}`);
131
- }
132
- if (size != null) {
133
- params.push(`size=${size}`);
134
- }
135
- return this.rest.download(`export`, `${this.baseUrl}/export/${format}`, ...params);
136
- }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysAccountsService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
138
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysAccountsService, providedIn: 'root' }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysAccountsService, decorators: [{
141
- type: Injectable,
142
- args: [{
143
- providedIn: 'root'
144
- }]
145
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
146
- type: Inject,
147
- args: [APP_CONFIG]
148
- }] }, { type: i1.RestUtils }] });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzQWNjb3VudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXB1bHNlaW90LWxpYi9zcmMvbGliL3NlcnZpY2VzL1N5c0FjY291bnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBWXJELDBGQUEwRjtBQUkxRixNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLG9CQUFvQjtJQUNwQixZQUF3QyxNQUFpQixFQUFVLElBQWU7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQVc7UUFKbEYsaUJBQWlCO1FBQ1QsWUFBTyxHQUFHLGVBQWUsQ0FBQztRQUloQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUEwQixFQUFFLElBQWM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRXhGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTBCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDcEksQ0FBQztJQUVEOztP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IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXN0VXRpbHMgfSBmcm9tICcuLi8uLi9yZXN0LXV0aWxzJztcbmltcG9ydCB7IEFQUF9DT05GSUcsIEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7IEFjY291bnRTdGF0dXNDb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRW50aXRpZXNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEltYWdlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQWNjb3VudFJlcG9ydERUTyB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjY291bnQgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjY291bnRTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQWNjb3VudFR5cGVDb2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG4vLyBTeXNBY2NvdW50c0VuZFBvaW50IGlzIGEgbGlzdCBvZiBhY2NvdW50IHJlbGF0ZWQgYWN0aW9ucyBmb3Igc3lzdGVtIGFkbWluaXN0cmF0b3Igb25seSBcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN5c0FjY291bnRzU2VydmljZSB7XG5cbiAgLy8gVVJMIHRvIHdlYiBhcGlcbiAgcHJpdmF0ZSBiYXNlVXJsID0gJy9zeXMvYWNjb3VudHMnO1xuXG4gIC8vIENsYXNzIGNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEFwcENvbmZpZywgcHJpdmF0ZSByZXN0OiBSZXN0VXRpbHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLmNvbmZpZy5hcGkgKyB0aGlzLmJhc2VVcmw7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG5ldyBhY2NvdW50XG4gICAqL1xuICBjcmVhdGUoZG9udENyZWF0ZVN0cmVhbT86IGJvb2xlYW4sIGJvZHk/OiBBY2NvdW50KSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKGRvbnRDcmVhdGVTdHJlYW0gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZG9udENyZWF0ZVN0cmVhbT0ke2RvbnRDcmVhdGVTdHJlYW19YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QucHV0PEVudGl0eVJlc3BvbnNlPEFjY291bnQ+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5LCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBleGlzdGluZyBhY2NvdW50XG4gICAqL1xuICB1cGRhdGUoYm9keT86IEFjY291bnQpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBhdGNoPEVudGl0eVJlc3BvbnNlPEFjY291bnQ+PihgJHt0aGlzLmJhc2VVcmx9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZXhpc3RpbmcgYWNjb3VudCBzZXR0aW5nc1xuICAgKi9cbiAgdXBkYXRlU2V0dGluZ3MoaWQ/OiBzdHJpbmcsIGJvZHk/OiBBY2NvdW50U2V0dGluZ3MpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBhdGNoPEFjdGlvblJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7aWR9YCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYWNjb3VudCBhbmQgYWxsIGl0cyBjb250ZW50XG4gICAqL1xuICBkZWxldGUoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmRlbGV0ZTxBY3Rpb25SZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBhY2NvdW50IGJ5IGlkXG4gICAqL1xuICBnZXQoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxBY2NvdW50Pj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWNjb3VudHMgYnkgcXVlcnlcbiAgICovXG4gIGZpbmQoc2VhcmNoPzogc3RyaW5nLCB0eXBlPzogQWNjb3VudFR5cGVDb2RlW10sIHN0YXR1cz86IEFjY291bnRTdGF0dXNDb2RlW10sIHNvcnQ/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuICAgIGlmICh0eXBlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHR5cGU9JHt0eXBlfWApOyB9XG4gICAgaWYgKHN0YXR1cyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzdGF0dXM9JHtzdGF0dXN9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8QWNjb3VudD4+KGAke3RoaXMuYmFzZVVybH1gLCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgYWNjb3VudCBsb2dvXG4gICAqL1xuICBzYXZlTG9nbyhib2R5PzogSW1hZ2UpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LnBhdGNoPEFjdGlvblJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L2xvZ29gLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhY2NvdW50IGxvZ29cbiAgICovXG4gIGdldExvZ28oaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxJbWFnZT4+KGAke3RoaXMuYmFzZVVybH0vbG9nby8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYWNjb3VudHMgYnkgcXVlcnlcbiAgICovXG4gIGZpbmRBY2NvdW50UmVwb3J0cyhzZWFyY2g/OiBzdHJpbmcsIHR5cGU/OiBBY2NvdW50VHlwZUNvZGVbXSwgc3RhdHVzPzogQWNjb3VudFN0YXR1c0NvZGVbXSwgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHR5cGUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdHlwZT0ke3R5cGV9YCk7IH1cbiAgICBpZiAoc3RhdHVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0YXR1cz0ke3N0YXR1c31gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXRpZXNSZXNwb25zZTxBY2NvdW50UmVwb3J0RFRPPj4oYCR7dGhpcy5iYXNlVXJsfS9maW5kLWFjY291bnQtcmVwb3J0c2AsIC4uLnBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IGFjY291bnRzIHJlcG9ydHMgYnkgcXVlcnkgdG8gYSBmaWxlXG4gICAqL1xuICBleHBvcnQoZm9ybWF0Pzogc3RyaW5nLCBzZWFyY2g/OiBzdHJpbmcsIHR5cGU/OiBBY2NvdW50VHlwZUNvZGVbXSwgc3RhdHVzPzogQWNjb3VudFN0YXR1c0NvZGVbXSwgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHR5cGUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdHlwZT0ke3R5cGV9YCk7IH1cbiAgICBpZiAoc3RhdHVzICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0YXR1cz0ke3N0YXR1c31gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5kb3dubG9hZChgZXhwb3J0YCxgJHt0aGlzLmJhc2VVcmx9L2V4cG9ydC8ke2Zvcm1hdH1gLCAuLi5wYXJhbXMpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,111 +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
- // SysAuditLogEndPoint is a list of audit log queries for system administrator only
7
- export class SysAuditLogService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/sys/audit-log';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Get a single log entry
18
- */
19
- get(id) {
20
- return this.rest.get(`${this.baseUrl}/${id}`);
21
- }
22
- /**
23
- * Find log entries by query
24
- */
25
- find(from, to, accountId, userId, action, itemType, itemId, itemName, search, sort, page, size) {
26
- const params = [];
27
- if (from != null) {
28
- params.push(`from=${from}`);
29
- }
30
- if (to != null) {
31
- params.push(`to=${to}`);
32
- }
33
- if (accountId != null) {
34
- params.push(`accountId=${accountId}`);
35
- }
36
- if (userId != null) {
37
- params.push(`userId=${userId}`);
38
- }
39
- if (action != null) {
40
- params.push(`action=${action}`);
41
- }
42
- if (itemType != null) {
43
- params.push(`itemType=${itemType}`);
44
- }
45
- if (itemId != null) {
46
- params.push(`itemId=${itemId}`);
47
- }
48
- if (itemName != null) {
49
- params.push(`itemName=${itemName}`);
50
- }
51
- if (search != null) {
52
- params.push(`search=${search}`);
53
- }
54
- if (sort != null) {
55
- params.push(`sort=${sort}`);
56
- }
57
- if (page != null) {
58
- params.push(`page=${page}`);
59
- }
60
- if (size != null) {
61
- params.push(`size=${size}`);
62
- }
63
- return this.rest.get(`${this.baseUrl}`, ...params);
64
- }
65
- /**
66
- * Get histogram of audit log entries over time
67
- */
68
- timeline(from, to, accountId, userId, action, itemType, itemId, itemName, search) {
69
- const params = [];
70
- if (from != null) {
71
- params.push(`from=${from}`);
72
- }
73
- if (to != null) {
74
- params.push(`to=${to}`);
75
- }
76
- if (accountId != null) {
77
- params.push(`accountId=${accountId}`);
78
- }
79
- if (userId != null) {
80
- params.push(`userId=${userId}`);
81
- }
82
- if (action != null) {
83
- params.push(`action=${action}`);
84
- }
85
- if (itemType != null) {
86
- params.push(`itemType=${itemType}`);
87
- }
88
- if (itemId != null) {
89
- params.push(`itemId=${itemId}`);
90
- }
91
- if (itemName != null) {
92
- params.push(`itemName=${itemName}`);
93
- }
94
- if (search != null) {
95
- params.push(`search=${search}`);
96
- }
97
- return this.rest.get(`${this.baseUrl}/timeline`, ...params);
98
- }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysAuditLogService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysAuditLogService, providedIn: 'root' }); }
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysAuditLogService, decorators: [{
103
- type: Injectable,
104
- args: [{
105
- providedIn: 'root'
106
- }]
107
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
108
- type: Inject,
109
- args: [APP_CONFIG]
110
- }] }, { type: i1.RestUtils }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzQXVkaXRMb2dTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXB1bHNlaW90LWxpYi9zcmMvbGliL3NlcnZpY2VzL1N5c0F1ZGl0TG9nU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBT3JELG9GQUFvRjtBQUlwRixNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLG9CQUFvQjtJQUNwQixZQUF3QyxNQUFpQixFQUFVLElBQWU7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQVc7UUFKbEYsaUJBQWlCO1FBQ1QsWUFBTyxHQUFHLGdCQUFnQixDQUFDO1FBSWpDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsRUFBVztRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxJQUFhLEVBQUUsRUFBVyxFQUFFLFNBQWtCLEVBQUUsTUFBZSxFQUFFLE1BQWUsRUFBRSxRQUFtQixFQUFFLE1BQWUsRUFBRSxRQUFpQixFQUFFLE1BQWUsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFFLElBQWE7UUFDMU0sTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzVDLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2pFLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzlELElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzlELElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTZCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLElBQWEsRUFBRSxFQUFXLEVBQUUsU0FBa0IsRUFBRSxNQUFlLEVBQUUsTUFBZSxFQUFFLFFBQW1CLEVBQUUsTUFBZSxFQUFFLFFBQWlCLEVBQUUsTUFBZTtRQUNqSyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbEQsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDNUMsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDakUsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDeEQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDeEQsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDOUQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDeEQsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDOUQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7UUFFMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUMsR0FBRyxJQUFJLENBQUMsT0FBTyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNoRyxDQUFDOzhHQXREVSxrQkFBa0Isa0JBTVQsVUFBVTtrSEFObkIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXN0VXRpbHMgfSBmcm9tICcuLi8uLi9yZXN0LXV0aWxzJztcbmltcG9ydCB7IEFQUF9DT05GSUcsIEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7IEVudGl0eVJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgQXVkaXRMb2cgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdGllc1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgVGltZVNlcmllcyB9IGZyb20gJy4uL21vZGVsJztcblxuLy8gU3lzQXVkaXRMb2dFbmRQb2ludCBpcyBhIGxpc3Qgb2YgYXVkaXQgbG9nIHF1ZXJpZXMgZm9yIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG9ubHkgXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTeXNBdWRpdExvZ1NlcnZpY2Uge1xuXG4gIC8vIFVSTCB0byB3ZWIgYXBpXG4gIHByaXZhdGUgYmFzZVVybCA9ICcvc3lzL2F1ZGl0LWxvZyc7XG5cbiAgLy8gQ2xhc3MgY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IoQEluamVjdChBUFBfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogQXBwQ29uZmlnLCBwcml2YXRlIHJlc3Q6IFJlc3RVdGlscykge1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuY29uZmlnLmFwaSArIHRoaXMuYmFzZVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgbG9nIGVudHJ5XG4gICAqL1xuICBnZXQoaWQ/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxBdWRpdExvZz4+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGxvZyBlbnRyaWVzIGJ5IHF1ZXJ5XG4gICAqL1xuICBmaW5kKGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyLCBhY2NvdW50SWQ/OiBzdHJpbmcsIHVzZXJJZD86IHN0cmluZywgYWN0aW9uPzogc3RyaW5nLCBpdGVtVHlwZT86IHN0cmluZ1tdLCBpdGVtSWQ/OiBzdHJpbmcsIGl0ZW1OYW1lPzogc3RyaW5nLCBzZWFyY2g/OiBzdHJpbmcsIHNvcnQ/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoZnJvbSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBmcm9tPSR7ZnJvbX1gKTsgfVxuICAgIGlmICh0byAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGB0bz0ke3RvfWApOyB9XG4gICAgaWYgKGFjY291bnRJZCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBhY2NvdW50SWQ9JHthY2NvdW50SWR9YCk7IH1cbiAgICBpZiAodXNlcklkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHVzZXJJZD0ke3VzZXJJZH1gKTsgfVxuICAgIGlmIChhY3Rpb24gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgYWN0aW9uPSR7YWN0aW9ufWApOyB9XG4gICAgaWYgKGl0ZW1UeXBlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGl0ZW1UeXBlPSR7aXRlbVR5cGV9YCk7IH1cbiAgICBpZiAoaXRlbUlkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGl0ZW1JZD0ke2l0ZW1JZH1gKTsgfVxuICAgIGlmIChpdGVtTmFtZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBpdGVtTmFtZT0ke2l0ZW1OYW1lfWApOyB9XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8QXVkaXRMb2c+PihgJHt0aGlzLmJhc2VVcmx9YCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaGlzdG9ncmFtIG9mIGF1ZGl0IGxvZyBlbnRyaWVzIG92ZXIgdGltZVxuICAgKi9cbiAgdGltZWxpbmUoZnJvbT86IG51bWJlciwgdG8/OiBudW1iZXIsIGFjY291bnRJZD86IHN0cmluZywgdXNlcklkPzogc3RyaW5nLCBhY3Rpb24/OiBzdHJpbmcsIGl0ZW1UeXBlPzogc3RyaW5nW10sIGl0ZW1JZD86IHN0cmluZywgaXRlbU5hbWU/OiBzdHJpbmcsIHNlYXJjaD86IHN0cmluZykge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChmcm9tICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGZyb209JHtmcm9tfWApOyB9XG4gICAgaWYgKHRvICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHRvPSR7dG99YCk7IH1cbiAgICBpZiAoYWNjb3VudElkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGFjY291bnRJZD0ke2FjY291bnRJZH1gKTsgfVxuICAgIGlmICh1c2VySWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdXNlcklkPSR7dXNlcklkfWApOyB9XG4gICAgaWYgKGFjdGlvbiAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBhY3Rpb249JHthY3Rpb259YCk7IH1cbiAgICBpZiAoaXRlbVR5cGUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgaXRlbVR5cGU9JHtpdGVtVHlwZX1gKTsgfVxuICAgIGlmIChpdGVtSWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgaXRlbUlkPSR7aXRlbUlkfWApOyB9XG4gICAgaWYgKGl0ZW1OYW1lICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYGl0ZW1OYW1lPSR7aXRlbU5hbWV9YCk7IH1cbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXR5UmVzcG9uc2U8VGltZVNlcmllczxudW1iZXI+Pj4oYCR7dGhpcy5iYXNlVXJsfS90aW1lbGluZWAsIC4uLnBhcmFtcyk7XG4gIH1cblxufVxuIl19
@@ -1,90 +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
- // SysCheckpointsEndPoint is a list of checkpoint queries for system administrator only
7
- export class SysCheckpointsService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/sys/checkpoints';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Get a single checkpoint
18
- */
19
- get(id) {
20
- return this.rest.get(`${this.baseUrl}/${id}`);
21
- }
22
- /**
23
- * Find checkpoints by query
24
- */
25
- find(from, to, accountId, streamId, search, sort, page, size) {
26
- const params = [];
27
- if (from != null) {
28
- params.push(`from=${from}`);
29
- }
30
- if (to != null) {
31
- params.push(`to=${to}`);
32
- }
33
- if (accountId != null) {
34
- params.push(`accountId=${accountId}`);
35
- }
36
- if (streamId != null) {
37
- params.push(`streamId=${streamId}`);
38
- }
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
- return this.rest.get(`${this.baseUrl}`, ...params);
52
- }
53
- /**
54
- * Get checkpoints count overtime
55
- */
56
- timeline(from, to, accountId, streamId, field, timeField) {
57
- const params = [];
58
- if (from != null) {
59
- params.push(`from=${from}`);
60
- }
61
- if (to != null) {
62
- params.push(`to=${to}`);
63
- }
64
- if (accountId != null) {
65
- params.push(`accountId=${accountId}`);
66
- }
67
- if (streamId != null) {
68
- params.push(`streamId=${streamId}`);
69
- }
70
- if (field != null) {
71
- params.push(`field=${field}`);
72
- }
73
- if (timeField != null) {
74
- params.push(`timeField=${timeField}`);
75
- }
76
- return this.rest.get(`${this.baseUrl}/timeline`, ...params);
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysCheckpointsService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysCheckpointsService, providedIn: 'root' }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysCheckpointsService, decorators: [{
82
- type: Injectable,
83
- args: [{
84
- providedIn: 'root'
85
- }]
86
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
87
- type: Inject,
88
- args: [APP_CONFIG]
89
- }] }, { type: i1.RestUtils }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzQ2hlY2twb2ludHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXB1bHNlaW90LWxpYi9zcmMvbGliL3NlcnZpY2VzL1N5c0NoZWNrcG9pbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBT3JELHdGQUF3RjtBQUl4RixNQUFNLE9BQU8scUJBQXFCO0lBS2hDLG9CQUFvQjtJQUNwQixZQUF3QyxNQUFpQixFQUFVLElBQWU7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQVc7UUFKbEYsaUJBQWlCO1FBQ1QsWUFBTyxHQUFHLGtCQUFrQixDQUFDO1FBSW5DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsRUFBVztRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTZCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxJQUFhLEVBQUUsRUFBVyxFQUFFLFNBQWtCLEVBQUUsUUFBaUIsRUFBRSxNQUFlLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBRSxJQUFhO1FBQ2xJLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM1QyxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNqRSxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM5RCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUN4RCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUErQixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxJQUFhLEVBQUUsRUFBVyxFQUFFLFNBQWtCLEVBQUUsUUFBaUIsRUFBRSxLQUFjLEVBQUUsU0FBa0I7UUFDNUcsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzVDLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2pFLElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzlELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3JELElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRW5FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDaEcsQ0FBQzs4R0EvQ1UscUJBQXFCLGtCQU1aLFVBQVU7a0hBTm5CLHFCQUFxQixjQUZwQixNQUFNOzsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IENoZWNrcG9pbnQgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdGllc1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgVGltZVNlcmllcyB9IGZyb20gJy4uL21vZGVsJztcblxuLy8gU3lzQ2hlY2twb2ludHNFbmRQb2ludCBpcyBhIGxpc3Qgb2YgY2hlY2twb2ludCBxdWVyaWVzIGZvciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBvbmx5IFxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3lzQ2hlY2twb2ludHNTZXJ2aWNlIHtcblxuICAvLyBVUkwgdG8gd2ViIGFwaVxuICBwcml2YXRlIGJhc2VVcmwgPSAnL3N5cy9jaGVja3BvaW50cyc7XG5cbiAgLy8gQ2xhc3MgY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IoQEluamVjdChBUFBfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogQXBwQ29uZmlnLCBwcml2YXRlIHJlc3Q6IFJlc3RVdGlscykge1xuICAgIHRoaXMuYmFzZVVybCA9IHRoaXMuY29uZmlnLmFwaSArIHRoaXMuYmFzZVVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgY2hlY2twb2ludFxuICAgKi9cbiAgZ2V0KGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXR5UmVzcG9uc2U8Q2hlY2twb2ludD4+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGNoZWNrcG9pbnRzIGJ5IHF1ZXJ5XG4gICAqL1xuICBmaW5kKGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyLCBhY2NvdW50SWQ/OiBzdHJpbmcsIHN0cmVhbUlkPzogc3RyaW5nLCBzZWFyY2g/OiBzdHJpbmcsIHNvcnQ/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoZnJvbSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBmcm9tPSR7ZnJvbX1gKTsgfVxuICAgIGlmICh0byAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGB0bz0ke3RvfWApOyB9XG4gICAgaWYgKGFjY291bnRJZCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBhY2NvdW50SWQ9JHthY2NvdW50SWR9YCk7IH1cbiAgICBpZiAoc3RyZWFtSWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc3RyZWFtSWQ9JHtzdHJlYW1JZH1gKTsgfVxuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPENoZWNrcG9pbnQ+PihgJHt0aGlzLmJhc2VVcmx9YCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY2hlY2twb2ludHMgY291bnQgb3ZlcnRpbWVcbiAgICovXG4gIHRpbWVsaW5lKGZyb20/OiBudW1iZXIsIHRvPzogbnVtYmVyLCBhY2NvdW50SWQ/OiBzdHJpbmcsIHN0cmVhbUlkPzogc3RyaW5nLCBmaWVsZD86IHN0cmluZywgdGltZUZpZWxkPzogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKGZyb20gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZnJvbT0ke2Zyb219YCk7IH1cbiAgICBpZiAodG8gIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdG89JHt0b31gKTsgfVxuICAgIGlmIChhY2NvdW50SWQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgYWNjb3VudElkPSR7YWNjb3VudElkfWApOyB9XG4gICAgaWYgKHN0cmVhbUlkICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHN0cmVhbUlkPSR7c3RyZWFtSWR9YCk7IH1cbiAgICBpZiAoZmllbGQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgZmllbGQ9JHtmaWVsZH1gKTsgfVxuICAgIGlmICh0aW1lRmllbGQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgdGltZUZpZWxkPSR7dGltZUZpZWxkfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdHlSZXNwb25zZTxUaW1lU2VyaWVzPG51bWJlcj4+PihgJHt0aGlzLmJhc2VVcmx9L3RpbWVsaW5lYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,109 +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
- // SysConfigEndPoint is a list of groups related actions for system administrator only
7
- export class SysConfigService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/sys/config';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Create new configuration parameter
18
- */
19
- create(body) {
20
- return this.rest.put(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
21
- }
22
- /**
23
- * Update existing configuration parameter
24
- */
25
- update(body) {
26
- return this.rest.patch(`${this.baseUrl}`, typeof body === 'object' ? JSON.stringify(body) : body);
27
- }
28
- /**
29
- * Update group of configuration parameters in a batch
30
- */
31
- updateGroup(body) {
32
- return this.rest.patch(`${this.baseUrl}/update-group`, typeof body === 'object' ? JSON.stringify(body) : body);
33
- }
34
- /**
35
- * Delete configuration parameter
36
- */
37
- delete(id) {
38
- return this.rest.delete(`${this.baseUrl}/${id}`);
39
- }
40
- /**
41
- * Get a single configuration parameter
42
- */
43
- get(id) {
44
- return this.rest.get(`${this.baseUrl}/${id}`);
45
- }
46
- /**
47
- * Find configuration parameters by query
48
- */
49
- keys(search, sort, page, size) {
50
- const params = [];
51
- if (search != null) {
52
- params.push(`search=${search}`);
53
- }
54
- if (sort != null) {
55
- params.push(`sort=${sort}`);
56
- }
57
- if (page != null) {
58
- params.push(`page=${page}`);
59
- }
60
- if (size != null) {
61
- params.push(`size=${size}`);
62
- }
63
- return this.rest.get(`${this.baseUrl}/keys`, ...params);
64
- }
65
- /**
66
- * Find configuration parameters by query
67
- */
68
- find(search, sort, page, size) {
69
- const params = [];
70
- if (search != null) {
71
- params.push(`search=${search}`);
72
- }
73
- if (sort != null) {
74
- params.push(`sort=${sort}`);
75
- }
76
- if (page != null) {
77
- params.push(`page=${page}`);
78
- }
79
- if (size != null) {
80
- params.push(`size=${size}`);
81
- }
82
- return this.rest.get(`${this.baseUrl}`, ...params);
83
- }
84
- /**
85
- * Test email template by configId
86
- */
87
- testEmailTemplate(configId, addresses) {
88
- const params = [];
89
- if (configId != null) {
90
- params.push(`configId=${configId}`);
91
- }
92
- if (addresses != null) {
93
- params.push(`addresses=${addresses}`);
94
- }
95
- return this.rest.get(`${this.baseUrl}/test-email-template`, ...params);
96
- }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysConfigService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysConfigService, providedIn: 'root' }); }
99
- }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysConfigService, decorators: [{
101
- type: Injectable,
102
- args: [{
103
- providedIn: 'root'
104
- }]
105
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
106
- type: Inject,
107
- args: [APP_CONFIG]
108
- }] }, { type: i1.RestUtils }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzQ29uZmlnU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1wdWxzZWlvdC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9TeXNDb25maWdTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxjQUFjLENBQUM7Ozs7QUFRckQsdUZBQXVGO0FBSXZGLE1BQU0sT0FBTyxnQkFBZ0I7SUFLM0Isb0JBQW9CO0lBQ3BCLFlBQXdDLE1BQWlCLEVBQVUsSUFBZTtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUpsRixpQkFBaUI7UUFDVCxZQUFPLEdBQUcsYUFBYSxDQUFDO1FBSTlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBOEIsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBOEIsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxD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QyxZQUFZLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzlELElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRW5FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU8sc0JBQXNCLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN2RixDQUFDOzhHQWhGVSxnQkFBZ0Isa0JBTVAsVUFBVTtrSEFObkIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT2MsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RVdGlscyB9IGZyb20gJy4uLy4uL3Jlc3QtdXRpbHMnO1xuaW1wb3J0IHsgQVBQX0NPTkZJRywgQXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuaW1wb3J0IHsgQ29uZmlnUGFyYW0gfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBFbnRpdHlSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IENvbmZpZ1BhcmFtcyB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRW50aXRpZXNSZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcblxuLy8gU3lzQ29uZmlnRW5kUG9pbnQgaXMgYSBsaXN0IG9mIGdyb3VwcyByZWxhdGVkIGFjdGlvbnMgZm9yIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG9ubHkgXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTeXNDb25maWdTZXJ2aWNlIHtcblxuICAvLyBVUkwgdG8gd2ViIGFwaVxuICBwcml2YXRlIGJhc2VVcmwgPSAnL3N5cy9jb25maWcnO1xuXG4gIC8vIENsYXNzIGNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBQX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEFwcENvbmZpZywgcHJpdmF0ZSByZXN0OiBSZXN0VXRpbHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLmNvbmZpZy5hcGkgKyB0aGlzLmJhc2VVcmw7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG5ldyBjb25maWd1cmF0aW9uIHBhcmFtZXRlclxuICAgKi9cbiAgY3JlYXRlKGJvZHk/OiBDb25maWdQYXJhbSkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucHV0PEVudGl0eVJlc3BvbnNlPENvbmZpZ1BhcmFtPj4oYCR7dGhpcy5iYXNlVXJsfWAsIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGJvZHkpIDogYm9keSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGV4aXN0aW5nIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyXG4gICAqL1xuICB1cGRhdGUoYm9keT86IENvbmZpZ1BhcmFtKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5wYXRjaDxFbnRpdHlSZXNwb25zZTxDb25maWdQYXJhbT4+KGAke3RoaXMuYmFzZVVybH1gLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBncm91cCBvZiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgaW4gYSBiYXRjaFxuICAgKi9cbiAgdXBkYXRlR3JvdXAoYm9keT86IENvbmZpZ1BhcmFtcykge1xuICAgIHJldHVybiB0aGlzLnJlc3QucGF0Y2g8RW50aXR5UmVzcG9uc2U8Q29uZmlnUGFyYW1zPj4oYCR7dGhpcy5iYXNlVXJsfS91cGRhdGUtZ3JvdXBgLCB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShib2R5KSA6IGJvZHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlclxuICAgKi9cbiAgZGVsZXRlKGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5kZWxldGU8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vJHtpZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJcbiAgICovXG4gIGdldChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0eVJlc3BvbnNlPENvbmZpZ1BhcmFtPj4oYCR7dGhpcy5iYXNlVXJsfS8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGJ5IHF1ZXJ5XG4gICAqL1xuICBrZXlzKHNlYXJjaD86IHN0cmluZywgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPENvbmZpZ1BhcmFtPj4oYCR7dGhpcy5iYXNlVXJsfS9rZXlzYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBieSBxdWVyeVxuICAgKi9cbiAgZmluZChzZWFyY2g/OiBzdHJpbmcsIHNvcnQ/OiBzdHJpbmcsIHBhZ2U/OiBudW1iZXIsIHNpemU/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgICBpZiAoc2VhcmNoICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNlYXJjaD0ke3NlYXJjaH1gKTsgfVxuICAgIGlmIChzb3J0ICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNvcnQ9JHtzb3J0fWApOyB9XG4gICAgaWYgKHBhZ2UgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgcGFnZT0ke3BhZ2V9YCk7IH1cbiAgICBpZiAoc2l6ZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzaXplPSR7c2l6ZX1gKTsgfVxuXG5cdFx0cmV0dXJuIHRoaXMucmVzdC5nZXQ8RW50aXRpZXNSZXNwb25zZTxDb25maWdQYXJhbT4+KGAke3RoaXMuYmFzZVVybH1gLCAuLi5wYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRlc3QgZW1haWwgdGVtcGxhdGUgYnkgY29uZmlnSWRcbiAgICovXG4gIHRlc3RFbWFpbFRlbXBsYXRlKGNvbmZpZ0lkPzogc3RyaW5nLCBhZGRyZXNzZXM/OiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChjb25maWdJZCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBjb25maWdJZD0ke2NvbmZpZ0lkfWApOyB9XG4gICAgaWYgKGFkZHJlc3NlcyAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBhZGRyZXNzZXM9JHthZGRyZXNzZXN9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEFjdGlvblJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L3Rlc3QtZW1haWwtdGVtcGxhdGVgLCAuLi5wYXJhbXMpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,90 +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
- // SysFeaturesEndPoint is a list of features related actions for system administrator only
7
- export class SysFeaturesService {
8
- // Class constructor
9
- constructor(config, rest) {
10
- this.config = config;
11
- this.rest = rest;
12
- // URL to web api
13
- this.baseUrl = '/sys/features';
14
- this.baseUrl = this.config.api + this.baseUrl;
15
- }
16
- /**
17
- * Find features by query
18
- */
19
- findFeature(search, sort, page, size) {
20
- const params = [];
21
- if (search != null) {
22
- params.push(`search=${search}`);
23
- }
24
- if (sort != null) {
25
- params.push(`sort=${sort}`);
26
- }
27
- if (page != null) {
28
- params.push(`page=${page}`);
29
- }
30
- if (size != null) {
31
- params.push(`size=${size}`);
32
- }
33
- return this.rest.get(`${this.baseUrl}`, ...params);
34
- }
35
- /**
36
- * Create new features group
37
- */
38
- createGroup(body) {
39
- return this.rest.put(`${this.baseUrl}/groups`, typeof body === 'object' ? JSON.stringify(body) : body);
40
- }
41
- /**
42
- * Update existing features group
43
- */
44
- updateGroup(body) {
45
- return this.rest.patch(`${this.baseUrl}/groups`, typeof body === 'object' ? JSON.stringify(body) : body);
46
- }
47
- /**
48
- * Delete features group
49
- */
50
- deleteGroup(id) {
51
- return this.rest.delete(`${this.baseUrl}/groups/${id}`);
52
- }
53
- /**
54
- * Get a single features group by id
55
- */
56
- getGroup(id) {
57
- return this.rest.get(`${this.baseUrl}/groups/${id}`);
58
- }
59
- /**
60
- * Find features groups by query
61
- */
62
- findGroup(search, sort, page, size) {
63
- const params = [];
64
- if (search != null) {
65
- params.push(`search=${search}`);
66
- }
67
- if (sort != null) {
68
- params.push(`sort=${sort}`);
69
- }
70
- if (page != null) {
71
- params.push(`page=${page}`);
72
- }
73
- if (size != null) {
74
- params.push(`size=${size}`);
75
- }
76
- return this.rest.get(`${this.baseUrl}/groups`, ...params);
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysFeaturesService, deps: [{ token: APP_CONFIG }, { token: i1.RestUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysFeaturesService, providedIn: 'root' }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SysFeaturesService, decorators: [{
82
- type: Injectable,
83
- args: [{
84
- providedIn: 'root'
85
- }]
86
- }], ctorParameters: () => [{ type: i2.AppConfig, decorators: [{
87
- type: Inject,
88
- args: [APP_CONFIG]
89
- }] }, { type: i1.RestUtils }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzRmVhdHVyZXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXB1bHNlaW90LWxpYi9zcmMvbGliL3NlcnZpY2VzL1N5c0ZlYXR1cmVzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sY0FBYyxDQUFDOzs7O0FBUXJELDJGQUEyRjtBQUkzRixNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLG9CQUFvQjtJQUNwQixZQUF3QyxNQUFpQixFQUFVLElBQWU7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQVc7UUFKbEYsaUJBQWlCO1FBQ1QsWUFBTyxHQUFHLGVBQWUsQ0FBQztRQUloQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE1BQWUsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFFLElBQWE7UUFDdEUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLElBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdDLEdBQUcsSUFBSSxDQUFDLE9BQU8sU0FBUyxFQUFFLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLElBQW9CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQWdDLEdBQUcsSUFBSSxDQUFDLE9BQU8sU0FBUyxFQUFFLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUksQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLEVBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEVBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0MsR0FBRyxJQUFJLENBQUMsT0FBTyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLE1BQWUsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFFLElBQWE7UUFDcEUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLE9BQU8sU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDM0YsQ0FBQzs4R0E5RFUsa0JBQWtCLGtCQU1ULFVBQVU7a0hBTm5CLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vcmVzdC11dGlscyc7XG5pbXBvcnQgeyBBUFBfQ09ORklHLCBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQgeyBGZWF0dXJlc0dyb3VwIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5UmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uL21vZGVsJztcbmltcG9ydCB7IEVudGl0aWVzUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG4vLyBTeXNGZWF0dXJlc0VuZFBvaW50IGlzIGEgbGlzdCBvZiBmZWF0dXJlcyByZWxhdGVkIGFjdGlvbnMgZm9yIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG9ubHkgXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTeXNGZWF0dXJlc1NlcnZpY2Uge1xuXG4gIC8vIFVSTCB0byB3ZWIgYXBpXG4gIHByaXZhdGUgYmFzZVVybCA9ICcvc3lzL2ZlYXR1cmVzJztcblxuICAvLyBDbGFzcyBjb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBBcHBDb25maWcsIHByaXZhdGUgcmVzdDogUmVzdFV0aWxzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5jb25maWcuYXBpICsgdGhpcy5iYXNlVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgZmVhdHVyZXMgYnkgcXVlcnlcbiAgICovXG4gIGZpbmRGZWF0dXJlKHNlYXJjaD86IHN0cmluZywgc29ydD86IHN0cmluZywgcGFnZT86IG51bWJlciwgc2l6ZT86IG51bWJlcikge1xuICAgIGNvbnN0IHBhcmFtcyA9IFtdO1xuICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2VhcmNoPSR7c2VhcmNofWApOyB9XG4gICAgaWYgKHNvcnQgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc29ydD0ke3NvcnR9YCk7IH1cbiAgICBpZiAocGFnZSAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBwYWdlPSR7cGFnZX1gKTsgfVxuICAgIGlmIChzaXplICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHNpemU9JHtzaXplfWApOyB9XG5cblx0XHRyZXR1cm4gdGhpcy5yZXN0LmdldDxFbnRpdGllc1Jlc3BvbnNlPEZlYXR1cmU+PihgJHt0aGlzLmJhc2VVcmx9YCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbmV3IGZlYXR1cmVzIGdyb3VwXG4gICAqL1xuICBjcmVhdGVHcm91cChib2R5PzogRmVhdHVyZXNHcm91cCkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucHV0PEVudGl0eVJlc3BvbnNlPEZlYXR1cmVzR3JvdXA+PihgJHt0aGlzLmJhc2VVcmx9L2dyb3Vwc2AsIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGJvZHkpIDogYm9keSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGV4aXN0aW5nIGZlYXR1cmVzIGdyb3VwXG4gICAqL1xuICB1cGRhdGVHcm91cChib2R5PzogRmVhdHVyZXNHcm91cCkge1xuICAgIHJldHVybiB0aGlzLnJlc3QucGF0Y2g8RW50aXR5UmVzcG9uc2U8RmVhdHVyZXNHcm91cD4+KGAke3RoaXMuYmFzZVVybH0vZ3JvdXBzYCwgdHlwZW9mIGJvZHkgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiBib2R5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgZmVhdHVyZXMgZ3JvdXBcbiAgICovXG4gIGRlbGV0ZUdyb3VwKGlkPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdC5kZWxldGU8QWN0aW9uUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vZ3JvdXBzLyR7aWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc2luZ2xlIGZlYXR1cmVzIGdyb3VwIGJ5IGlkXG4gICAqL1xuICBnZXRHcm91cChpZD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0eVJlc3BvbnNlPEZlYXR1cmVzR3JvdXA+PihgJHt0aGlzLmJhc2VVcmx9L2dyb3Vwcy8ke2lkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgZmVhdHVyZXMgZ3JvdXBzIGJ5IHF1ZXJ5XG4gICAqL1xuICBmaW5kR3JvdXAoc2VhcmNoPzogc3RyaW5nLCBzb3J0Pzogc3RyaW5nLCBwYWdlPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFyYW1zID0gW107XG4gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzZWFyY2g9JHtzZWFyY2h9YCk7IH1cbiAgICBpZiAoc29ydCAhPSBudWxsKSB7IHBhcmFtcy5wdXNoKGBzb3J0PSR7c29ydH1gKTsgfVxuICAgIGlmIChwYWdlICE9IG51bGwpIHsgcGFyYW1zLnB1c2goYHBhZ2U9JHtwYWdlfWApOyB9XG4gICAgaWYgKHNpemUgIT0gbnVsbCkgeyBwYXJhbXMucHVzaChgc2l6ZT0ke3NpemV9YCk7IH1cblxuXHRcdHJldHVybiB0aGlzLnJlc3QuZ2V0PEVudGl0aWVzUmVzcG9uc2U8RmVhdHVyZXNHcm91cD4+KGAke3RoaXMuYmFzZVVybH0vZ3JvdXBzYCwgLi4ucGFyYW1zKTtcbiAgfVxuXG59XG4iXX0=