dt-common-device 11.2.2 → 11.3.0

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 (233) hide show
  1. package/dist/chronicle/Cronicle.service.d.ts +6 -2
  2. package/dist/chronicle/Cronicle.service.js +19 -2
  3. package/dist/chronicle/ICronicle.interface.d.ts +1 -0
  4. package/dist/constants/ConnectionProviders.d.ts +1 -0
  5. package/dist/constants/ConnectionProviders.js +1 -0
  6. package/dist/entities/accessGroup/AccessGroup.repository.d.ts +2 -1
  7. package/dist/entities/accessGroup/AccessGroup.repository.js +4 -1
  8. package/dist/entities/accessGroup/AccessGroup.service.d.ts +2 -1
  9. package/dist/entities/accessGroup/AccessGroup.service.js +4 -3
  10. package/dist/entities/guest/Guest.repository.d.ts +1 -1
  11. package/dist/entities/guest/Guest.repository.js +5 -2
  12. package/dist/entities/guest/Guest.service.d.ts +1 -1
  13. package/dist/entities/guest/Guest.service.js +4 -1
  14. package/dist/entities/pms/IPms.d.ts +2 -1
  15. package/dist/entities/pms/IPms.js +1 -0
  16. package/dist/entities/schedules/Schedule.repository.d.ts +1 -1
  17. package/dist/entities/schedules/Schedule.repository.js +5 -2
  18. package/dist/entities/schedules/Schedule.service.d.ts +1 -1
  19. package/dist/entities/schedules/Schedule.service.js +4 -1
  20. package/dist/entities/user/User.repository.js +4 -1
  21. package/dist/entities/user/User.service.d.ts +1 -1
  22. package/dist/entities/user/User.service.js +4 -1
  23. package/dist/entities/zone/Zone.service.js +4 -1
  24. package/dist/issues/issue.types.d.ts +1 -0
  25. package/dist/issues/issue.types.js +1 -0
  26. package/dist/queue/utils/rateLimit.utils.js +6 -0
  27. package/package.json +1 -1
  28. package/dist/admin/Admin.repository.d.ts +0 -7
  29. package/dist/admin/Admin.repository.js +0 -182
  30. package/dist/admin/Admin.service.d.ts +0 -5
  31. package/dist/admin/Admin.service.js +0 -17
  32. package/dist/admin/index.d.ts +0 -1
  33. package/dist/admin/index.js +0 -17
  34. package/dist/audit/AuditProperties.d.ts +0 -16
  35. package/dist/audit/AuditProperties.js +0 -2
  36. package/dist/chronicle/IChronicle.interface.d.ts +0 -14
  37. package/dist/chronicle/IChronicle.interface.js +0 -2
  38. package/dist/chronicle/chronicle.service.d.ts +0 -4
  39. package/dist/chronicle/chronicle.service.js +0 -44
  40. package/dist/connection/Connection.repository.d.ts +0 -8
  41. package/dist/connection/Connection.repository.js +0 -92
  42. package/dist/connection/Connection.service.d.ts +0 -8
  43. package/dist/connection/Connection.service.js +0 -32
  44. package/dist/connection/IConnection.d.ts +0 -28
  45. package/dist/connection/IConnection.js +0 -16
  46. package/dist/connection/index.d.ts +0 -2
  47. package/dist/connection/index.js +0 -18
  48. package/dist/copilotQueue/examples/CopilotQueue.example.d.ts +0 -37
  49. package/dist/copilotQueue/examples/CopilotQueue.example.js +0 -140
  50. package/dist/copilotQueue/examples/index.d.ts +0 -1
  51. package/dist/copilotQueue/examples/index.js +0 -17
  52. package/dist/device/cloud/entities/CloudConnection.d.ts +0 -6
  53. package/dist/device/cloud/entities/CloudConnection.js +0 -6
  54. package/dist/device/cloud/entities/CloudDevice.d.ts +0 -16
  55. package/dist/device/cloud/entities/CloudDevice.js +0 -26
  56. package/dist/device/cloud/entities/CloudDeviceService.d.ts +0 -5
  57. package/dist/device/cloud/entities/CloudDeviceService.js +0 -9
  58. package/dist/device/cloud/entities/DeviceFactory.d.ts +0 -7
  59. package/dist/device/cloud/entities/DeviceFactory.js +0 -80
  60. package/dist/device/cloud/entities/index.d.ts +0 -3
  61. package/dist/device/cloud/entities/index.js +0 -19
  62. package/dist/device/cloud/interface.d.ts +0 -101
  63. package/dist/device/cloud/interface.js +0 -3
  64. package/dist/device/cloud/interfaces/ICloudConnection.d.ts +0 -5
  65. package/dist/device/cloud/interfaces/ICloudConnection.js +0 -2
  66. package/dist/device/cloud/interfaces/ICloudDevice.d.ts +0 -9
  67. package/dist/device/cloud/interfaces/ICloudDevice.js +0 -2
  68. package/dist/device/cloud/interfaces/ICloudDeviceService.d.ts +0 -4
  69. package/dist/device/cloud/interfaces/ICloudDeviceService.js +0 -2
  70. package/dist/device/cloud/interfaces/IConnectionService.d.ts +0 -7
  71. package/dist/device/cloud/interfaces/IConnectionService.js +0 -2
  72. package/dist/device/cloud/interfaces/IDeviceConnectionService.d.ts +0 -7
  73. package/dist/device/cloud/interfaces/IDeviceConnectionService.js +0 -3
  74. package/dist/device/cloud/interfaces/IDeviceFactory.d.ts +0 -4
  75. package/dist/device/cloud/interfaces/IDeviceFactory.js +0 -2
  76. package/dist/device/cloud/interfaces/IDeviceService.d.ts +0 -8
  77. package/dist/device/cloud/interfaces/IDeviceService.js +0 -2
  78. package/dist/device/cloud/interfaces/IDevicesService.d.ts +0 -9
  79. package/dist/device/cloud/interfaces/IDevicesService.js +0 -2
  80. package/dist/device/cloud/interfaces/IHubService.d.ts +0 -5
  81. package/dist/device/cloud/interfaces/IHubService.js +0 -2
  82. package/dist/device/cloud/interfaces/IRawDataTransformer.d.ts +0 -4
  83. package/dist/device/cloud/interfaces/IRawDataTransformer.js +0 -2
  84. package/dist/device/cloud/interfaces/IRawDevice.d.ts +0 -17
  85. package/dist/device/cloud/interfaces/IRawDevice.js +0 -11
  86. package/dist/device/cloud/interfaces/index.d.ts +0 -5
  87. package/dist/device/cloud/interfaces/index.js +0 -21
  88. package/dist/device/cloud/services/CloudDevice.service.d.ts +0 -5
  89. package/dist/device/cloud/services/CloudDevice.service.js +0 -9
  90. package/dist/device/cloud/services/Connection.service.d.ts +0 -8
  91. package/dist/device/cloud/services/Connection.service.js +0 -6
  92. package/dist/device/cloud/services/Device.service.d.ts +0 -39
  93. package/dist/device/cloud/services/Device.service.js +0 -9
  94. package/dist/device/cloud/services/DeviceCloudService.d.ts +0 -42
  95. package/dist/device/cloud/services/DeviceCloudService.js +0 -59
  96. package/dist/device/cloud/services/DeviceHub.service.d.ts +0 -3
  97. package/dist/device/cloud/services/DeviceHub.service.js +0 -6
  98. package/dist/device/cloud/services/Hub.service.d.ts +0 -25
  99. package/dist/device/cloud/services/Hub.service.js +0 -9
  100. package/dist/device/cloud/services/SmartThingsDeviceService.d.ts +0 -38
  101. package/dist/device/cloud/services/SmartThingsDeviceService.js +0 -52
  102. package/dist/device/cloud/services/index.d.ts +0 -2
  103. package/dist/device/cloud/services/index.js +0 -18
  104. package/dist/device/cloud/types.d.ts +0 -52
  105. package/dist/device/cloud/types.js +0 -15
  106. package/dist/device/index.d.ts +0 -4
  107. package/dist/device/index.js +0 -20
  108. package/dist/device/local/entities/AlertBuilder.d.ts +0 -87
  109. package/dist/device/local/entities/AlertBuilder.example.d.ts +0 -11
  110. package/dist/device/local/entities/AlertBuilder.example.js +0 -117
  111. package/dist/device/local/entities/AlertBuilder.js +0 -179
  112. package/dist/device/local/entities/IssueBuilder.d.ts +0 -109
  113. package/dist/device/local/entities/IssueBuilder.example.d.ts +0 -16
  114. package/dist/device/local/entities/IssueBuilder.example.js +0 -196
  115. package/dist/device/local/entities/IssueBuilder.js +0 -237
  116. package/dist/device/local/entities/index.d.ts +0 -2
  117. package/dist/device/local/entities/index.js +0 -7
  118. package/dist/device/local/events/EventHandler.d.ts +0 -11
  119. package/dist/device/local/events/EventHandler.js +0 -86
  120. package/dist/device/local/events/Events.d.ts +0 -54
  121. package/dist/device/local/events/Events.js +0 -57
  122. package/dist/device/local/events/index.d.ts +0 -2
  123. package/dist/device/local/events/index.js +0 -7
  124. package/dist/device/local/handler/EventHandler.d.ts +0 -7
  125. package/dist/device/local/handler/EventHandler.js +0 -44
  126. package/dist/device/local/interface.d.ts +0 -0
  127. package/dist/device/local/interface.js +0 -1
  128. package/dist/device/local/interfaces/IConnection.d.ts +0 -26
  129. package/dist/device/local/interfaces/IConnection.js +0 -14
  130. package/dist/device/local/interfaces/IDevice.d.ts +0 -68
  131. package/dist/device/local/interfaces/IDevice.js +0 -10
  132. package/dist/device/local/interfaces/IDtDevice.d.ts +0 -16
  133. package/dist/device/local/interfaces/IDtDevice.js +0 -2
  134. package/dist/device/local/interfaces/IHub.d.ts +0 -46
  135. package/dist/device/local/interfaces/IHub.js +0 -2
  136. package/dist/device/local/interfaces/IProperty.d.ts +0 -29
  137. package/dist/device/local/interfaces/IProperty.js +0 -2
  138. package/dist/device/local/interfaces/ISchedule.d.ts +0 -25
  139. package/dist/device/local/interfaces/ISchedule.js +0 -2
  140. package/dist/device/local/interfaces/index.d.ts +0 -3
  141. package/dist/device/local/interfaces/index.js +0 -19
  142. package/dist/device/local/models/Alert.model.d.ts +0 -28
  143. package/dist/device/local/models/Alert.model.js +0 -222
  144. package/dist/device/local/models/Issue.model.d.ts +0 -28
  145. package/dist/device/local/models/Issue.model.js +0 -260
  146. package/dist/device/local/repository/Alert.repository.d.ts +0 -106
  147. package/dist/device/local/repository/Alert.repository.js +0 -374
  148. package/dist/device/local/repository/Connection.repository.d.ts +0 -8
  149. package/dist/device/local/repository/Connection.repository.js +0 -92
  150. package/dist/device/local/repository/Device.repository.d.ts +0 -30
  151. package/dist/device/local/repository/Device.repository.js +0 -325
  152. package/dist/device/local/repository/Hub.repository.d.ts +0 -13
  153. package/dist/device/local/repository/Hub.repository.js +0 -139
  154. package/dist/device/local/repository/Issue.repository.d.ts +0 -113
  155. package/dist/device/local/repository/Issue.repository.js +0 -401
  156. package/dist/device/local/repository/Property.repository.d.ts +0 -8
  157. package/dist/device/local/repository/Property.repository.js +0 -95
  158. package/dist/device/local/repository/Schedule.repository.d.ts +0 -9
  159. package/dist/device/local/repository/Schedule.repository.js +0 -109
  160. package/dist/device/local/services/Alert.service.d.ts +0 -137
  161. package/dist/device/local/services/Alert.service.js +0 -475
  162. package/dist/device/local/services/AlertService.example.d.ts +0 -55
  163. package/dist/device/local/services/AlertService.example.js +0 -148
  164. package/dist/device/local/services/Connection.service.d.ts +0 -8
  165. package/dist/device/local/services/Connection.service.js +0 -32
  166. package/dist/device/local/services/Device.service.d.ts +0 -40
  167. package/dist/device/local/services/Device.service.js +0 -391
  168. package/dist/device/local/services/DeviceHub.service.d.ts +0 -11
  169. package/dist/device/local/services/DeviceHub.service.js +0 -40
  170. package/dist/device/local/services/Hub.service.d.ts +0 -12
  171. package/dist/device/local/services/Hub.service.js +0 -107
  172. package/dist/device/local/services/Issue.service.d.ts +0 -168
  173. package/dist/device/local/services/Issue.service.js +0 -642
  174. package/dist/device/local/services/IssueService.example.d.ts +0 -68
  175. package/dist/device/local/services/IssueService.example.js +0 -177
  176. package/dist/device/local/services/Property.service.d.ts +0 -8
  177. package/dist/device/local/services/Property.service.js +0 -36
  178. package/dist/device/local/services/Schedule.service.d.ts +0 -9
  179. package/dist/device/local/services/Schedule.service.js +0 -26
  180. package/dist/device/local/services/index.d.ts +0 -3
  181. package/dist/device/local/services/index.js +0 -19
  182. package/dist/pms/IPms.d.ts +0 -6
  183. package/dist/pms/IPms.js +0 -10
  184. package/dist/pms/index.d.ts +0 -1
  185. package/dist/pms/index.js +0 -18
  186. package/dist/pms/webhookQueue/examples/index.d.ts +0 -2
  187. package/dist/pms/webhookQueue/examples/index.js +0 -18
  188. package/dist/pms/webhookQueue/examples/pms-integration.d.ts +0 -65
  189. package/dist/pms/webhookQueue/examples/pms-integration.js +0 -254
  190. package/dist/pms/webhookQueue/examples/usage.d.ts +0 -7
  191. package/dist/pms/webhookQueue/examples/usage.js +0 -175
  192. package/dist/pms/webhookQueue/index.d.ts +0 -3
  193. package/dist/pms/webhookQueue/index.js +0 -20
  194. package/dist/pms/webhookQueue/interfaces/IWebhookQueue.d.ts +0 -33
  195. package/dist/pms/webhookQueue/interfaces/IWebhookQueue.js +0 -2
  196. package/dist/pms/webhookQueue/interfaces/IWebhookWorker.d.ts +0 -38
  197. package/dist/pms/webhookQueue/interfaces/IWebhookWorker.js +0 -2
  198. package/dist/pms/webhookQueue/interfaces/index.d.ts +0 -1
  199. package/dist/pms/webhookQueue/interfaces/index.js +0 -17
  200. package/dist/pms/webhookQueue/services/WebhookQueueFactory.d.ts +0 -38
  201. package/dist/pms/webhookQueue/services/WebhookQueueFactory.js +0 -131
  202. package/dist/pms/webhookQueue/services/WebhookQueueIntegration.d.ts +0 -70
  203. package/dist/pms/webhookQueue/services/WebhookQueueIntegration.js +0 -207
  204. package/dist/pms/webhookQueue/services/WebhookQueueService.d.ts +0 -45
  205. package/dist/pms/webhookQueue/services/WebhookQueueService.js +0 -270
  206. package/dist/pms/webhookQueue/services/WebhookWorker.d.ts +0 -37
  207. package/dist/pms/webhookQueue/services/WebhookWorker.js +0 -201
  208. package/dist/pms/webhookQueue/services/index.d.ts +0 -1
  209. package/dist/pms/webhookQueue/services/index.js +0 -17
  210. package/dist/pms/webhookQueue/types/index.d.ts +0 -1
  211. package/dist/pms/webhookQueue/types/index.js +0 -17
  212. package/dist/pms/webhookQueue/types/webhook.types.d.ts +0 -39
  213. package/dist/pms/webhookQueue/types/webhook.types.js +0 -2
  214. package/dist/property/IProperty.d.ts +0 -29
  215. package/dist/property/IProperty.js +0 -2
  216. package/dist/property/Property.repository.d.ts +0 -8
  217. package/dist/property/Property.repository.js +0 -109
  218. package/dist/property/Property.service.d.ts +0 -8
  219. package/dist/property/Property.service.js +0 -124
  220. package/dist/property/index.d.ts +0 -2
  221. package/dist/property/index.js +0 -18
  222. package/dist/queue/interfaces/IHttpRequestJob.d.ts +0 -9
  223. package/dist/queue/interfaces/IHttpRequestJob.js +0 -2
  224. package/dist/types/alert.types.d.ts +0 -57
  225. package/dist/types/alert.types.js +0 -22
  226. package/dist/types/config.types.d.ts +0 -19
  227. package/dist/types/config.types.js +0 -2
  228. package/dist/types/index.d.ts +0 -3
  229. package/dist/types/index.js +0 -19
  230. package/dist/types/issue.types.d.ts +0 -90
  231. package/dist/types/issue.types.js +0 -40
  232. package/dist/utils/http-utils.d.ts +0 -13
  233. package/dist/utils/http-utils.js +0 -117
@@ -1,196 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createBasicIssue = createBasicIssue;
4
- exports.createDeviceIssue = createDeviceIssue;
5
- exports.createSecurityIssue = createSecurityIssue;
6
- exports.createEnergyIssue = createEnergyIssue;
7
- exports.createHubIssue = createHubIssue;
8
- exports.createUserIssue = createUserIssue;
9
- exports.createPropertyIssue = createPropertyIssue;
10
- exports.createMaintenanceIssue = createMaintenanceIssue;
11
- exports.createUrgentIssue = createUrgentIssue;
12
- exports.createMultipleIssues = createMultipleIssues;
13
- exports.createIssueWithDueDate = createIssueWithDueDate;
14
- exports.createUnassignedIssue = createUnassignedIssue;
15
- const IssueBuilder_1 = require("./IssueBuilder");
16
- const issue_types_1 = require("../../../types/issue.types");
17
- /**
18
- * Example usage of IssueBuilder
19
- * This file demonstrates various ways to use the IssueBuilder pattern
20
- */
21
- // Example 1: Basic issue creation
22
- function createBasicIssue() {
23
- const issueData = new IssueBuilder_1.IssueBuilder()
24
- .setCategory(issue_types_1.IssuesCategory.OPERATIONS)
25
- .setPropertyId("prop123")
26
- .setTitle("Device Maintenance Required")
27
- .setDescription("Device requires scheduled maintenance")
28
- .setEntityId("device456")
29
- .setEntityType(issue_types_1.EntityType.DEVICE)
30
- .setPriority(issue_types_1.IssuePriority.HIGH)
31
- .setAssignedTo("tech789")
32
- .setCreatedBy("user123")
33
- .setDueDate(new Date("2024-01-15"))
34
- .build();
35
- return issueData;
36
- }
37
- // Example 2: Using static factory methods
38
- function createDeviceIssue() {
39
- const issueData = IssueBuilder_1.IssueBuilder.createDeviceIssue("device123", "prop456")
40
- .setCategory(issue_types_1.IssuesCategory.READINESS)
41
- .setTitle("Device Firmware Update")
42
- .setDescription("Device firmware update is available")
43
- .setPriority(issue_types_1.IssuePriority.MEDIUM)
44
- .setAssignedTo("admin")
45
- .setCreatedBy("system")
46
- .setDueDate(new Date("2024-01-20"))
47
- .build();
48
- return issueData;
49
- }
50
- // Example 3: Using predefined issue types
51
- function createSecurityIssue() {
52
- const issueData = IssueBuilder_1.IssueBuilder.createSecurityIssue()
53
- .setPropertyId("prop789")
54
- .setTitle("Security Breach Detected")
55
- .setDescription("Unauthorized access attempt detected")
56
- .setEntityId("user123")
57
- .setEntityType(issue_types_1.EntityType.USER)
58
- .setAssignedTo("security-team")
59
- .setCreatedBy("security-system")
60
- .setDueDate(new Date("2024-01-10"))
61
- .build();
62
- return issueData;
63
- }
64
- // Example 4: Creating energy issue
65
- function createEnergyIssue() {
66
- const issueData = IssueBuilder_1.IssueBuilder.createEnergyIssue()
67
- .setPropertyId("prop101")
68
- .setTitle("High Energy Consumption")
69
- .setDescription("Energy usage is 20% above normal levels")
70
- .setEntityId("zone456")
71
- .setEntityType(issue_types_1.EntityType.COLLECTION)
72
- .setAssignedTo("energy-manager")
73
- .setCreatedBy("energy-monitor")
74
- .setDueDate(new Date("2024-01-25"))
75
- .build();
76
- return issueData;
77
- }
78
- // Example 5: Creating hub issue
79
- function createHubIssue() {
80
- const issueData = IssueBuilder_1.IssueBuilder.createHubIssue("hub789", "prop202")
81
- .setCategory(issue_types_1.IssuesCategory.OPERATIONS)
82
- .setTitle("Hub Connection Lost")
83
- .setDescription("Hub has lost connection to the network")
84
- .setPriority(issue_types_1.IssuePriority.CRITICAL)
85
- .setAssignedTo("network-admin")
86
- .setCreatedBy("network-monitor")
87
- .setDueDate(new Date("2024-01-05"))
88
- .build();
89
- return issueData;
90
- }
91
- // Example 6: Creating user-specific issue
92
- function createUserIssue() {
93
- const issueData = IssueBuilder_1.IssueBuilder.createUserIssue("user456", "prop303")
94
- .setCategory(issue_types_1.IssuesCategory.SECURITY)
95
- .setTitle("User Access Review Required")
96
- .setDescription("User access permissions need review")
97
- .setPriority(issue_types_1.IssuePriority.MEDIUM)
98
- .setAssignedTo("hr-admin")
99
- .setCreatedBy("access-control")
100
- .setDueDate(new Date("2024-01-30"))
101
- .build();
102
- return issueData;
103
- }
104
- // Example 7: Creating property-specific issue
105
- function createPropertyIssue() {
106
- const issueData = IssueBuilder_1.IssueBuilder.createPropertyIssue("prop404")
107
- .setCategory(issue_types_1.IssuesCategory.READINESS)
108
- .setTitle("Property Maintenance Schedule")
109
- .setDescription("Annual property maintenance is due")
110
- .setPriority(issue_types_1.IssuePriority.LOW)
111
- .setAssignedTo("property-manager")
112
- .setCreatedBy("maintenance-system")
113
- .setDueDate(new Date("2024-02-15"))
114
- .build();
115
- return issueData;
116
- }
117
- // Example 8: Creating maintenance issue
118
- function createMaintenanceIssue() {
119
- const issueData = IssueBuilder_1.IssueBuilder.createMaintenanceIssue("prop505", "device789", issue_types_1.EntityType.DEVICE)
120
- .setTitle("Scheduled Device Maintenance")
121
- .setDescription("Regular maintenance is scheduled for this device")
122
- .setAssignedTo("technician")
123
- .setCreatedBy("maintenance-scheduler")
124
- .setDueDate(new Date("2024-01-12"))
125
- .build();
126
- return issueData;
127
- }
128
- // Example 9: Creating urgent issue
129
- function createUrgentIssue() {
130
- const issueData = IssueBuilder_1.IssueBuilder.createUrgentIssue("prop606", "hub123", issue_types_1.EntityType.HUB)
131
- .setTitle("Critical Hub Failure")
132
- .setDescription("Hub is experiencing critical failures")
133
- .setAssignedTo("emergency-tech")
134
- .setCreatedBy("monitoring-system")
135
- .setDueDate(new Date("2024-01-03"))
136
- .build();
137
- return issueData;
138
- }
139
- // Example 10: Reusing builder instance
140
- function createMultipleIssues() {
141
- const builder = new IssueBuilder_1.IssueBuilder()
142
- .setPropertyId("prop707")
143
- .setCreatedBy("batch-processor");
144
- const issue1 = builder
145
- .setCategory(issue_types_1.IssuesCategory.OPERATIONS)
146
- .setTitle("Device Temperature High")
147
- .setDescription("Device temperature exceeds normal operating range")
148
- .setEntityId("device789")
149
- .setEntityType(issue_types_1.EntityType.DEVICE)
150
- .setPriority(issue_types_1.IssuePriority.HIGH)
151
- .setAssignedTo("tech-support")
152
- .build();
153
- const issue2 = builder
154
- .reset()
155
- .setPropertyId("prop707")
156
- .setCategory(issue_types_1.IssuesCategory.ENERGY)
157
- .setTitle("Low Battery Warning")
158
- .setDescription("Device battery level is below 20%")
159
- .setEntityId("device789")
160
- .setEntityType(issue_types_1.EntityType.DEVICE)
161
- .setPriority(issue_types_1.IssuePriority.MEDIUM)
162
- .setAssignedTo("maintenance-team")
163
- .setCreatedBy("batch-processor")
164
- .build();
165
- return [issue1, issue2];
166
- }
167
- // Example 11: Creating issue with due date calculation
168
- function createIssueWithDueDate() {
169
- const dueDate = new Date();
170
- dueDate.setDate(dueDate.getDate() + 7); // Due in 7 days
171
- const issueData = new IssueBuilder_1.IssueBuilder()
172
- .setCategory(issue_types_1.IssuesCategory.READINESS)
173
- .setPropertyId("prop808")
174
- .setTitle("System Update Required")
175
- .setDescription("System requires critical security update")
176
- .setEntityType(issue_types_1.EntityType.PROPERTY)
177
- .setPriority(issue_types_1.IssuePriority.HIGH)
178
- .setAssignedTo("system-admin")
179
- .setCreatedBy("update-manager")
180
- .setDueDate(dueDate)
181
- .build();
182
- return issueData;
183
- }
184
- // Example 12: Creating issue without assignment
185
- function createUnassignedIssue() {
186
- const issueData = new IssueBuilder_1.IssueBuilder()
187
- .setCategory(issue_types_1.IssuesCategory.OTHER)
188
- .setPropertyId("prop909")
189
- .setTitle("General Inquiry")
190
- .setDescription("General inquiry about system functionality")
191
- .setEntityType(issue_types_1.EntityType.PROPERTY)
192
- .setPriority(issue_types_1.IssuePriority.LOW)
193
- .setCreatedBy("user-inquiry")
194
- .build();
195
- return issueData;
196
- }
@@ -1,237 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IssueBuilder = void 0;
4
- const issue_types_1 = require("../../../types/issue.types");
5
- /**
6
- * IssueBuilder - A builder pattern implementation for constructing CreateIssueData objects
7
- *
8
- * This builder provides a fluent interface for creating issue data with proper validation
9
- * and default values. It follows the Builder pattern which is a standard design pattern
10
- * in TypeScript for constructing complex objects.
11
- *
12
- * Usage example:
13
- * const issueData = new IssueBuilder()
14
- * .setCategory(IssuesCategory.OPERATIONS)
15
- * .setPropertyId("prop123")
16
- * .setTitle("Device Maintenance Required")
17
- * .setDescription("Device requires scheduled maintenance")
18
- * .setEntityId("device456")
19
- * .setEntityType(EntityType.DEVICE)
20
- * .setPriority(IssuePriority.HIGH)
21
- * .setAssignedTo("tech789")
22
- * .setCreatedBy("user123")
23
- * .setDueDate(new Date("2024-01-15"))
24
- * .build();
25
- */
26
- class IssueBuilder {
27
- constructor() {
28
- this.data = {};
29
- }
30
- /**
31
- * Sets the issue category
32
- */
33
- setCategory(category) {
34
- this.data.category = category;
35
- return this;
36
- }
37
- /**
38
- * Sets the property ID
39
- */
40
- setPropertyId(propertyId) {
41
- if (!propertyId || propertyId.trim() === "") {
42
- throw new Error("Property ID is required and cannot be empty");
43
- }
44
- this.data.propertyId = propertyId;
45
- return this;
46
- }
47
- /**
48
- * Sets the issue title
49
- */
50
- setTitle(title) {
51
- if (!title || title.trim() === "") {
52
- throw new Error("Title is required and cannot be empty");
53
- }
54
- this.data.title = title.trim();
55
- return this;
56
- }
57
- /**
58
- * Sets the issue description
59
- */
60
- setDescription(description) {
61
- if (!description || description.trim() === "") {
62
- throw new Error("Description is required and cannot be empty");
63
- }
64
- this.data.description = description.trim();
65
- return this;
66
- }
67
- /**
68
- * Sets the entity ID (optional)
69
- */
70
- setEntityId(entityId) {
71
- if (entityId !== undefined) {
72
- this.data.entityId = entityId.trim() || undefined;
73
- }
74
- return this;
75
- }
76
- /**
77
- * Sets the entity type
78
- */
79
- setEntityType(entityType) {
80
- this.data.entityType = entityType;
81
- return this;
82
- }
83
- /**
84
- * Sets the issue priority (optional, defaults to MEDIUM)
85
- */
86
- setPriority(priority) {
87
- if (priority !== undefined) {
88
- this.data.priority = priority;
89
- }
90
- return this;
91
- }
92
- /**
93
- * Sets the user assigned to the issue (optional)
94
- */
95
- setAssignedTo(assignedTo) {
96
- if (assignedTo !== undefined) {
97
- this.data.assignedTo = assignedTo.trim() || undefined;
98
- }
99
- return this;
100
- }
101
- /**
102
- * Sets the user who created the issue (required)
103
- */
104
- setCreatedBy(createdBy) {
105
- if (!createdBy || createdBy.trim() === "") {
106
- throw new Error("Created by user is required and cannot be empty");
107
- }
108
- this.data.createdBy = createdBy.trim();
109
- return this;
110
- }
111
- /**
112
- * Sets the due date (optional)
113
- */
114
- setDueDate(dueDate) {
115
- if (dueDate !== undefined) {
116
- this.data.dueDate = dueDate;
117
- }
118
- return this;
119
- }
120
- /**
121
- * Validates that all required fields are present
122
- */
123
- validate() {
124
- const requiredFields = ["category", "propertyId", "title", "description", "entityType", "createdBy"];
125
- const missingFields = requiredFields.filter(field => !this.data[field]);
126
- if (missingFields.length > 0) {
127
- throw new Error(`Missing required fields: ${missingFields.join(", ")}`);
128
- }
129
- }
130
- /**
131
- * Builds and returns the CreateIssueData object
132
- * @throws Error if required fields are missing
133
- */
134
- build() {
135
- this.validate();
136
- // Set default priority if not provided
137
- if (!this.data.priority) {
138
- this.data.priority = issue_types_1.IssuePriority.MEDIUM;
139
- }
140
- return this.data;
141
- }
142
- /**
143
- * Resets the builder to its initial state
144
- */
145
- reset() {
146
- this.data = {};
147
- return this;
148
- }
149
- /**
150
- * Creates a new builder instance with predefined values for common issue types
151
- */
152
- static createReadinessIssue() {
153
- return new IssueBuilder()
154
- .setCategory(issue_types_1.IssuesCategory.READINESS)
155
- .setPriority(issue_types_1.IssuePriority.MEDIUM);
156
- }
157
- static createOperationsIssue() {
158
- return new IssueBuilder()
159
- .setCategory(issue_types_1.IssuesCategory.OPERATIONS)
160
- .setPriority(issue_types_1.IssuePriority.HIGH);
161
- }
162
- static createSecurityIssue() {
163
- return new IssueBuilder()
164
- .setCategory(issue_types_1.IssuesCategory.SECURITY)
165
- .setPriority(issue_types_1.IssuePriority.CRITICAL);
166
- }
167
- static createEnergyIssue() {
168
- return new IssueBuilder()
169
- .setCategory(issue_types_1.IssuesCategory.ENERGY)
170
- .setPriority(issue_types_1.IssuePriority.LOW);
171
- }
172
- /**
173
- * Creates a device-specific issue builder
174
- */
175
- static createDeviceIssue(deviceId, propertyId) {
176
- return new IssueBuilder()
177
- .setEntityType(issue_types_1.EntityType.DEVICE)
178
- .setEntityId(deviceId)
179
- .setPropertyId(propertyId);
180
- }
181
- /**
182
- * Creates a hub-specific issue builder
183
- */
184
- static createHubIssue(hubId, propertyId) {
185
- return new IssueBuilder()
186
- .setEntityType(issue_types_1.EntityType.HUB)
187
- .setEntityId(hubId)
188
- .setPropertyId(propertyId);
189
- }
190
- /**
191
- * Creates a user-specific issue builder
192
- */
193
- static createUserIssue(userId, propertyId) {
194
- return new IssueBuilder()
195
- .setEntityType(issue_types_1.EntityType.USER)
196
- .setEntityId(userId)
197
- .setPropertyId(propertyId);
198
- }
199
- /**
200
- * Creates a property-specific issue builder
201
- */
202
- static createPropertyIssue(propertyId) {
203
- return new IssueBuilder()
204
- .setEntityType(issue_types_1.EntityType.PROPERTY)
205
- .setEntityId(propertyId)
206
- .setPropertyId(propertyId);
207
- }
208
- /**
209
- * Creates a maintenance issue builder
210
- */
211
- static createMaintenanceIssue(propertyId, entityId, entityType) {
212
- const builder = new IssueBuilder()
213
- .setCategory(issue_types_1.IssuesCategory.READINESS)
214
- .setPropertyId(propertyId)
215
- .setPriority(issue_types_1.IssuePriority.MEDIUM);
216
- if (entityId)
217
- builder.setEntityId(entityId);
218
- if (entityType)
219
- builder.setEntityType(entityType);
220
- return builder;
221
- }
222
- /**
223
- * Creates an urgent issue builder
224
- */
225
- static createUrgentIssue(propertyId, entityId, entityType) {
226
- const builder = new IssueBuilder()
227
- .setCategory(issue_types_1.IssuesCategory.OPERATIONS)
228
- .setPropertyId(propertyId)
229
- .setPriority(issue_types_1.IssuePriority.URGENT);
230
- if (entityId)
231
- builder.setEntityId(entityId);
232
- if (entityType)
233
- builder.setEntityType(entityType);
234
- return builder;
235
- }
236
- }
237
- exports.IssueBuilder = IssueBuilder;
@@ -1,2 +0,0 @@
1
- export { AlertBuilder } from "./AlertBuilder";
2
- export { IssueBuilder } from "./IssueBuilder";
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IssueBuilder = exports.AlertBuilder = void 0;
4
- var AlertBuilder_1 = require("./AlertBuilder");
5
- Object.defineProperty(exports, "AlertBuilder", { enumerable: true, get: function () { return AlertBuilder_1.AlertBuilder; } });
6
- var IssueBuilder_1 = require("./IssueBuilder");
7
- Object.defineProperty(exports, "IssueBuilder", { enumerable: true, get: function () { return IssueBuilder_1.IssueBuilder; } });
@@ -1,11 +0,0 @@
1
- export declare class EventHandler {
2
- private readonly source;
3
- constructor();
4
- onDeviceCreate(body: any): Promise<void>;
5
- onDeviceUpdate(deviceId: string, body: any): Promise<void>;
6
- onDeviceDelete(deviceId: string): Promise<void>;
7
- onStateChange(deviceId: string, state: any): Promise<void>;
8
- onStatusChange(deviceId: string, status: any): Promise<void>;
9
- onBatteryLevelChange(deviceId: string, batteryLevel: number): Promise<void>;
10
- onDeviceMetaChange(deviceId: string, metaData: Record<string, any>): Promise<void>;
11
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventHandler = void 0;
4
- const dt_pub_sub_1 = require("dt-pub-sub");
5
- const dt_audit_library_1 = require("dt-audit-library");
6
- const Events_1 = require("./Events");
7
- class EventHandler {
8
- constructor() {
9
- this.source = "dt-common-device";
10
- }
11
- async onDeviceCreate(body) {
12
- await dt_pub_sub_1.eventDispatcher.publishEvent(Events_1.DT_EVENT_TYPES.DEVICE.DEVICE.CREATED, body, this.source);
13
- const payload = {
14
- eventType: Events_1.DT_EVENT_TYPES.DEVICE.DEVICE.CREATED,
15
- properties: {
16
- ...body,
17
- },
18
- };
19
- await (0, dt_audit_library_1.publishAudit)(payload);
20
- }
21
- async onDeviceUpdate(deviceId, body) {
22
- await dt_pub_sub_1.eventDispatcher.publishEvent(Events_1.DT_EVENT_TYPES.DEVICE.DEVICE.UPDATED, { deviceId, body }, this.source);
23
- const payload = {
24
- eventType: Events_1.DT_EVENT_TYPES.DEVICE.DEVICE.UPDATED,
25
- properties: {
26
- ...body,
27
- },
28
- };
29
- await (0, dt_audit_library_1.publishAudit)(payload);
30
- }
31
- async onDeviceDelete(deviceId) {
32
- await dt_pub_sub_1.eventDispatcher.publishEvent(Events_1.DT_EVENT_TYPES.DEVICE.DEVICE.DELETED, { deviceId }, this.source);
33
- const payload = {
34
- eventType: Events_1.DT_EVENT_TYPES.DEVICE.DEVICE.DELETED,
35
- properties: {
36
- deviceId,
37
- },
38
- };
39
- await (0, dt_audit_library_1.publishAudit)(payload);
40
- }
41
- async onStateChange(deviceId, state) {
42
- await dt_pub_sub_1.eventDispatcher.publishEvent(Events_1.DT_EVENT_TYPES.DEVICE.STATE.SET, { deviceId, state }, this.source);
43
- const payload = {
44
- eventType: Events_1.DT_EVENT_TYPES.DEVICE.STATE.SET,
45
- properties: {
46
- deviceId,
47
- state,
48
- },
49
- };
50
- await (0, dt_audit_library_1.publishAudit)(payload);
51
- }
52
- async onStatusChange(deviceId, status) {
53
- await dt_pub_sub_1.eventDispatcher.publishEvent(Events_1.DT_EVENT_TYPES.DEVICE.STATUS.SET, { deviceId, status }, this.source);
54
- const payload = {
55
- eventType: Events_1.DT_EVENT_TYPES.DEVICE.STATUS.SET,
56
- properties: {
57
- deviceId,
58
- status,
59
- },
60
- };
61
- await (0, dt_audit_library_1.publishAudit)(payload);
62
- }
63
- async onBatteryLevelChange(deviceId, batteryLevel) {
64
- await dt_pub_sub_1.eventDispatcher.publishEvent(Events_1.DT_EVENT_TYPES.DEVICE.BATTERY.SET, { deviceId, batteryLevel }, this.source);
65
- const payload = {
66
- eventType: Events_1.DT_EVENT_TYPES.DEVICE.BATTERY.SET,
67
- properties: {
68
- deviceId,
69
- batteryLevel,
70
- },
71
- };
72
- await (0, dt_audit_library_1.publishAudit)(payload);
73
- }
74
- async onDeviceMetaChange(deviceId, metaData) {
75
- await dt_pub_sub_1.eventDispatcher.publishEvent(Events_1.DT_EVENT_TYPES.DEVICE.META_DATA.SET, { deviceId, metaData }, this.source);
76
- const payload = {
77
- eventType: Events_1.DT_EVENT_TYPES.DEVICE.META_DATA.SET,
78
- properties: {
79
- deviceId,
80
- metaData,
81
- },
82
- };
83
- await (0, dt_audit_library_1.publishAudit)(payload);
84
- }
85
- }
86
- exports.EventHandler = EventHandler;
@@ -1,54 +0,0 @@
1
- export declare const DT_EVENT_TYPES: {
2
- DEVICE: {
3
- DEVICE: {
4
- CREATED: string;
5
- UPDATED: string;
6
- DELETED: string;
7
- };
8
- STATE: {
9
- SET: string;
10
- UNKNOWN: string;
11
- UPDATED: string;
12
- CHANGED: string;
13
- };
14
- STATUS: {
15
- SET: string;
16
- ONLINE: string;
17
- OFFLINE: string;
18
- UNKNOWN: string;
19
- UPDATED: string;
20
- CHANGED: string;
21
- };
22
- BATTERY: {
23
- SET: string;
24
- UNKNOWN: string;
25
- LOW: string;
26
- CRITICAL: string;
27
- UPDATED: string;
28
- CHANGED: string;
29
- };
30
- META_DATA: {
31
- SET: string;
32
- UPDATED: string;
33
- CHANGED: string;
34
- };
35
- };
36
- CONNECTION: {
37
- CONNECTION: {
38
- CREATED: string;
39
- UPDATED: string;
40
- DELETED: string;
41
- };
42
- };
43
- PROPERTY: {
44
- PROPERTY: {
45
- CREATED: string;
46
- UPDATED: string;
47
- DELETED: string;
48
- };
49
- PREFERENCES: {
50
- UPDATED: string;
51
- CREATED: string;
52
- };
53
- };
54
- };
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DT_EVENT_TYPES = void 0;
4
- exports.DT_EVENT_TYPES = {
5
- DEVICE: {
6
- DEVICE: {
7
- CREATED: "device.device.created",
8
- UPDATED: "device.device.updated",
9
- DELETED: "device.device.deleted",
10
- },
11
- STATE: {
12
- SET: "device.state.set",
13
- UNKNOWN: "device.state.unknown",
14
- UPDATED: "device.state.updated",
15
- CHANGED: "device.state.changed",
16
- },
17
- STATUS: {
18
- SET: "device.status.set",
19
- ONLINE: "device.status.online",
20
- OFFLINE: "device.status.offline",
21
- UNKNOWN: "device.status.unknown",
22
- UPDATED: "device.status.updated",
23
- CHANGED: "device.status.changed",
24
- },
25
- BATTERY: {
26
- SET: "device.battery.set",
27
- UNKNOWN: "device.battery.unknown",
28
- LOW: "device.battery.low",
29
- CRITICAL: "device.battery.critical",
30
- UPDATED: "device.battery.updated",
31
- CHANGED: "device.battery.changed",
32
- },
33
- META_DATA: {
34
- SET: "device.metaData.set",
35
- UPDATED: "device.metaData.updated",
36
- CHANGED: "device.metaData.changed",
37
- },
38
- },
39
- CONNECTION: {
40
- CONNECTION: {
41
- CREATED: "connection.connection.created",
42
- UPDATED: "connection.connection.updated",
43
- DELETED: "connection.connection.deleted",
44
- },
45
- },
46
- PROPERTY: {
47
- PROPERTY: {
48
- CREATED: "property.property.created",
49
- UPDATED: "property.property.updated",
50
- DELETED: "property.property.deleted",
51
- },
52
- PREFERENCES: {
53
- UPDATED: "property.preferences.updated",
54
- CREATED: "property.preferences.created",
55
- },
56
- },
57
- };
@@ -1,2 +0,0 @@
1
- export { DT_EVENT_TYPES } from "./Events";
2
- export { EventHandler } from "./EventHandler";
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventHandler = exports.DT_EVENT_TYPES = void 0;
4
- var Events_1 = require("./Events");
5
- Object.defineProperty(exports, "DT_EVENT_TYPES", { enumerable: true, get: function () { return Events_1.DT_EVENT_TYPES; } });
6
- var EventHandler_1 = require("./EventHandler");
7
- Object.defineProperty(exports, "EventHandler", { enumerable: true, get: function () { return EventHandler_1.EventHandler; } });
@@ -1,7 +0,0 @@
1
- export declare class EventHandler {
2
- private readonly source;
3
- constructor();
4
- onStateChange(deviceId: string, state: any): Promise<void>;
5
- onStatusChange(deviceId: string, status: any): Promise<void>;
6
- onBatteryLevelChange(deviceId: string, batteryLevel: number): Promise<void>;
7
- }