@shieldiot/pulse-lib 1.0.5 → 1.0.7

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 (244) hide show
  1. package/dist/index.d.ts +4 -2
  2. package/dist/index.js +4 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/common/SeverityIntervalTuple.d.ts +1 -1
  5. package/dist/lib/common/TimeSeriesOfFloat.d.ts +1 -1
  6. package/dist/lib/common/TokenData.d.ts +1 -1
  7. package/dist/lib/entities/Account.d.ts +1 -1
  8. package/dist/lib/entities/Account.js.map +1 -1
  9. package/dist/lib/entities/AccountDTO.d.ts +3 -3
  10. package/dist/lib/entities/AccountDTO.js.map +1 -1
  11. package/dist/lib/entities/AccountSettings.d.ts +1 -1
  12. package/dist/lib/entities/Alert.d.ts +4 -4
  13. package/dist/lib/entities/Alert.js.map +1 -1
  14. package/dist/lib/entities/AlertWithDevice.d.ts +4 -4
  15. package/dist/lib/entities/AlertWithDevice.js.map +1 -1
  16. package/dist/lib/entities/ApiKey.d.ts +1 -1
  17. package/dist/lib/entities/ApiKey.js.map +1 -1
  18. package/dist/lib/entities/DeviceWithEvents.d.ts +2 -2
  19. package/dist/lib/entities/DeviceWithEvents.js.map +1 -1
  20. package/dist/lib/entities/Event.d.ts +3 -3
  21. package/dist/lib/entities/Event.js.map +1 -1
  22. package/dist/lib/entities/EventWithDevice.d.ts +7 -7
  23. package/dist/lib/entities/EventWithDevice.js.map +1 -1
  24. package/dist/lib/entities/Feature.d.ts +1 -1
  25. package/dist/lib/entities/Feature.js.map +1 -1
  26. package/dist/lib/entities/Insight.d.ts +1 -1
  27. package/dist/lib/entities/Insight.js.map +1 -1
  28. package/dist/lib/entities/Integration.d.ts +2 -2
  29. package/dist/lib/entities/Integration.js.map +1 -1
  30. package/dist/lib/entities/Rule.d.ts +1 -1
  31. package/dist/lib/entities/Rule.js.map +1 -1
  32. package/dist/lib/entities/RuleTemplate.d.ts +1 -1
  33. package/dist/lib/entities/RuleTemplate.js.map +1 -1
  34. package/dist/lib/entities/StreamAnalyticsConfig.d.ts +2 -2
  35. package/dist/lib/entities/StreamAnalyticsConfig.js.map +1 -1
  36. package/dist/lib/entities/StreamConfig.d.ts +2 -2
  37. package/dist/lib/services/sysAccountsService.d.ts +2 -2
  38. package/dist/lib/services/sysFeaturesService.d.ts +1 -1
  39. package/dist/lib/services/sysRulesService.d.ts +1 -1
  40. package/dist/lib/services/sysUsersService.d.ts +2 -2
  41. package/dist/lib/services/usrAlertsService.d.ts +9 -9
  42. package/dist/lib/services/usrDevicesService.d.ts +7 -7
  43. package/dist/lib/services/usrEventsService.d.ts +8 -8
  44. package/dist/lib/services/usrRulesService.d.ts +1 -1
  45. package/dist/lib/services/usrUserService.d.ts +1 -1
  46. package/package.json +1 -1
  47. package/src/index.ts +4 -3
  48. package/dist/public-api.d.ts +0 -3
  49. package/dist/public-api.js +0 -7
  50. package/dist/public-api.js.map +0 -1
  51. package/src/config.d.ts +0 -6
  52. package/src/config.d.ts.map +0 -1
  53. package/src/config.js +0 -6
  54. package/src/config.js.map +0 -1
  55. package/src/index.d.ts +0 -3
  56. package/src/index.d.ts.map +0 -1
  57. package/src/index.js +0 -3
  58. package/src/index.js.map +0 -1
  59. package/src/lib/common/AccountRole.ts +0 -25
  60. package/src/lib/common/ConsumptionData.ts +0 -24
  61. package/src/lib/common/ConsumptionTimeDataPoint.ts +0 -21
  62. package/src/lib/common/DeviceConfig.ts +0 -22
  63. package/src/lib/common/DeviceScoreConfig.ts +0 -24
  64. package/src/lib/common/DevicesAtRiskConfig.ts +0 -16
  65. package/src/lib/common/EventSeverityConfig.ts +0 -17
  66. package/src/lib/common/FloatKeyValue.ts +0 -20
  67. package/src/lib/common/GeoData.ts +0 -38
  68. package/src/lib/common/GraphSeries.ts +0 -21
  69. package/src/lib/common/Indicator.ts +0 -32
  70. package/src/lib/common/IntKeySeriesDataValue.ts +0 -21
  71. package/src/lib/common/IntKeyValue.ts +0 -20
  72. package/src/lib/common/Interval.ts +0 -20
  73. package/src/lib/common/Link.ts +0 -41
  74. package/src/lib/common/Location.ts +0 -20
  75. package/src/lib/common/LoginParams.ts +0 -24
  76. package/src/lib/common/MaliciousIPCard.ts +0 -45
  77. package/src/lib/common/MaliciousIPData.ts +0 -28
  78. package/src/lib/common/NetworkMap.ts +0 -22
  79. package/src/lib/common/Node.ts +0 -54
  80. package/src/lib/common/SeriesData.ts +0 -22
  81. package/src/lib/common/SessionTransform.ts +0 -29
  82. package/src/lib/common/SeverityIntervalTuple.ts +0 -22
  83. package/src/lib/common/ShieldexConfig.ts +0 -36
  84. package/src/lib/common/StringIntValue.ts +0 -20
  85. package/src/lib/common/StringKeyIntValue.ts +0 -20
  86. package/src/lib/common/StringKeyValue.ts +0 -20
  87. package/src/lib/common/Thresholds.ts +0 -16
  88. package/src/lib/common/TimeDataPoint.ts +0 -20
  89. package/src/lib/common/TimeDataPoint2D.ts +0 -21
  90. package/src/lib/common/TimeDataPointFloat.ts +0 -20
  91. package/src/lib/common/TimeFrame.ts +0 -20
  92. package/src/lib/common/TimeSeries.ts +0 -26
  93. package/src/lib/common/TimeSeriesOf2D.ts +0 -26
  94. package/src/lib/common/TimeSeriesOfDataConsumption.ts +0 -26
  95. package/src/lib/common/TimeSeriesOfFloat.ts +0 -26
  96. package/src/lib/common/TokenData.ts +0 -39
  97. package/src/lib/common/Tuple.ts +0 -20
  98. package/src/lib/common/UsageTransform.ts +0 -37
  99. package/src/lib/common/ZScore.ts +0 -20
  100. package/src/lib/common/index.ts +0 -41
  101. package/src/lib/entities/Account.ts +0 -45
  102. package/src/lib/entities/AccountDTO.ts +0 -49
  103. package/src/lib/entities/AccountSettings.ts +0 -31
  104. package/src/lib/entities/Action.ts +0 -30
  105. package/src/lib/entities/Alert.ts +0 -91
  106. package/src/lib/entities/AlertWithDevice.ts +0 -92
  107. package/src/lib/entities/ApiKey.ts +0 -33
  108. package/src/lib/entities/AuditLog.ts +0 -39
  109. package/src/lib/entities/BaseEntity.ts +0 -24
  110. package/src/lib/entities/BulkDevices.ts +0 -17
  111. package/src/lib/entities/Checkpoint.ts +0 -71
  112. package/src/lib/entities/ComplianceReportSettings.ts +0 -28
  113. package/src/lib/entities/Condition.ts +0 -28
  114. package/src/lib/entities/ConfigParam.ts +0 -15
  115. package/src/lib/entities/DNSRecord.ts +0 -40
  116. package/src/lib/entities/DataIngestion.ts +0 -63
  117. package/src/lib/entities/DataPointOfDeviceReport.ts +0 -21
  118. package/src/lib/entities/Device.ts +0 -82
  119. package/src/lib/entities/DeviceReport.ts +0 -29
  120. package/src/lib/entities/DeviceWithEvents.ts +0 -86
  121. package/src/lib/entities/Distribution.ts +0 -25
  122. package/src/lib/entities/Event.ts +0 -98
  123. package/src/lib/entities/EventOccurrence.ts +0 -34
  124. package/src/lib/entities/EventWithDevice.ts +0 -97
  125. package/src/lib/entities/Feature.ts +0 -18
  126. package/src/lib/entities/FeaturesGroup.ts +0 -18
  127. package/src/lib/entities/Group.ts +0 -24
  128. package/src/lib/entities/Image.ts +0 -18
  129. package/src/lib/entities/Insight.ts +0 -49
  130. package/src/lib/entities/InsightQuery.ts +0 -29
  131. package/src/lib/entities/InsightSpec.ts +0 -28
  132. package/src/lib/entities/IntDistribution.ts +0 -25
  133. package/src/lib/entities/Integration.ts +0 -81
  134. package/src/lib/entities/Member.ts +0 -22
  135. package/src/lib/entities/Radius.ts +0 -45
  136. package/src/lib/entities/Report.ts +0 -37
  137. package/src/lib/entities/Rule.ts +0 -65
  138. package/src/lib/entities/RuleTemplate.ts +0 -38
  139. package/src/lib/entities/SIM.ts +0 -32
  140. package/src/lib/entities/ServiceStatus.ts +0 -26
  141. package/src/lib/entities/SessionRecord.ts +0 -71
  142. package/src/lib/entities/Shieldex.ts +0 -23
  143. package/src/lib/entities/Stream.ts +0 -31
  144. package/src/lib/entities/StreamAnalyticsConfig.ts +0 -30
  145. package/src/lib/entities/StreamConfig.ts +0 -52
  146. package/src/lib/entities/TeaserPopUpSettings.ts +0 -24
  147. package/src/lib/entities/TimeSeriesOfDeviceReport.ts +0 -26
  148. package/src/lib/entities/UsageRecord.ts +0 -101
  149. package/src/lib/entities/User.ts +0 -45
  150. package/src/lib/entities/UserMembership.ts +0 -38
  151. package/src/lib/entities/UserMemberships.ts +0 -38
  152. package/src/lib/entities/index.ts +0 -51
  153. package/src/lib/enums/AccountStatusCode.ts +0 -35
  154. package/src/lib/enums/AccountTypeCode.ts +0 -40
  155. package/src/lib/enums/DataSourceCode.ts +0 -35
  156. package/src/lib/enums/DeviceActionCode.ts +0 -40
  157. package/src/lib/enums/DeviceCreationCode.ts +0 -40
  158. package/src/lib/enums/DeviceIdentityCode.ts +0 -55
  159. package/src/lib/enums/DeviceStatusCode.ts +0 -40
  160. package/src/lib/enums/DeviceTypeCode.ts +0 -90
  161. package/src/lib/enums/DirectionContextCode.ts +0 -40
  162. package/src/lib/enums/EventCategoryCode.ts +0 -30
  163. package/src/lib/enums/EventStatusCode.ts +0 -40
  164. package/src/lib/enums/EventTypeCode.ts +0 -115
  165. package/src/lib/enums/FeatureCode.ts +0 -70
  166. package/src/lib/enums/HomePageViewCode.ts +0 -35
  167. package/src/lib/enums/HttpMethodCode.ts +0 -45
  168. package/src/lib/enums/InsightStatusCode.ts +0 -35
  169. package/src/lib/enums/InsightTypeCode.ts +0 -30
  170. package/src/lib/enums/IntegrationTriggerCode.ts +0 -30
  171. package/src/lib/enums/IntegrationTypeCode.ts +0 -40
  172. package/src/lib/enums/MemberRoleCode.ts +0 -40
  173. package/src/lib/enums/NetworkMapTypeCode.ts +0 -35
  174. package/src/lib/enums/OperatorCode.ts +0 -75
  175. package/src/lib/enums/PermissionCode.ts +0 -45
  176. package/src/lib/enums/ReportTypeCode.ts +0 -35
  177. package/src/lib/enums/RuleTypeCode.ts +0 -35
  178. package/src/lib/enums/SeverityTypeCode.ts +0 -40
  179. package/src/lib/enums/TrafficDirectionCode.ts +0 -35
  180. package/src/lib/enums/UserStatusCode.ts +0 -40
  181. package/src/lib/enums/UserTypeCode.ts +0 -40
  182. package/src/lib/enums/index.ts +0 -29
  183. package/src/lib/index.ts +0 -4
  184. package/src/lib/pulse-client.ts +0 -190
  185. package/src/lib/services/index.ts +0 -26
  186. package/src/lib/services/services.export.ts +0 -54
  187. package/src/lib/services/supportStreamAnalyticsConfig.ts +0 -63
  188. package/src/lib/services/sysAccountsService.ts +0 -90
  189. package/src/lib/services/sysAuditLogService.ts +0 -72
  190. package/src/lib/services/sysCheckpointsService.ts +0 -62
  191. package/src/lib/services/sysConfigService.ts +0 -63
  192. package/src/lib/services/sysFeaturesService.ts +0 -77
  193. package/src/lib/services/sysGroupsService.ts +0 -85
  194. package/src/lib/services/sysInsightsService.ts +0 -122
  195. package/src/lib/services/sysKeysService.ts +0 -71
  196. package/src/lib/services/sysMembersService.ts +0 -66
  197. package/src/lib/services/sysRuleTemplatesService.ts +0 -63
  198. package/src/lib/services/sysRulesService.ts +0 -79
  199. package/src/lib/services/sysStatisticsService.ts +0 -50
  200. package/src/lib/services/sysStreamsService.ts +0 -64
  201. package/src/lib/services/sysUsersService.ts +0 -89
  202. package/src/lib/services/usrAlertsService.ts +0 -382
  203. package/src/lib/services/usrDevicesService.ts +0 -303
  204. package/src/lib/services/usrEventsService.ts +0 -355
  205. package/src/lib/services/usrInsightsService.ts +0 -29
  206. package/src/lib/services/usrIntegrationsService.ts +0 -79
  207. package/src/lib/services/usrMembersService.ts +0 -77
  208. package/src/lib/services/usrNetworkService.ts +0 -59
  209. package/src/lib/services/usrReportsService.ts +0 -114
  210. package/src/lib/services/usrRulesService.ts +0 -78
  211. package/src/lib/services/usrUserService.ts +0 -114
  212. package/src/public-api.d.ts +0 -4
  213. package/src/public-api.d.ts.map +0 -1
  214. package/src/public-api.js +0 -7
  215. package/src/public-api.js.map +0 -1
  216. package/src/public-api.ts +0 -9
  217. package/src/utils/ActionResponse.d.ts +0 -6
  218. package/src/utils/ActionResponse.d.ts.map +0 -1
  219. package/src/utils/ActionResponse.js +0 -9
  220. package/src/utils/ActionResponse.js.map +0 -1
  221. package/src/utils/BaseRestResponse.d.ts +0 -5
  222. package/src/utils/BaseRestResponse.d.ts.map +0 -1
  223. package/src/utils/BaseRestResponse.js +0 -8
  224. package/src/utils/BaseRestResponse.js.map +0 -1
  225. package/src/utils/EntitiesResponse.d.ts +0 -9
  226. package/src/utils/EntitiesResponse.d.ts.map +0 -1
  227. package/src/utils/EntitiesResponse.js +0 -15
  228. package/src/utils/EntitiesResponse.js.map +0 -1
  229. package/src/utils/EntityResponse.d.ts +0 -9
  230. package/src/utils/EntityResponse.d.ts.map +0 -1
  231. package/src/utils/EntityResponse.js +0 -15
  232. package/src/utils/EntityResponse.js.map +0 -1
  233. package/src/utils/index.d.ts +0 -6
  234. package/src/utils/index.d.ts.map +0 -1
  235. package/src/utils/index.js +0 -6
  236. package/src/utils/index.js.map +0 -1
  237. package/src/utils/rest-axios-setup.d.ts +0 -4
  238. package/src/utils/rest-axios-setup.d.ts.map +0 -1
  239. package/src/utils/rest-axios-setup.js +0 -8
  240. package/src/utils/rest-axios-setup.js.map +0 -1
  241. package/src/utils/rest-util.d.ts +0 -16
  242. package/src/utils/rest-util.d.ts.map +0 -1
  243. package/src/utils/rest-util.js +0 -101
  244. package/src/utils/rest-util.js.map +0 -1
@@ -1,86 +0,0 @@
1
- import { SIM } from '../entities';
2
- import { Event } from '../entities';
3
- import { BaseEntity } from '../entities';
4
- import { DeviceTypeCode } from '../enums';
5
- import { DeviceStatusCode } from '../enums';
6
- import { StringKeyValue } from '../common';
7
- import { DeviceActionCode } from '../enums';
8
-
9
-
10
-
11
- // DeviceWithEvents entity is a device with its related events (for display only)
12
- export class DeviceWithEvents extends BaseEntity {
13
-
14
- // Account Id
15
- public accountId: string;
16
-
17
- // Stream Id
18
- public streamId: string;
19
-
20
- // The device identity in the external system (used for integration) id
21
- public externalId: string;
22
-
23
- // Device name
24
- public name: string;
25
-
26
- // Device description
27
- public description: string;
28
-
29
- // Country name
30
- public country: string;
31
-
32
- // Mobile network operator name
33
- public operator: string;
34
-
35
- // Device type: UNDEFINED | CONTROLLER | METER | SENSOR ...
36
- public type: DeviceTypeCode;
37
-
38
- // Device status: UNDEFINED | PENDING | ACTIVE | INACTIVE | SUSPENDED
39
- public status: DeviceStatusCode;
40
-
41
- // Device last activity timestamp [Epoch milliseconds Timestamp]
42
- public lastActivity: number;
43
-
44
- // Device MAC address
45
- public mac: string;
46
-
47
- // Device IP address (IPv4 or IPv6)
48
- public ip: string;
49
-
50
- // Device mobile subscriber id (IMSI or SUPI for 5G)
51
- public sid: string;
52
-
53
- // Device mobile equipment id (IMEI or PEI for 5G)
54
- public eid: string;
55
-
56
- // Device current security score
57
- public score: number;
58
-
59
- // List of device tags
60
- public tags: string[];
61
-
62
- // Custom attributes (key-value pairs)
63
- public labels: StringKeyValue[];
64
-
65
- // Number of events for the time period (calculated field)
66
- public eventCount: number;
67
-
68
- // Action applied on the device
69
- public actionApplied: DeviceActionCode;
70
-
71
- // Who applied the action (user id)
72
- public actionAppliedBy: string;
73
-
74
- // When action was applied [Epoch milliseconds Timestamp]
75
- public actionAppliedOn: number;
76
-
77
- // List of SIM cards associated with the device
78
- public simCards: SIM[];
79
-
80
- // Device events list
81
- public events: Event[];
82
-
83
-
84
- }
85
-
86
-
@@ -1,25 +0,0 @@
1
- import { Tuple } from '../common';
2
-
3
-
4
-
5
- // Distribution model represents a grouped counts of elements of generic type int (usually enum)
6
- export class Distribution {
7
-
8
- // Name of the time series
9
- public name: string;
10
-
11
- // Total count (of all group elements)
12
- public total: number;
13
-
14
- // Series of generic data points
15
- public values: Tuple[];
16
-
17
- constructor(name?: string, total?: number, values?: Tuple[]) {
18
- if (name !== undefined) { this.name = name; }
19
- if (total !== undefined) { this.total = total; }
20
- if (values !== undefined) { this.values = values; }
21
- }
22
-
23
- }
24
-
25
-
@@ -1,98 +0,0 @@
1
- import { GeoData } from '../common';
2
- import { StringKeyValue } from '../common';
3
- import { EventCategoryCode } from '../enums';
4
- import { EventOccurrence } from '../entities';
5
- import { BaseEntity } from '../entities';
6
- import { EventStatusCode } from '../enums';
7
- import { Indicator } from '../common';
8
- import { RuleTypeCode } from '../enums';
9
- import { EventTypeCode } from '../enums';
10
- import { SeverityTypeCode } from '../enums';
11
- import { TrafficDirectionCode } from '../enums';
12
-
13
-
14
-
15
- // Alert entity
16
- // The Alert entity representing an aggregation of many Event occurrences of the same type on the same device in a fixed time period (30 days)
17
- // The purpose of this aggregation is to avoid flooding the user with many (hundreds and thousands) of events of the same type
18
- export class Event extends BaseEntity {
19
-
20
- // Account Id
21
- public accountId: string;
22
-
23
- // Stream Id
24
- public streamId: string;
25
-
26
- // Device Id
27
- public deviceId: string;
28
-
29
- // Start window time [Epoch milliseconds Timestamp]
30
- public startTime: number;
31
-
32
- // End window time [Epoch milliseconds Timestamp]
33
- public endTime: number;
34
-
35
- // Event type: UNDEFINED | DDOS | PORT_SCANNING | DEVICE_TAKEOVER ...
36
- public type: EventTypeCode;
37
-
38
- // Event severity level: UNDEFINED | LOW | MEDIUM | HIGH | CRITICAL
39
- public severity: SeverityTypeCode;
40
-
41
- // Event current security score
42
- public score: number;
43
-
44
- // Probability score by IP reputation engine
45
- public probability: number;
46
-
47
- // Event workflow status: UNDEFINED | NEW | OPEN ...
48
- public status: EventStatusCode;
49
-
50
- // List of event indicators
51
- public indicators: Indicator[];
52
-
53
- // Rule type: UNDEFINED | SUSPICIOUS_IP | STATIC | ANOMALY
54
- public ruleType: RuleTypeCode;
55
-
56
- // Static Rule id (in case of SUSPICIOUS_IP, it should be the IP value)
57
- public ruleId: string;
58
-
59
- // The allocated IP for the device at the time of the event occurrence
60
- public sourceIp: string;
61
-
62
- // Target IP address for some of the events (e.g. suspicious IP)
63
- public targetIp: string;
64
-
65
- // GeoIP information based on MaxMind database
66
- public targetLocation: GeoData;
67
-
68
- // Event description
69
- public description: string;
70
-
71
- // Additional Event tags
72
- public tags: string[];
73
-
74
- // List of custom attributes (key-value pairs)
75
- public labels: StringKeyValue[];
76
-
77
- // Event category
78
- public category: EventCategoryCode;
79
-
80
- // Recommended action description to apply on the device
81
- public recommendedAction: string;
82
-
83
- // DEPRECATED: List of occurrences of the aggregated event
84
- public occurrences: EventOccurrence[];
85
-
86
- // Denotes network traffic direction: UNDEFINED | INBOUND | OUTBOUND
87
- public trafficDirection: TrafficDirectionCode;
88
-
89
- // Contains confidence score of malicious IP detection. Value range: 0-100
90
- public confidenceScore: number;
91
-
92
- // Event occurrences count
93
- public occurrencesCount: boolean;
94
-
95
-
96
- }
97
-
98
-
@@ -1,34 +0,0 @@
1
- import { Indicator } from '../common';
2
- import { TrafficDirectionCode } from '../enums';
3
-
4
-
5
-
6
- // A single instance of event generated for the same deviceId based on the same rule on the same month
7
- export class EventOccurrence {
8
-
9
- // Event occurrence time [Epoch milliseconds Timestamp]
10
- public timestamp: number;
11
-
12
- // Referenced source file
13
- public source: string;
14
-
15
- // The allocated IP for the device at the time of the event occurrence
16
- public sourceIp: string;
17
-
18
- // List of event occurrence indicators
19
- public indicators: Indicator[];
20
-
21
- // Denotes network traffic direction: UNDEFINED | INBOUND | OUTBOUND
22
- public trafficDirection: TrafficDirectionCode;
23
-
24
- constructor(timestamp?: number, source?: string, sourceIp?: string, indicators?: Indicator[], trafficDirection?: TrafficDirectionCode) {
25
- if (timestamp !== undefined) { this.timestamp = timestamp; }
26
- if (source !== undefined) { this.source = source; }
27
- if (sourceIp !== undefined) { this.sourceIp = sourceIp; }
28
- if (indicators !== undefined) { this.indicators = indicators; }
29
- if (trafficDirection !== undefined) { this.trafficDirection = trafficDirection; }
30
- }
31
-
32
- }
33
-
34
-
@@ -1,97 +0,0 @@
1
- import { SeverityTypeCode } from '../enums';
2
- import { Indicator } from '../common';
3
- import { RuleTypeCode } from '../enums';
4
- import { StringKeyValue } from '../common';
5
- import { EventOccurrence } from '../entities';
6
- import { Device } from '../entities';
7
- import { BaseEntity } from '../entities';
8
- import { EventTypeCode } from '../enums';
9
- import { EventStatusCode } from '../enums';
10
- import { GeoData } from '../common';
11
- import { EventCategoryCode } from '../enums';
12
- import { TrafficDirectionCode } from '../enums';
13
-
14
-
15
-
16
- // EventWithDevice entity is an event with the device information (for display only)
17
- export class EventWithDevice extends BaseEntity {
18
-
19
- // Account Id
20
- public accountId: string;
21
-
22
- // Stream Id
23
- public streamId: string;
24
-
25
- // Device Id
26
- public deviceId: string;
27
-
28
- // Start window time [Epoch milliseconds Timestamp]
29
- public startTime: number;
30
-
31
- // End window time [Epoch milliseconds Timestamp]
32
- public endTime: number;
33
-
34
- // Event type: UNDEFINED | DDOS | PORT_SCANNING | DEVICE_TAKEOVER ...
35
- public type: EventTypeCode;
36
-
37
- // Event severity level: UNDEFINED | LOW | MEDIUM | HIGH | CRITICAL
38
- public severity: SeverityTypeCode;
39
-
40
- // Event current security score
41
- public score: number;
42
-
43
- // Probability score by IP reputation engine
44
- public probability: number;
45
-
46
- // Event workflow status: UNDEFINED | NEW | OPEN ...
47
- public status: EventStatusCode;
48
-
49
- // List of event indicators
50
- public indicators: Indicator[];
51
-
52
- // Rule engine type
53
- public ruleType: RuleTypeCode;
54
-
55
- // Static Rule id
56
- public ruleId: string;
57
-
58
- // Target IP address for some of the events (e.g. suspicious IP)
59
- public targetIp: string;
60
-
61
- // GeoIP information based on MaxMind database
62
- public targetLocation: GeoData;
63
-
64
- // Event description
65
- public description: string;
66
-
67
- // Additional Event tags
68
- public tags: string[];
69
-
70
- // List of custom attributes (key-value pairs)
71
- public labels: StringKeyValue[];
72
-
73
- // Event category
74
- public category: EventCategoryCode;
75
-
76
- // Recommended action description to apply on the device
77
- public recommendedAction: string;
78
-
79
- // DEPRECATED: List of occurrences of the aggregated event
80
- public occurrences: EventOccurrence[];
81
-
82
- // Denotes network traffic direction: UNDEFINED | INBOUND | OUTBOUND
83
- public trafficDirection: TrafficDirectionCode;
84
-
85
- // Contains confidence score of malicious IP detection. Value range: 0-100
86
- public confidenceScore: number;
87
-
88
- // Event occurrences count
89
- public occurrencesCount: boolean;
90
-
91
- // Device attached to the event
92
- public device: Device;
93
-
94
-
95
- }
96
-
97
-
@@ -1,18 +0,0 @@
1
- import { BaseEntity } from '../entities';
2
- import { FeatureCode } from '../enums';
3
-
4
-
5
-
6
- // Feature entity is capability in the system used for feature toggle
7
- export class Feature extends BaseEntity {
8
-
9
- // Feature code
10
- public code: FeatureCode;
11
-
12
- // Feature name
13
- public name: string;
14
-
15
-
16
- }
17
-
18
-
@@ -1,18 +0,0 @@
1
- import { FeatureCode } from '../enums';
2
- import { BaseEntity } from '../entities';
3
-
4
-
5
-
6
- // FeaturesGroup group represents a group of capabilities in the system used for feature toggle
7
- export class FeaturesGroup extends BaseEntity {
8
-
9
- // Features group display name
10
- public name: string;
11
-
12
- // List of features
13
- public features: FeatureCode[];
14
-
15
-
16
- }
17
-
18
-
@@ -1,24 +0,0 @@
1
- import { AccountRole } from '../common';
2
- import { BaseEntity } from '../entities';
3
-
4
-
5
-
6
- // Group represents a set of memberships to various accounts.
7
- export class Group extends BaseEntity {
8
-
9
- // Group name
10
- public name: string;
11
-
12
- // The group identity in the external system (e.g. Billing, CRM etc) @json:externalId"`
13
- public externalId: string;
14
-
15
- // Group email
16
- public email: string;
17
-
18
- // List of group roles in the accounts
19
- public accountRoles: AccountRole[];
20
-
21
-
22
- }
23
-
24
-
@@ -1,18 +0,0 @@
1
- import { BaseEntity } from '../entities';
2
-
3
-
4
-
5
- // Image stores a small base64 picture (such as: user avatar, account logo, etc) or URI (for large pictures) in the database
6
- // The id of the image is the entity id * @Table: image
7
- export class Image extends BaseEntity {
8
-
9
- // Image content URL (starts with http) or embedded image (base64)
10
- public content: string;
11
-
12
- // Image content Mime Type
13
- public contentType: string;
14
-
15
-
16
- }
17
-
18
-
@@ -1,49 +0,0 @@
1
- import { InsightTypeCode } from '../enums';
2
- import { InsightStatusCode } from '../enums';
3
- import { SeverityTypeCode } from '../enums';
4
- import { DirectionContextCode } from '../enums';
5
- import { BaseEntity } from '../entities';
6
-
7
-
8
-
9
- // Insight
10
- // The Insight entity is created by the insights micro service and represents an account-wide insight.
11
- export class Insight extends BaseEntity {
12
-
13
- // Account Id
14
- public accountId: string;
15
-
16
- // Stream Id
17
- public streamId: string;
18
-
19
- // Insight specification Id
20
- public specId: string;
21
-
22
- // Insight day (number representing a day in the format of: yyyymmdd)
23
- public dayId: number;
24
-
25
- // Insight type: UNDEFINED | EVENTS | STATISTICS
26
- public type: InsightTypeCode;
27
-
28
- // Insight status: UNDEFINED | INACTIVE | PENDING | ACTIVE
29
- public status: InsightStatusCode;
30
-
31
- // The string representing the insight description in the UI
32
- public description: string;
33
-
34
- // Linked objects for this insight
35
- public links: string[];
36
-
37
- // Event severity: UNDEFINED | LOW | MEDIUM | HIGH | ...
38
- public severity: SeverityTypeCode;
39
-
40
- // Title : short description of insight
41
- public title: string;
42
-
43
- // InsightDirectionContext: UNDEFINED | EVENT_LIST | DEVICE_LIST | EVENT_DETAILS | DEVICE_DETAILS
44
- public insightDirectionContext: DirectionContextCode;
45
-
46
-
47
- }
48
-
49
-
@@ -1,29 +0,0 @@
1
- import { InsightTypeCode } from '../enums';
2
- import { DirectionContextCode } from '../enums';
3
- import { BaseEntity } from '../entities';
4
-
5
-
6
-
7
- // InsightQuery
8
- // The InsightQuery entity is a definition of insight query to execute periodically in order to generate "insights" for the users.
9
- export class InsightQuery extends BaseEntity {
10
-
11
- // Insight type: UNDEFINED | EVENTS | STATISTICS
12
- public type: InsightTypeCode;
13
-
14
- // Templated string to show the description in the UI
15
- public description: string;
16
-
17
- // Insight query definition (KQL)
18
- public query: string;
19
-
20
- // InsightDirectionContext: UNDEFINED | EVENT_LIST | DEVICE_LIST | EVENT_DETAILS | DEVICE_DETAILS
21
- public insightDirectionContext: DirectionContextCode;
22
-
23
- // Insight UI query definition . query to use from API as response to UI on clickable insight
24
- public uIQuery: string;
25
-
26
-
27
- }
28
-
29
-
@@ -1,28 +0,0 @@
1
- import { InsightStatusCode } from '../enums';
2
- import { BaseEntity } from '../entities';
3
-
4
-
5
-
6
- // InsightSpec
7
- // The InsightSpec entity is a link between account and stream Id to insight query.
8
- export class InsightSpec extends BaseEntity {
9
-
10
- // Account Id
11
- public accountId: string;
12
-
13
- // Stream Id
14
- public streamId: string;
15
-
16
- // Insight query Id
17
- public queryId: string;
18
-
19
- // Is Insight enabled (if disabled, it will not be calculated)
20
- public enabled: boolean;
21
-
22
- // Insight status: UNDEFINED | INACTIVE | PENDING | ACTIVE
23
- public status: InsightStatusCode;
24
-
25
-
26
- }
27
-
28
-
@@ -1,25 +0,0 @@
1
- import { IntKeyValue } from '../common';
2
-
3
-
4
-
5
- // IntDistribution model represents a grouped counts of elements of type int (usually enum)
6
- export class IntDistribution {
7
-
8
- // Distribution name
9
- public name: string;
10
-
11
- // Total count (of all elements)
12
- public total: number;
13
-
14
- // List of elements mapped to counter
15
- public values: IntKeyValue[];
16
-
17
- constructor(name?: string, total?: number, values?: IntKeyValue[]) {
18
- if (name !== undefined) { this.name = name; }
19
- if (total !== undefined) { this.total = total; }
20
- if (values !== undefined) { this.values = values; }
21
- }
22
-
23
- }
24
-
25
-
@@ -1,81 +0,0 @@
1
- import { StringKeyValue } from '../common';
2
- import { EventTypeCode } from '../enums';
3
- import { SeverityTypeCode } from '../enums';
4
- import { DeviceActionCode } from '../enums';
5
- import { BaseEntity } from '../entities';
6
- import { IntegrationTypeCode } from '../enums';
7
- import { IntegrationTriggerCode } from '../enums';
8
- import { HttpMethodCode } from '../enums';
9
-
10
-
11
-
12
- // Integration specifications
13
- export class Integration extends BaseEntity {
14
-
15
- // Account Id
16
- public accountId: string;
17
-
18
- // Stream Id (leave empty to apply integration on all streams)
19
- public streamId: string;
20
-
21
- // Integration type (HTTP | SMTP | EMAIL ...)
22
- public type: IntegrationTypeCode;
23
-
24
- // Integration trigger (EVENT | ACTION ...)
25
- public trigger: IntegrationTriggerCode;
26
-
27
- // Integration name
28
- public name: string;
29
-
30
- // Is integration enabled
31
- public enabled: boolean;
32
-
33
- // Host name or ip address (applicable for all protocols)
34
- public host: string;
35
-
36
- // Port number (applicable for all protocols)
37
- public port: number;
38
-
39
- // User (applicable for all protocols)
40
- public user: string;
41
-
42
- // Password (applicable for all protocols)
43
- public password: string;
44
-
45
- // HTTP protocol URL path (applicable for http/https protocols)
46
- public url: string;
47
-
48
- // HTTP protocol method: GET | POST | PUT | PATCH | DELETE (applicable for http/https protocols)
49
- public method: HttpMethodCode;
50
-
51
- // HTTP protocol Headers (applicable for http/https protocols)
52
- public headers: StringKeyValue[];
53
-
54
- // Message content mime type
55
- public mimeType: string;
56
-
57
- // SMTP/EMAIL protocol List of recipients
58
- public recipients: string[];
59
-
60
- // SMTP/EMAIL protocol Message subject template
61
- public subject: string;
62
-
63
- // Message body template
64
- public body: string;
65
-
66
- // SMTP/EMAIL sender (will be: system@pulseiot.io if it is empty)
67
- public from: string;
68
-
69
- // Activate integration only if the event object type code is in the list (empty list means no filter)
70
- public eventTypes: EventTypeCode[];
71
-
72
- // Activate integration only if the event severity matching this value
73
- public eventSeverity: SeverityTypeCode;
74
-
75
- // Activate integration only for specific action (applicable for Trigger = ACTION)
76
- public preventiveAction: DeviceActionCode;
77
-
78
-
79
- }
80
-
81
-
@@ -1,22 +0,0 @@
1
- import { MemberRoleCode } from '../enums';
2
- import { BaseEntity } from '../entities';
3
-
4
-
5
-
6
- // Member represents a user in the account and the role he has in this account
7
- // User may have several memberships for several accounts, each with a different role
8
- export class Member extends BaseEntity {
9
-
10
- // User Id
11
- public userId: string;
12
-
13
- // Account Id
14
- public accountId: string;
15
-
16
- // Member role in the account
17
- public role: MemberRoleCode;
18
-
19
-
20
- }
21
-
22
-