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,52 +0,0 @@
1
- /**
2
- * Represents a connection to a device provider.
3
- * WARNING: Do not log or expose sensitive fields (accessToken, clientSecret).
4
- */
5
- export interface IConnection {
6
- id?: string;
7
- createdAt?: Date;
8
- updatedAt?: Date;
9
- isDeleted?: boolean;
10
- connectionName: string;
11
- connectionRefId: string;
12
- propertyId: string;
13
- connectionProvider: ConnectionProvider;
14
- accessToken?: string;
15
- refreshToken?: string;
16
- clientId?: string;
17
- clientSecret: string;
18
- isActive?: boolean;
19
- metaData?: any;
20
- }
21
- export interface IConnectionPagination {
22
- page: number;
23
- limit: number;
24
- }
25
- /**
26
- * Device account response from provider.
27
- * WARNING: Do not log or expose connection_access_token.
28
- */
29
- export interface IDeviceAccountResponse {
30
- id: string;
31
- connection_name: string;
32
- connection_access_token: string;
33
- connection_provider: string;
34
- totalDevices: number;
35
- connection_ref_id: string;
36
- isActive: boolean;
37
- }
38
- export interface IConnectionConnectParams {
39
- code?: string;
40
- propertyId?: string;
41
- [key: string]: unknown;
42
- }
43
- export declare enum ConnectionProvider {
44
- Smartthings = "Smartthings",
45
- SaltoKS = "SaltoKS",
46
- TTLock = "TTLock",
47
- Tuya = "Tuya",
48
- Schlage = "Schlage",
49
- YaleWifi = "YaleWifi",
50
- Sensibo = "Sensibo",
51
- Devicethread = "Devicethread"
52
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- // Device Cloud Type Interfaces for DeviceThread Common Library
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ConnectionProvider = void 0;
5
- var ConnectionProvider;
6
- (function (ConnectionProvider) {
7
- ConnectionProvider["Smartthings"] = "Smartthings";
8
- ConnectionProvider["SaltoKS"] = "SaltoKS";
9
- ConnectionProvider["TTLock"] = "TTLock";
10
- ConnectionProvider["Tuya"] = "Tuya";
11
- ConnectionProvider["Schlage"] = "Schlage";
12
- ConnectionProvider["YaleWifi"] = "YaleWifi";
13
- ConnectionProvider["Sensibo"] = "Sensibo";
14
- ConnectionProvider["Devicethread"] = "Devicethread";
15
- })(ConnectionProvider || (exports.ConnectionProvider = ConnectionProvider = {}));
@@ -1,4 +0,0 @@
1
- export * from "./cloud/interface";
2
- export * from "./cloud/types";
3
- export type { IConnection, IConnectionConnectParams, IDevice, IDeviceAccountResponse, } from "./cloud/types";
4
- export type { IDeviceCloudService } from "./cloud/interface";
@@ -1,20 +0,0 @@
1
- "use strict";
2
- // DeviceThread Common Library - Device Module
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- // Export cloud device interfaces
19
- __exportStar(require("./cloud/interface"), exports);
20
- __exportStar(require("./cloud/types"), exports);
@@ -1,87 +0,0 @@
1
- import { CreateAlertData, AlertCategory, AlertSeverity, EntityType } from "../../../types/alert.types";
2
- /**
3
- * AlertBuilder - A builder pattern implementation for constructing CreateAlertData objects
4
- *
5
- * This builder provides a fluent interface for creating alert 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 alertData = new AlertBuilder()
11
- * .setCategory(AlertCategory.OPERATIONS)
12
- * .setPropertyId("prop123")
13
- * .setTitle("Device Offline")
14
- * .setDescription("Device has been offline for more than 5 minutes")
15
- * .setEntityId("device456")
16
- * .setEntityType(EntityType.DEVICE)
17
- * .setSeverity(AlertSeverity.HIGH)
18
- * .setCreatedBy("user789")
19
- * .build();
20
- */
21
- export declare class AlertBuilder {
22
- private data;
23
- /**
24
- * Sets the alert category
25
- */
26
- setCategory(category: AlertCategory): AlertBuilder;
27
- /**
28
- * Sets the property ID
29
- */
30
- setPropertyId(propertyId: string): AlertBuilder;
31
- /**
32
- * Sets the alert title
33
- */
34
- setTitle(title: string): AlertBuilder;
35
- /**
36
- * Sets the alert description
37
- */
38
- setDescription(description: string): AlertBuilder;
39
- /**
40
- * Sets the entity ID (optional)
41
- */
42
- setEntityId(entityId?: string): AlertBuilder;
43
- /**
44
- * Sets the entity type
45
- */
46
- setEntityType(entityType: EntityType): AlertBuilder;
47
- /**
48
- * Sets the alert severity (optional, defaults to MEDIUM)
49
- */
50
- setSeverity(severity?: AlertSeverity): AlertBuilder;
51
- /**
52
- * Sets the user who created the alert (optional)
53
- */
54
- setCreatedBy(createdBy?: string): AlertBuilder;
55
- /**
56
- * Sets the snooze until date (optional)
57
- */
58
- setSnoozeUntil(snoozeUntil?: Date): AlertBuilder;
59
- /**
60
- * Validates that all required fields are present
61
- */
62
- private validate;
63
- /**
64
- * Builds and returns the CreateAlertData object
65
- * @throws Error if required fields are missing
66
- */
67
- build(): CreateAlertData;
68
- /**
69
- * Resets the builder to its initial state
70
- */
71
- reset(): AlertBuilder;
72
- /**
73
- * Creates a new builder instance with predefined values for common alert types
74
- */
75
- static createReadinessAlert(): AlertBuilder;
76
- static createOperationsAlert(): AlertBuilder;
77
- static createSecurityAlert(): AlertBuilder;
78
- static createEnergyAlert(): AlertBuilder;
79
- /**
80
- * Creates a device-specific alert builder
81
- */
82
- static createDeviceAlert(deviceId: string, propertyId: string): AlertBuilder;
83
- /**
84
- * Creates a hub-specific alert builder
85
- */
86
- static createHubAlert(hubId: string, propertyId: string): AlertBuilder;
87
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Example usage of AlertBuilder
3
- * This file demonstrates various ways to use the AlertBuilder pattern
4
- */
5
- export declare function createBasicAlert(): import("../../../types/alert.types").CreateAlertData;
6
- export declare function createDeviceAlert(): import("../../../types/alert.types").CreateAlertData;
7
- export declare function createSecurityAlert(): import("../../../types/alert.types").CreateAlertData;
8
- export declare function createEnergyAlert(): import("../../../types/alert.types").CreateAlertData;
9
- export declare function createHubAlert(): import("../../../types/alert.types").CreateAlertData;
10
- export declare function createSnoozedAlert(): import("../../../types/alert.types").CreateAlertData;
11
- export declare function createMultipleAlerts(): import("../../../types/alert.types").CreateAlertData[];
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createBasicAlert = createBasicAlert;
4
- exports.createDeviceAlert = createDeviceAlert;
5
- exports.createSecurityAlert = createSecurityAlert;
6
- exports.createEnergyAlert = createEnergyAlert;
7
- exports.createHubAlert = createHubAlert;
8
- exports.createSnoozedAlert = createSnoozedAlert;
9
- exports.createMultipleAlerts = createMultipleAlerts;
10
- const AlertBuilder_1 = require("./AlertBuilder");
11
- const alert_types_1 = require("../../../types/alert.types");
12
- /**
13
- * Example usage of AlertBuilder
14
- * This file demonstrates various ways to use the AlertBuilder pattern
15
- */
16
- // Example 1: Basic alert creation
17
- function createBasicAlert() {
18
- const alertData = new AlertBuilder_1.AlertBuilder()
19
- .setCategory(alert_types_1.AlertCategory.OPERATIONS)
20
- .setPropertyId("prop123")
21
- .setTitle("Device Offline")
22
- .setDescription("Device has been offline for more than 5 minutes")
23
- .setEntityId("device456")
24
- .setEntityType(alert_types_1.EntityType.DEVICE)
25
- .setSeverity(alert_types_1.AlertSeverity.HIGH)
26
- .setCreatedBy("user789")
27
- .build();
28
- return alertData;
29
- }
30
- // Example 2: Using static factory methods
31
- function createDeviceAlert() {
32
- const alertData = AlertBuilder_1.AlertBuilder.createDeviceAlert("device123", "prop456")
33
- .setCategory(alert_types_1.AlertCategory.READINESS)
34
- .setTitle("Device Maintenance Required")
35
- .setDescription("Device firmware update is available")
36
- .setSeverity(alert_types_1.AlertSeverity.MEDIUM)
37
- .setCreatedBy("system")
38
- .build();
39
- return alertData;
40
- }
41
- // Example 3: Using predefined alert types
42
- function createSecurityAlert() {
43
- const alertData = AlertBuilder_1.AlertBuilder.createSecurityAlert()
44
- .setPropertyId("prop789")
45
- .setTitle("Unauthorized Access Attempt")
46
- .setDescription("Multiple failed login attempts detected")
47
- .setEntityId("user123")
48
- .setEntityType(alert_types_1.EntityType.USER)
49
- .setCreatedBy("security-system")
50
- .build();
51
- return alertData;
52
- }
53
- // Example 4: Creating energy alert
54
- function createEnergyAlert() {
55
- const alertData = AlertBuilder_1.AlertBuilder.createEnergyAlert()
56
- .setPropertyId("prop101")
57
- .setTitle("High Energy Consumption")
58
- .setDescription("Energy usage is 20% above normal levels")
59
- .setEntityId("zone456")
60
- .setEntityType(alert_types_1.EntityType.COLLECTION)
61
- .setCreatedBy("energy-monitor")
62
- .build();
63
- return alertData;
64
- }
65
- // Example 5: Creating hub alert
66
- function createHubAlert() {
67
- const alertData = AlertBuilder_1.AlertBuilder.createHubAlert("hub789", "prop202")
68
- .setCategory(alert_types_1.AlertCategory.OPERATIONS)
69
- .setTitle("Hub Connection Lost")
70
- .setDescription("Hub has lost connection to the network")
71
- .setSeverity(alert_types_1.AlertSeverity.CRITICAL)
72
- .setCreatedBy("network-monitor")
73
- .build();
74
- return alertData;
75
- }
76
- // Example 6: Alert with snooze
77
- function createSnoozedAlert() {
78
- const snoozeUntil = new Date();
79
- snoozeUntil.setHours(snoozeUntil.getHours() + 2); // Snooze for 2 hours
80
- const alertData = new AlertBuilder_1.AlertBuilder()
81
- .setCategory(alert_types_1.AlertCategory.OTHER)
82
- .setPropertyId("prop303")
83
- .setTitle("Scheduled Maintenance")
84
- .setDescription("System maintenance scheduled for tonight")
85
- .setEntityType(alert_types_1.EntityType.PROPERTY)
86
- .setSeverity(alert_types_1.AlertSeverity.INFO)
87
- .setCreatedBy("admin")
88
- .setSnoozeUntil(snoozeUntil)
89
- .build();
90
- return alertData;
91
- }
92
- // Example 7: Reusing builder instance
93
- function createMultipleAlerts() {
94
- const builder = new AlertBuilder_1.AlertBuilder()
95
- .setPropertyId("prop404")
96
- .setCreatedBy("system");
97
- const alert1 = builder
98
- .setCategory(alert_types_1.AlertCategory.OPERATIONS)
99
- .setTitle("Device Temperature High")
100
- .setDescription("Device temperature exceeds normal operating range")
101
- .setEntityId("device789")
102
- .setEntityType(alert_types_1.EntityType.DEVICE)
103
- .setSeverity(alert_types_1.AlertSeverity.HIGH)
104
- .build();
105
- const alert2 = builder
106
- .reset()
107
- .setPropertyId("prop404")
108
- .setCategory(alert_types_1.AlertCategory.ENERGY)
109
- .setTitle("Low Battery Warning")
110
- .setDescription("Device battery level is below 20%")
111
- .setEntityId("device789")
112
- .setEntityType(alert_types_1.EntityType.DEVICE)
113
- .setSeverity(alert_types_1.AlertSeverity.MEDIUM)
114
- .setCreatedBy("system")
115
- .build();
116
- return [alert1, alert2];
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;