dt-common-device 7.8.14 → 7.8.15

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 (222) hide show
  1. package/dist/audit/AuditUtils.js +3 -0
  2. package/dist/entities/accessGroup/AccessGroup.repository.d.ts +2 -1
  3. package/dist/entities/accessGroup/AccessGroup.repository.js +4 -1
  4. package/dist/entities/accessGroup/AccessGroup.service.d.ts +2 -1
  5. package/dist/entities/accessGroup/AccessGroup.service.js +4 -3
  6. package/dist/entities/device/local/repository/DeviceProfile.repository.d.ts +5 -0
  7. package/dist/{device/cloud/entities/DeviceFactory.js → entities/device/local/repository/DeviceProfile.repository.js} +12 -27
  8. package/dist/entities/device/local/services/Device.service.js +3 -3
  9. package/dist/entities/guest/Guest.repository.d.ts +1 -1
  10. package/dist/entities/guest/Guest.repository.js +5 -2
  11. package/dist/entities/guest/Guest.service.d.ts +1 -1
  12. package/dist/entities/guest/Guest.service.js +4 -1
  13. package/dist/entities/schedules/Schedule.repository.d.ts +1 -1
  14. package/dist/entities/schedules/Schedule.repository.js +5 -2
  15. package/dist/entities/schedules/Schedule.service.d.ts +1 -1
  16. package/dist/entities/schedules/Schedule.service.js +4 -1
  17. package/dist/entities/user/User.repository.js +4 -1
  18. package/dist/entities/user/User.service.d.ts +1 -1
  19. package/dist/entities/user/User.service.js +4 -1
  20. package/dist/entities/zone/Zone.service.js +4 -1
  21. package/package.json +1 -1
  22. package/dist/admin/Admin.repository.d.ts +0 -7
  23. package/dist/admin/Admin.repository.js +0 -182
  24. package/dist/admin/Admin.service.d.ts +0 -5
  25. package/dist/admin/Admin.service.js +0 -17
  26. package/dist/admin/index.d.ts +0 -1
  27. package/dist/admin/index.js +0 -17
  28. package/dist/audit/AuditProperties.d.ts +0 -16
  29. package/dist/audit/AuditProperties.js +0 -2
  30. package/dist/chronicle/IChronicle.interface.d.ts +0 -14
  31. package/dist/chronicle/IChronicle.interface.js +0 -2
  32. package/dist/chronicle/chronicle.service.d.ts +0 -4
  33. package/dist/chronicle/chronicle.service.js +0 -44
  34. package/dist/connection/Connection.repository.d.ts +0 -8
  35. package/dist/connection/Connection.repository.js +0 -92
  36. package/dist/connection/Connection.service.d.ts +0 -8
  37. package/dist/connection/Connection.service.js +0 -32
  38. package/dist/connection/IConnection.d.ts +0 -28
  39. package/dist/connection/IConnection.js +0 -16
  40. package/dist/connection/index.d.ts +0 -2
  41. package/dist/connection/index.js +0 -18
  42. package/dist/device/cloud/entities/CloudConnection.d.ts +0 -6
  43. package/dist/device/cloud/entities/CloudConnection.js +0 -6
  44. package/dist/device/cloud/entities/CloudDevice.d.ts +0 -16
  45. package/dist/device/cloud/entities/CloudDevice.js +0 -26
  46. package/dist/device/cloud/entities/CloudDeviceService.d.ts +0 -5
  47. package/dist/device/cloud/entities/CloudDeviceService.js +0 -9
  48. package/dist/device/cloud/entities/DeviceFactory.d.ts +0 -7
  49. package/dist/device/cloud/entities/index.d.ts +0 -3
  50. package/dist/device/cloud/entities/index.js +0 -19
  51. package/dist/device/cloud/interface.d.ts +0 -101
  52. package/dist/device/cloud/interface.js +0 -3
  53. package/dist/device/cloud/interfaces/ICloudConnection.d.ts +0 -5
  54. package/dist/device/cloud/interfaces/ICloudConnection.js +0 -2
  55. package/dist/device/cloud/interfaces/ICloudDevice.d.ts +0 -9
  56. package/dist/device/cloud/interfaces/ICloudDevice.js +0 -2
  57. package/dist/device/cloud/interfaces/ICloudDeviceService.d.ts +0 -4
  58. package/dist/device/cloud/interfaces/ICloudDeviceService.js +0 -2
  59. package/dist/device/cloud/interfaces/IConnectionService.d.ts +0 -7
  60. package/dist/device/cloud/interfaces/IConnectionService.js +0 -2
  61. package/dist/device/cloud/interfaces/IDeviceConnectionService.d.ts +0 -7
  62. package/dist/device/cloud/interfaces/IDeviceConnectionService.js +0 -3
  63. package/dist/device/cloud/interfaces/IDeviceFactory.d.ts +0 -4
  64. package/dist/device/cloud/interfaces/IDeviceFactory.js +0 -2
  65. package/dist/device/cloud/interfaces/IDeviceService.d.ts +0 -8
  66. package/dist/device/cloud/interfaces/IDeviceService.js +0 -2
  67. package/dist/device/cloud/interfaces/IDevicesService.d.ts +0 -9
  68. package/dist/device/cloud/interfaces/IDevicesService.js +0 -2
  69. package/dist/device/cloud/interfaces/IHubService.d.ts +0 -5
  70. package/dist/device/cloud/interfaces/IHubService.js +0 -2
  71. package/dist/device/cloud/interfaces/IRawDataTransformer.d.ts +0 -4
  72. package/dist/device/cloud/interfaces/IRawDataTransformer.js +0 -2
  73. package/dist/device/cloud/interfaces/IRawDevice.d.ts +0 -17
  74. package/dist/device/cloud/interfaces/IRawDevice.js +0 -11
  75. package/dist/device/cloud/interfaces/index.d.ts +0 -5
  76. package/dist/device/cloud/interfaces/index.js +0 -21
  77. package/dist/device/cloud/services/CloudDevice.service.d.ts +0 -5
  78. package/dist/device/cloud/services/CloudDevice.service.js +0 -9
  79. package/dist/device/cloud/services/Connection.service.d.ts +0 -8
  80. package/dist/device/cloud/services/Connection.service.js +0 -6
  81. package/dist/device/cloud/services/Device.service.d.ts +0 -39
  82. package/dist/device/cloud/services/Device.service.js +0 -9
  83. package/dist/device/cloud/services/DeviceCloudService.d.ts +0 -42
  84. package/dist/device/cloud/services/DeviceCloudService.js +0 -59
  85. package/dist/device/cloud/services/DeviceHub.service.d.ts +0 -3
  86. package/dist/device/cloud/services/DeviceHub.service.js +0 -6
  87. package/dist/device/cloud/services/Hub.service.d.ts +0 -25
  88. package/dist/device/cloud/services/Hub.service.js +0 -9
  89. package/dist/device/cloud/services/SmartThingsDeviceService.d.ts +0 -38
  90. package/dist/device/cloud/services/SmartThingsDeviceService.js +0 -52
  91. package/dist/device/cloud/services/index.d.ts +0 -2
  92. package/dist/device/cloud/services/index.js +0 -18
  93. package/dist/device/cloud/types.d.ts +0 -52
  94. package/dist/device/cloud/types.js +0 -15
  95. package/dist/device/index.d.ts +0 -4
  96. package/dist/device/index.js +0 -20
  97. package/dist/device/local/entities/AlertBuilder.d.ts +0 -87
  98. package/dist/device/local/entities/AlertBuilder.example.d.ts +0 -11
  99. package/dist/device/local/entities/AlertBuilder.example.js +0 -117
  100. package/dist/device/local/entities/AlertBuilder.js +0 -179
  101. package/dist/device/local/entities/IssueBuilder.d.ts +0 -109
  102. package/dist/device/local/entities/IssueBuilder.example.d.ts +0 -16
  103. package/dist/device/local/entities/IssueBuilder.example.js +0 -196
  104. package/dist/device/local/entities/IssueBuilder.js +0 -237
  105. package/dist/device/local/entities/index.d.ts +0 -2
  106. package/dist/device/local/entities/index.js +0 -7
  107. package/dist/device/local/events/EventHandler.d.ts +0 -11
  108. package/dist/device/local/events/EventHandler.js +0 -86
  109. package/dist/device/local/events/Events.d.ts +0 -54
  110. package/dist/device/local/events/Events.js +0 -57
  111. package/dist/device/local/events/index.d.ts +0 -2
  112. package/dist/device/local/events/index.js +0 -7
  113. package/dist/device/local/handler/EventHandler.d.ts +0 -7
  114. package/dist/device/local/handler/EventHandler.js +0 -44
  115. package/dist/device/local/interface.d.ts +0 -0
  116. package/dist/device/local/interface.js +0 -1
  117. package/dist/device/local/interfaces/IConnection.d.ts +0 -26
  118. package/dist/device/local/interfaces/IConnection.js +0 -14
  119. package/dist/device/local/interfaces/IDevice.d.ts +0 -68
  120. package/dist/device/local/interfaces/IDevice.js +0 -10
  121. package/dist/device/local/interfaces/IDtDevice.d.ts +0 -16
  122. package/dist/device/local/interfaces/IDtDevice.js +0 -2
  123. package/dist/device/local/interfaces/IHub.d.ts +0 -46
  124. package/dist/device/local/interfaces/IHub.js +0 -2
  125. package/dist/device/local/interfaces/IProperty.d.ts +0 -29
  126. package/dist/device/local/interfaces/IProperty.js +0 -2
  127. package/dist/device/local/interfaces/ISchedule.d.ts +0 -25
  128. package/dist/device/local/interfaces/ISchedule.js +0 -2
  129. package/dist/device/local/interfaces/index.d.ts +0 -3
  130. package/dist/device/local/interfaces/index.js +0 -19
  131. package/dist/device/local/models/Alert.model.d.ts +0 -28
  132. package/dist/device/local/models/Alert.model.js +0 -222
  133. package/dist/device/local/models/Issue.model.d.ts +0 -28
  134. package/dist/device/local/models/Issue.model.js +0 -260
  135. package/dist/device/local/repository/Alert.repository.d.ts +0 -106
  136. package/dist/device/local/repository/Alert.repository.js +0 -374
  137. package/dist/device/local/repository/Connection.repository.d.ts +0 -8
  138. package/dist/device/local/repository/Connection.repository.js +0 -92
  139. package/dist/device/local/repository/Device.repository.d.ts +0 -30
  140. package/dist/device/local/repository/Device.repository.js +0 -325
  141. package/dist/device/local/repository/Hub.repository.d.ts +0 -13
  142. package/dist/device/local/repository/Hub.repository.js +0 -139
  143. package/dist/device/local/repository/Issue.repository.d.ts +0 -113
  144. package/dist/device/local/repository/Issue.repository.js +0 -401
  145. package/dist/device/local/repository/Property.repository.d.ts +0 -8
  146. package/dist/device/local/repository/Property.repository.js +0 -95
  147. package/dist/device/local/repository/Schedule.repository.d.ts +0 -9
  148. package/dist/device/local/repository/Schedule.repository.js +0 -109
  149. package/dist/device/local/services/Alert.service.d.ts +0 -137
  150. package/dist/device/local/services/Alert.service.js +0 -475
  151. package/dist/device/local/services/AlertService.example.d.ts +0 -55
  152. package/dist/device/local/services/AlertService.example.js +0 -148
  153. package/dist/device/local/services/Connection.service.d.ts +0 -8
  154. package/dist/device/local/services/Connection.service.js +0 -32
  155. package/dist/device/local/services/Device.service.d.ts +0 -40
  156. package/dist/device/local/services/Device.service.js +0 -391
  157. package/dist/device/local/services/DeviceHub.service.d.ts +0 -11
  158. package/dist/device/local/services/DeviceHub.service.js +0 -40
  159. package/dist/device/local/services/Hub.service.d.ts +0 -12
  160. package/dist/device/local/services/Hub.service.js +0 -107
  161. package/dist/device/local/services/Issue.service.d.ts +0 -168
  162. package/dist/device/local/services/Issue.service.js +0 -642
  163. package/dist/device/local/services/IssueService.example.d.ts +0 -68
  164. package/dist/device/local/services/IssueService.example.js +0 -177
  165. package/dist/device/local/services/Property.service.d.ts +0 -8
  166. package/dist/device/local/services/Property.service.js +0 -36
  167. package/dist/device/local/services/Schedule.service.d.ts +0 -9
  168. package/dist/device/local/services/Schedule.service.js +0 -26
  169. package/dist/device/local/services/index.d.ts +0 -3
  170. package/dist/device/local/services/index.js +0 -19
  171. package/dist/pms/IPms.d.ts +0 -6
  172. package/dist/pms/IPms.js +0 -10
  173. package/dist/pms/index.d.ts +0 -1
  174. package/dist/pms/index.js +0 -18
  175. package/dist/pms/webhookQueue/examples/index.d.ts +0 -2
  176. package/dist/pms/webhookQueue/examples/index.js +0 -18
  177. package/dist/pms/webhookQueue/examples/pms-integration.d.ts +0 -65
  178. package/dist/pms/webhookQueue/examples/pms-integration.js +0 -254
  179. package/dist/pms/webhookQueue/examples/usage.d.ts +0 -7
  180. package/dist/pms/webhookQueue/examples/usage.js +0 -175
  181. package/dist/pms/webhookQueue/index.d.ts +0 -3
  182. package/dist/pms/webhookQueue/index.js +0 -20
  183. package/dist/pms/webhookQueue/interfaces/IWebhookQueue.d.ts +0 -33
  184. package/dist/pms/webhookQueue/interfaces/IWebhookQueue.js +0 -2
  185. package/dist/pms/webhookQueue/interfaces/IWebhookWorker.d.ts +0 -38
  186. package/dist/pms/webhookQueue/interfaces/IWebhookWorker.js +0 -2
  187. package/dist/pms/webhookQueue/interfaces/index.d.ts +0 -1
  188. package/dist/pms/webhookQueue/interfaces/index.js +0 -17
  189. package/dist/pms/webhookQueue/services/WebhookQueueFactory.d.ts +0 -38
  190. package/dist/pms/webhookQueue/services/WebhookQueueFactory.js +0 -131
  191. package/dist/pms/webhookQueue/services/WebhookQueueIntegration.d.ts +0 -70
  192. package/dist/pms/webhookQueue/services/WebhookQueueIntegration.js +0 -207
  193. package/dist/pms/webhookQueue/services/WebhookQueueService.d.ts +0 -45
  194. package/dist/pms/webhookQueue/services/WebhookQueueService.js +0 -270
  195. package/dist/pms/webhookQueue/services/WebhookWorker.d.ts +0 -37
  196. package/dist/pms/webhookQueue/services/WebhookWorker.js +0 -201
  197. package/dist/pms/webhookQueue/services/index.d.ts +0 -1
  198. package/dist/pms/webhookQueue/services/index.js +0 -17
  199. package/dist/pms/webhookQueue/types/index.d.ts +0 -1
  200. package/dist/pms/webhookQueue/types/index.js +0 -17
  201. package/dist/pms/webhookQueue/types/webhook.types.d.ts +0 -39
  202. package/dist/pms/webhookQueue/types/webhook.types.js +0 -2
  203. package/dist/property/IProperty.d.ts +0 -29
  204. package/dist/property/IProperty.js +0 -2
  205. package/dist/property/Property.repository.d.ts +0 -8
  206. package/dist/property/Property.repository.js +0 -109
  207. package/dist/property/Property.service.d.ts +0 -8
  208. package/dist/property/Property.service.js +0 -124
  209. package/dist/property/index.d.ts +0 -2
  210. package/dist/property/index.js +0 -18
  211. package/dist/queue/interfaces/IHttpRequestJob.d.ts +0 -9
  212. package/dist/queue/interfaces/IHttpRequestJob.js +0 -2
  213. package/dist/types/alert.types.d.ts +0 -57
  214. package/dist/types/alert.types.js +0 -22
  215. package/dist/types/config.types.d.ts +0 -19
  216. package/dist/types/config.types.js +0 -2
  217. package/dist/types/index.d.ts +0 -3
  218. package/dist/types/index.js +0 -19
  219. package/dist/types/issue.types.d.ts +0 -90
  220. package/dist/types/issue.types.js +0 -40
  221. package/dist/utils/http-utils.d.ts +0 -13
  222. package/dist/utils/http-utils.js +0 -117
@@ -1,179 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AlertBuilder = void 0;
4
- const alert_types_1 = require("../../../types/alert.types");
5
- /**
6
- * AlertBuilder - A builder pattern implementation for constructing CreateAlertData objects
7
- *
8
- * This builder provides a fluent interface for creating alert 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 alertData = new AlertBuilder()
14
- * .setCategory(AlertCategory.OPERATIONS)
15
- * .setPropertyId("prop123")
16
- * .setTitle("Device Offline")
17
- * .setDescription("Device has been offline for more than 5 minutes")
18
- * .setEntityId("device456")
19
- * .setEntityType(EntityType.DEVICE)
20
- * .setSeverity(AlertSeverity.HIGH)
21
- * .setCreatedBy("user789")
22
- * .build();
23
- */
24
- class AlertBuilder {
25
- constructor() {
26
- this.data = {};
27
- }
28
- /**
29
- * Sets the alert category
30
- */
31
- setCategory(category) {
32
- this.data.category = category;
33
- return this;
34
- }
35
- /**
36
- * Sets the property ID
37
- */
38
- setPropertyId(propertyId) {
39
- if (!propertyId || propertyId.trim() === "") {
40
- throw new Error("Property ID is required and cannot be empty");
41
- }
42
- this.data.propertyId = propertyId;
43
- return this;
44
- }
45
- /**
46
- * Sets the alert title
47
- */
48
- setTitle(title) {
49
- if (!title || title.trim() === "") {
50
- throw new Error("Title is required and cannot be empty");
51
- }
52
- this.data.title = title.trim();
53
- return this;
54
- }
55
- /**
56
- * Sets the alert description
57
- */
58
- setDescription(description) {
59
- if (!description || description.trim() === "") {
60
- throw new Error("Description is required and cannot be empty");
61
- }
62
- this.data.description = description.trim();
63
- return this;
64
- }
65
- /**
66
- * Sets the entity ID (optional)
67
- */
68
- setEntityId(entityId) {
69
- if (entityId !== undefined) {
70
- this.data.entityId = entityId.trim() || undefined;
71
- }
72
- return this;
73
- }
74
- /**
75
- * Sets the entity type
76
- */
77
- setEntityType(entityType) {
78
- this.data.entityType = entityType;
79
- return this;
80
- }
81
- /**
82
- * Sets the alert severity (optional, defaults to MEDIUM)
83
- */
84
- setSeverity(severity) {
85
- if (severity !== undefined) {
86
- this.data.severity = severity;
87
- }
88
- return this;
89
- }
90
- /**
91
- * Sets the user who created the alert (optional)
92
- */
93
- setCreatedBy(createdBy) {
94
- if (createdBy !== undefined) {
95
- this.data.createdBy = createdBy.trim() || undefined;
96
- }
97
- return this;
98
- }
99
- /**
100
- * Sets the snooze until date (optional)
101
- */
102
- setSnoozeUntil(snoozeUntil) {
103
- if (snoozeUntil !== undefined) {
104
- this.data.snoozeUntil = snoozeUntil;
105
- }
106
- return this;
107
- }
108
- /**
109
- * Validates that all required fields are present
110
- */
111
- validate() {
112
- const requiredFields = ["category", "propertyId", "title", "description", "entityType"];
113
- const missingFields = requiredFields.filter(field => !this.data[field]);
114
- if (missingFields.length > 0) {
115
- throw new Error(`Missing required fields: ${missingFields.join(", ")}`);
116
- }
117
- }
118
- /**
119
- * Builds and returns the CreateAlertData object
120
- * @throws Error if required fields are missing
121
- */
122
- build() {
123
- this.validate();
124
- // Set default severity if not provided
125
- if (!this.data.severity) {
126
- this.data.severity = alert_types_1.AlertSeverity.MEDIUM;
127
- }
128
- return this.data;
129
- }
130
- /**
131
- * Resets the builder to its initial state
132
- */
133
- reset() {
134
- this.data = {};
135
- return this;
136
- }
137
- /**
138
- * Creates a new builder instance with predefined values for common alert types
139
- */
140
- static createReadinessAlert() {
141
- return new AlertBuilder()
142
- .setCategory(alert_types_1.AlertCategory.READINESS)
143
- .setSeverity(alert_types_1.AlertSeverity.MEDIUM);
144
- }
145
- static createOperationsAlert() {
146
- return new AlertBuilder()
147
- .setCategory(alert_types_1.AlertCategory.OPERATIONS)
148
- .setSeverity(alert_types_1.AlertSeverity.HIGH);
149
- }
150
- static createSecurityAlert() {
151
- return new AlertBuilder()
152
- .setCategory(alert_types_1.AlertCategory.SECURITY)
153
- .setSeverity(alert_types_1.AlertSeverity.CRITICAL);
154
- }
155
- static createEnergyAlert() {
156
- return new AlertBuilder()
157
- .setCategory(alert_types_1.AlertCategory.ENERGY)
158
- .setSeverity(alert_types_1.AlertSeverity.LOW);
159
- }
160
- /**
161
- * Creates a device-specific alert builder
162
- */
163
- static createDeviceAlert(deviceId, propertyId) {
164
- return new AlertBuilder()
165
- .setEntityType(alert_types_1.EntityType.DEVICE)
166
- .setEntityId(deviceId)
167
- .setPropertyId(propertyId);
168
- }
169
- /**
170
- * Creates a hub-specific alert builder
171
- */
172
- static createHubAlert(hubId, propertyId) {
173
- return new AlertBuilder()
174
- .setEntityType(alert_types_1.EntityType.HUB)
175
- .setEntityId(hubId)
176
- .setPropertyId(propertyId);
177
- }
178
- }
179
- exports.AlertBuilder = AlertBuilder;
@@ -1,109 +0,0 @@
1
- import { CreateIssueData, IssuesCategory, IssuePriority, EntityType } from "../../../types/issue.types";
2
- /**
3
- * IssueBuilder - A builder pattern implementation for constructing CreateIssueData objects
4
- *
5
- * This builder provides a fluent interface for creating issue data with proper validation
6
- * and default values. It follows the Builder pattern which is a standard design pattern
7
- * in TypeScript for constructing complex objects.
8
- *
9
- * Usage example:
10
- * const issueData = new IssueBuilder()
11
- * .setCategory(IssuesCategory.OPERATIONS)
12
- * .setPropertyId("prop123")
13
- * .setTitle("Device Maintenance Required")
14
- * .setDescription("Device requires scheduled maintenance")
15
- * .setEntityId("device456")
16
- * .setEntityType(EntityType.DEVICE)
17
- * .setPriority(IssuePriority.HIGH)
18
- * .setAssignedTo("tech789")
19
- * .setCreatedBy("user123")
20
- * .setDueDate(new Date("2024-01-15"))
21
- * .build();
22
- */
23
- export declare class IssueBuilder {
24
- private data;
25
- /**
26
- * Sets the issue category
27
- */
28
- setCategory(category: IssuesCategory): IssueBuilder;
29
- /**
30
- * Sets the property ID
31
- */
32
- setPropertyId(propertyId: string): IssueBuilder;
33
- /**
34
- * Sets the issue title
35
- */
36
- setTitle(title: string): IssueBuilder;
37
- /**
38
- * Sets the issue description
39
- */
40
- setDescription(description: string): IssueBuilder;
41
- /**
42
- * Sets the entity ID (optional)
43
- */
44
- setEntityId(entityId?: string): IssueBuilder;
45
- /**
46
- * Sets the entity type
47
- */
48
- setEntityType(entityType: EntityType): IssueBuilder;
49
- /**
50
- * Sets the issue priority (optional, defaults to MEDIUM)
51
- */
52
- setPriority(priority?: IssuePriority): IssueBuilder;
53
- /**
54
- * Sets the user assigned to the issue (optional)
55
- */
56
- setAssignedTo(assignedTo?: string): IssueBuilder;
57
- /**
58
- * Sets the user who created the issue (required)
59
- */
60
- setCreatedBy(createdBy: string): IssueBuilder;
61
- /**
62
- * Sets the due date (optional)
63
- */
64
- setDueDate(dueDate?: Date): IssueBuilder;
65
- /**
66
- * Validates that all required fields are present
67
- */
68
- private validate;
69
- /**
70
- * Builds and returns the CreateIssueData object
71
- * @throws Error if required fields are missing
72
- */
73
- build(): CreateIssueData;
74
- /**
75
- * Resets the builder to its initial state
76
- */
77
- reset(): IssueBuilder;
78
- /**
79
- * Creates a new builder instance with predefined values for common issue types
80
- */
81
- static createReadinessIssue(): IssueBuilder;
82
- static createOperationsIssue(): IssueBuilder;
83
- static createSecurityIssue(): IssueBuilder;
84
- static createEnergyIssue(): IssueBuilder;
85
- /**
86
- * Creates a device-specific issue builder
87
- */
88
- static createDeviceIssue(deviceId: string, propertyId: string): IssueBuilder;
89
- /**
90
- * Creates a hub-specific issue builder
91
- */
92
- static createHubIssue(hubId: string, propertyId: string): IssueBuilder;
93
- /**
94
- * Creates a user-specific issue builder
95
- */
96
- static createUserIssue(userId: string, propertyId: string): IssueBuilder;
97
- /**
98
- * Creates a property-specific issue builder
99
- */
100
- static createPropertyIssue(propertyId: string): IssueBuilder;
101
- /**
102
- * Creates a maintenance issue builder
103
- */
104
- static createMaintenanceIssue(propertyId: string, entityId?: string, entityType?: EntityType): IssueBuilder;
105
- /**
106
- * Creates an urgent issue builder
107
- */
108
- static createUrgentIssue(propertyId: string, entityId?: string, entityType?: EntityType): IssueBuilder;
109
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Example usage of IssueBuilder
3
- * This file demonstrates various ways to use the IssueBuilder pattern
4
- */
5
- export declare function createBasicIssue(): import("../../../types/issue.types").CreateIssueData;
6
- export declare function createDeviceIssue(): import("../../../types/issue.types").CreateIssueData;
7
- export declare function createSecurityIssue(): import("../../../types/issue.types").CreateIssueData;
8
- export declare function createEnergyIssue(): import("../../../types/issue.types").CreateIssueData;
9
- export declare function createHubIssue(): import("../../../types/issue.types").CreateIssueData;
10
- export declare function createUserIssue(): import("../../../types/issue.types").CreateIssueData;
11
- export declare function createPropertyIssue(): import("../../../types/issue.types").CreateIssueData;
12
- export declare function createMaintenanceIssue(): import("../../../types/issue.types").CreateIssueData;
13
- export declare function createUrgentIssue(): import("../../../types/issue.types").CreateIssueData;
14
- export declare function createMultipleIssues(): import("../../../types/issue.types").CreateIssueData[];
15
- export declare function createIssueWithDueDate(): import("../../../types/issue.types").CreateIssueData;
16
- export declare function createUnassignedIssue(): import("../../../types/issue.types").CreateIssueData;
@@ -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
- }