dt-common-device 13.2.2 → 13.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.
- package/dist/entities/admin/Admin.service.js +1 -1
- package/dist/entities/admin/IAdmin.d.ts +2 -0
- package/dist/entities/pms/pms.service.js +7 -21
- package/dist/issues/Issue.repository.js +37 -2
- package/dist/issues/issue.types.d.ts +5 -0
- package/package.json +1 -1
- package/dist/admin/Admin.repository.d.ts +0 -7
- package/dist/admin/Admin.service.d.ts +0 -5
- package/dist/admin/index.d.ts +0 -1
- package/dist/alerts/AlertBuilder.example.d.ts +0 -11
- package/dist/alerts/AlertService.example.d.ts +0 -55
- package/dist/audit/AuditProperties.d.ts +0 -16
- package/dist/chronicle/Cronicle.service.d.ts +0 -9
- package/dist/chronicle/IChronicle.interface.d.ts +0 -14
- package/dist/chronicle/ICronicle.interface.d.ts +0 -15
- package/dist/chronicle/chronicle.service.d.ts +0 -4
- package/dist/chronicle/index.d.ts +0 -2
- package/dist/connection/Connection.repository.d.ts +0 -8
- package/dist/connection/Connection.service.d.ts +0 -8
- package/dist/connection/IConnection.d.ts +0 -28
- package/dist/connection/index.d.ts +0 -2
- package/dist/copilotQueue/examples/CopilotQueue.example.d.ts +0 -37
- package/dist/copilotQueue/examples/index.d.ts +0 -1
- package/dist/device/cloud/entities/CloudConnection.d.ts +0 -6
- package/dist/device/cloud/entities/CloudDevice.d.ts +0 -16
- package/dist/device/cloud/entities/CloudDeviceService.d.ts +0 -5
- package/dist/device/cloud/entities/DeviceFactory.d.ts +0 -7
- package/dist/device/cloud/entities/index.d.ts +0 -3
- package/dist/device/cloud/interface.d.ts +0 -101
- package/dist/device/cloud/interfaces/ICloudConnection.d.ts +0 -5
- package/dist/device/cloud/interfaces/ICloudDevice.d.ts +0 -9
- package/dist/device/cloud/interfaces/ICloudDeviceService.d.ts +0 -4
- package/dist/device/cloud/interfaces/IConnectionService.d.ts +0 -7
- package/dist/device/cloud/interfaces/IDeviceConnectionService.d.ts +0 -7
- package/dist/device/cloud/interfaces/IDeviceFactory.d.ts +0 -4
- package/dist/device/cloud/interfaces/IDeviceService.d.ts +0 -8
- package/dist/device/cloud/interfaces/IDevicesService.d.ts +0 -9
- package/dist/device/cloud/interfaces/IHubService.d.ts +0 -5
- package/dist/device/cloud/interfaces/IRawDataTransformer.d.ts +0 -4
- package/dist/device/cloud/interfaces/IRawDevice.d.ts +0 -17
- package/dist/device/cloud/interfaces/index.d.ts +0 -5
- package/dist/device/cloud/services/CloudDevice.service.d.ts +0 -5
- package/dist/device/cloud/services/Connection.service.d.ts +0 -8
- package/dist/device/cloud/services/Device.service.d.ts +0 -39
- package/dist/device/cloud/services/DeviceCloudService.d.ts +0 -42
- package/dist/device/cloud/services/DeviceHub.service.d.ts +0 -3
- package/dist/device/cloud/services/Hub.service.d.ts +0 -25
- package/dist/device/cloud/services/SmartThingsDeviceService.d.ts +0 -38
- package/dist/device/cloud/services/SmartThingsDeviceService.js +0 -52
- package/dist/device/cloud/services/index.d.ts +0 -2
- package/dist/device/cloud/types.d.ts +0 -52
- package/dist/device/cloud/types.js +0 -15
- package/dist/device/index.d.ts +0 -4
- package/dist/device/local/entities/AlertBuilder.d.ts +0 -87
- package/dist/device/local/entities/AlertBuilder.example.d.ts +0 -11
- package/dist/device/local/entities/IssueBuilder.d.ts +0 -109
- package/dist/device/local/entities/IssueBuilder.example.d.ts +0 -16
- package/dist/device/local/entities/IssueBuilder.example.js +0 -196
- package/dist/device/local/entities/IssueBuilder.js +0 -237
- package/dist/device/local/entities/index.d.ts +0 -2
- package/dist/device/local/events/EventHandler.d.ts +0 -11
- package/dist/device/local/events/Events.d.ts +0 -54
- package/dist/device/local/events/index.d.ts +0 -2
- package/dist/device/local/handler/EventHandler.d.ts +0 -7
- package/dist/device/local/interface.d.ts +0 -0
- package/dist/device/local/interfaces/IConnection.d.ts +0 -26
- package/dist/device/local/interfaces/IDevice.d.ts +0 -68
- package/dist/device/local/interfaces/IDtDevice.d.ts +0 -16
- package/dist/device/local/interfaces/IHub.d.ts +0 -46
- package/dist/device/local/interfaces/IProperty.d.ts +0 -29
- package/dist/device/local/interfaces/ISchedule.d.ts +0 -25
- package/dist/device/local/interfaces/index.d.ts +0 -3
- package/dist/device/local/models/Alert.model.d.ts +0 -28
- package/dist/device/local/models/Issue.model.d.ts +0 -28
- package/dist/device/local/repository/Alert.repository.d.ts +0 -106
- package/dist/device/local/repository/Connection.repository.d.ts +0 -8
- package/dist/device/local/repository/Device.repository.d.ts +0 -30
- package/dist/device/local/repository/Hub.repository.d.ts +0 -13
- package/dist/device/local/repository/Issue.repository.d.ts +0 -113
- package/dist/device/local/repository/Property.repository.d.ts +0 -8
- package/dist/device/local/repository/Property.repository.js +0 -95
- package/dist/device/local/repository/Schedule.repository.d.ts +0 -9
- package/dist/device/local/repository/Schedule.repository.js +0 -109
- package/dist/device/local/services/Alert.service.d.ts +0 -137
- package/dist/device/local/services/AlertService.example.d.ts +0 -55
- package/dist/device/local/services/Connection.service.d.ts +0 -8
- package/dist/device/local/services/Device.service.d.ts +0 -40
- package/dist/device/local/services/DeviceHub.service.d.ts +0 -11
- package/dist/device/local/services/Hub.service.d.ts +0 -12
- package/dist/device/local/services/Issue.service.d.ts +0 -168
- package/dist/device/local/services/Issue.service.js +0 -642
- package/dist/device/local/services/IssueService.example.d.ts +0 -68
- package/dist/device/local/services/IssueService.example.js +0 -177
- package/dist/device/local/services/Property.service.d.ts +0 -8
- package/dist/device/local/services/Property.service.js +0 -36
- package/dist/device/local/services/Schedule.service.d.ts +0 -9
- package/dist/device/local/services/Schedule.service.js +0 -26
- package/dist/device/local/services/index.d.ts +0 -3
- package/dist/entities/accessGroup/AccessGroup.repository.d.ts +0 -5
- package/dist/entities/accessGroup/AccessGroup.service.d.ts +0 -5
- package/dist/entities/accessGroup/IAccessGroup.d.ts +0 -14
- package/dist/entities/accessGroup/index.d.ts +0 -2
- package/dist/entities/device/local/repository/DeviceProfile.repository.d.ts +0 -5
- package/dist/entities/guest/Guest.repository.d.ts +0 -6
- package/dist/entities/guest/Guest.service.d.ts +0 -6
- package/dist/entities/guest/IGuest.d.ts +0 -12
- package/dist/entities/guest/index.d.ts +0 -2
- package/dist/entities/schedules/ISchedule.d.ts +0 -14
- package/dist/entities/schedules/Schedule.repository.d.ts +0 -6
- package/dist/entities/schedules/Schedule.repository.js +0 -74
- package/dist/entities/schedules/Schedule.service.d.ts +0 -6
- package/dist/entities/schedules/Schedule.service.js +0 -104
- package/dist/entities/schedules/index.d.ts +0 -2
- package/dist/entities/user/IUser.d.ts +0 -15
- package/dist/entities/user/IUser.js +0 -2
- package/dist/entities/user/User.repository.d.ts +0 -5
- package/dist/entities/user/User.repository.js +0 -68
- package/dist/entities/user/User.service.d.ts +0 -6
- package/dist/entities/user/User.service.js +0 -103
- package/dist/entities/zone/IZone.d.ts +0 -10
- package/dist/entities/zone/IZone.js +0 -2
- package/dist/entities/zone/Zone.repository.d.ts +0 -6
- package/dist/entities/zone/Zone.repository.js +0 -77
- package/dist/entities/zone/Zone.service.d.ts +0 -6
- package/dist/entities/zone/Zone.service.js +0 -104
- package/dist/entities/zone/index.d.ts +0 -2
- package/dist/issues/IssueBuilder.example.d.ts +0 -16
- package/dist/issues/IssueBuilder.example.js +0 -196
- package/dist/issues/IssueService.example.d.ts +0 -68
- package/dist/issues/IssueService.example.js +0 -292
- package/dist/pms/IPms.d.ts +0 -6
- package/dist/pms/index.d.ts +0 -1
- package/dist/pms/webhookQueue/examples/index.d.ts +0 -2
- package/dist/pms/webhookQueue/examples/pms-integration.d.ts +0 -65
- package/dist/pms/webhookQueue/examples/pms-integration.js +0 -254
- package/dist/pms/webhookQueue/examples/usage.d.ts +0 -7
- package/dist/pms/webhookQueue/examples/usage.js +0 -175
- package/dist/pms/webhookQueue/index.d.ts +0 -3
- package/dist/pms/webhookQueue/interfaces/IWebhookQueue.d.ts +0 -33
- package/dist/pms/webhookQueue/interfaces/IWebhookQueue.js +0 -2
- package/dist/pms/webhookQueue/interfaces/IWebhookWorker.d.ts +0 -38
- package/dist/pms/webhookQueue/interfaces/IWebhookWorker.js +0 -2
- package/dist/pms/webhookQueue/interfaces/index.d.ts +0 -1
- package/dist/pms/webhookQueue/services/WebhookQueueFactory.d.ts +0 -38
- package/dist/pms/webhookQueue/services/WebhookQueueFactory.js +0 -131
- package/dist/pms/webhookQueue/services/WebhookQueueIntegration.d.ts +0 -70
- package/dist/pms/webhookQueue/services/WebhookQueueIntegration.js +0 -207
- package/dist/pms/webhookQueue/services/WebhookQueueService.d.ts +0 -45
- package/dist/pms/webhookQueue/services/WebhookQueueService.js +0 -270
- package/dist/pms/webhookQueue/services/WebhookWorker.d.ts +0 -37
- package/dist/pms/webhookQueue/services/WebhookWorker.js +0 -201
- package/dist/pms/webhookQueue/services/index.d.ts +0 -1
- package/dist/pms/webhookQueue/types/index.d.ts +0 -1
- package/dist/pms/webhookQueue/types/webhook.types.d.ts +0 -39
- package/dist/pms/webhookQueue/types/webhook.types.js +0 -2
- package/dist/property/IProperty.d.ts +0 -29
- package/dist/property/Property.repository.d.ts +0 -8
- package/dist/property/Property.repository.js +0 -109
- package/dist/property/Property.service.d.ts +0 -8
- package/dist/property/Property.service.js +0 -124
- package/dist/property/index.d.ts +0 -2
- package/dist/queue/interfaces/IHttpRequestJob.d.ts +0 -9
- package/dist/types/alert.types.d.ts +0 -57
- package/dist/types/config.types.d.ts +0 -19
- package/dist/types/index.d.ts +0 -3
- package/dist/types/issue.types.d.ts +0 -90
- package/dist/types/issue.types.js +0 -40
- package/dist/utils/http-utils.d.ts +0 -13
|
@@ -99,6 +99,7 @@ let AdminService = (() => {
|
|
|
99
99
|
return await this.adminRepository.getZonesByAccessGroups(accessGroupIds, type);
|
|
100
100
|
}
|
|
101
101
|
catch (error) {
|
|
102
|
+
console.log(error);
|
|
102
103
|
return [];
|
|
103
104
|
}
|
|
104
105
|
}
|
|
@@ -295,7 +296,6 @@ let AdminService = (() => {
|
|
|
295
296
|
return await this.adminRepository.getAccessGroups(propertyId, accessibleBy);
|
|
296
297
|
}
|
|
297
298
|
async getChildCollectionsByParentIds(parentIds) {
|
|
298
|
-
console.log("parentIds for collection heirarchy:----->", parentIds);
|
|
299
299
|
return await this.adminRepository.getChildCollectionsByParentIds(parentIds);
|
|
300
300
|
}
|
|
301
301
|
async deleteAllCollectionHierarchy(propertyId, source) {
|
|
@@ -6,6 +6,7 @@ export interface IAccessGroup {
|
|
|
6
6
|
type: string;
|
|
7
7
|
externalId?: string;
|
|
8
8
|
refId?: string;
|
|
9
|
+
isActive: boolean;
|
|
9
10
|
isDeleted: boolean;
|
|
10
11
|
createdBy: string;
|
|
11
12
|
createdAt: Date;
|
|
@@ -20,6 +21,7 @@ export interface IZoneAccessGroup {
|
|
|
20
21
|
export interface IZone {
|
|
21
22
|
id: string;
|
|
22
23
|
name: string;
|
|
24
|
+
isActive: boolean;
|
|
23
25
|
propertyId: string;
|
|
24
26
|
parentId?: string;
|
|
25
27
|
zoneTypeId: string;
|
|
@@ -149,30 +149,16 @@ let PmsService = (() => {
|
|
|
149
149
|
return false;
|
|
150
150
|
}
|
|
151
151
|
const orderedAccessGroups = [...scheduleAccessGroups].sort((a, b) => new Date(a.startTime).getTime() - new Date(b.startTime).getTime());
|
|
152
|
+
// First entry new code should be assigned
|
|
152
153
|
if (orderedAccessGroups.length < 2) {
|
|
153
154
|
return false;
|
|
154
155
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
// If no occurrence found, return false
|
|
164
|
-
if (lastOccurrenceIndex === -1) {
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
// If it's the first element, it's the first occurrence (needs new code)
|
|
168
|
-
if (lastOccurrenceIndex === 0) {
|
|
169
|
-
return false;
|
|
170
|
-
}
|
|
171
|
-
const previousElement = orderedAccessGroups[lastOccurrenceIndex - 1];
|
|
172
|
-
// Check if the previous element is also the same accessGroupId
|
|
173
|
-
// If yes, the last occurrence can reuse the code (consecutive in sequence)
|
|
174
|
-
// This allows code reuse even with gaps or overlaps, as long as they're the same accessGroupId
|
|
175
|
-
return previousElement.accessGroupId === accessGroupId;
|
|
156
|
+
const last = orderedAccessGroups?.at(-1);
|
|
157
|
+
const secondLast = orderedAccessGroups?.at(-2);
|
|
158
|
+
// True only if last and second last entries are same and equal to accessGroupId
|
|
159
|
+
return (last.accessGroupId === accessGroupId &&
|
|
160
|
+
secondLast.accessGroupId === accessGroupId //B A(secondLast) A(last)
|
|
161
|
+
);
|
|
176
162
|
}
|
|
177
163
|
};
|
|
178
164
|
__setFunctionName(_classThis, "PmsService");
|
|
@@ -141,7 +141,25 @@ let IssueRepository = (() => {
|
|
|
141
141
|
const query = this.buildQuery(filters);
|
|
142
142
|
const options = this.buildOptions(filters);
|
|
143
143
|
const results = await Issue_model_1.IssueModel.find(query, null, options);
|
|
144
|
-
|
|
144
|
+
let issues = results?.map((result) => result.toObject()) || [];
|
|
145
|
+
const offlineFilter = filters.filterOfflineLessThan24Hours;
|
|
146
|
+
if (offlineFilter) {
|
|
147
|
+
const cutoff = offlineFilter.createdAt
|
|
148
|
+
? new Date(offlineFilter.createdAt)
|
|
149
|
+
: new Date(Date.now() - 24 * 60 * 60 * 1000);
|
|
150
|
+
if (!Number.isNaN(cutoff.getTime())) {
|
|
151
|
+
issues = issues.filter((issue) => {
|
|
152
|
+
const issueCreatedAt = new Date(issue.createdAt);
|
|
153
|
+
if (Number.isNaN(issueCreatedAt.getTime()))
|
|
154
|
+
return true;
|
|
155
|
+
const matchesType = issue.type === offlineFilter.type;
|
|
156
|
+
const matchesSubType = issue.entitySubType === offlineFilter.subType;
|
|
157
|
+
const isOlderThanCutoff = issueCreatedAt < cutoff;
|
|
158
|
+
return !(matchesType && matchesSubType && isOlderThanCutoff);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return issues;
|
|
145
163
|
}
|
|
146
164
|
catch (error) {
|
|
147
165
|
throw new Error(`Failed to find issues: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -193,7 +211,24 @@ let IssueRepository = (() => {
|
|
|
193
211
|
async count(filters = {}) {
|
|
194
212
|
try {
|
|
195
213
|
const query = this.buildQuery(filters);
|
|
196
|
-
|
|
214
|
+
let total = await Issue_model_1.IssueModel.countDocuments(query);
|
|
215
|
+
const offlineFilter = filters.filterOfflineLessThan24Hours;
|
|
216
|
+
if (offlineFilter) {
|
|
217
|
+
const cutoff = offlineFilter.createdAt
|
|
218
|
+
? new Date(offlineFilter.createdAt)
|
|
219
|
+
: new Date(Date.now() - 24 * 60 * 60 * 1000);
|
|
220
|
+
if (!Number.isNaN(cutoff.getTime())) {
|
|
221
|
+
const excludeQuery = {
|
|
222
|
+
...query,
|
|
223
|
+
type: offlineFilter.type,
|
|
224
|
+
entitySubType: offlineFilter.subType,
|
|
225
|
+
createdAt: { $lt: cutoff },
|
|
226
|
+
};
|
|
227
|
+
const excludeCount = await Issue_model_1.IssueModel.countDocuments(excludeQuery);
|
|
228
|
+
total = Math.max(0, total - excludeCount);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return total;
|
|
197
232
|
}
|
|
198
233
|
catch (error) {
|
|
199
234
|
throw new Error(`Failed to count issues: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
@@ -180,6 +180,11 @@ export interface IIssueQuery {
|
|
|
180
180
|
includeDeleted?: boolean;
|
|
181
181
|
startDate?: string;
|
|
182
182
|
endDate?: string;
|
|
183
|
+
filterOfflineLessThan24Hours?: {
|
|
184
|
+
type: IssueType;
|
|
185
|
+
subType: EntitySubType;
|
|
186
|
+
createdAt?: string | Date;
|
|
187
|
+
};
|
|
183
188
|
limit?: number;
|
|
184
189
|
skip?: number;
|
|
185
190
|
sort?: {
|
package/package.json
CHANGED
package/dist/admin/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./Admin.service";
|
|
@@ -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("./alert.types").CreateAlertData;
|
|
6
|
-
export declare function createDeviceAlert(): import("./alert.types").CreateAlertData;
|
|
7
|
-
export declare function createSecurityAlert(): import("./alert.types").CreateAlertData;
|
|
8
|
-
export declare function createEnergyAlert(): import("./alert.types").CreateAlertData;
|
|
9
|
-
export declare function createHubAlert(): import("./alert.types").CreateAlertData;
|
|
10
|
-
export declare function createSnoozedAlert(): import("./alert.types").CreateAlertData;
|
|
11
|
-
export declare function createMultipleAlerts(): import("./alert.types").CreateAlertData[];
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { AlertService } from "./Alert.service";
|
|
2
|
-
/**
|
|
3
|
-
* Example usage of the updated AlertService with AlertBuilder integration
|
|
4
|
-
* This file demonstrates various ways to use the AlertService with the new AlertBuilder
|
|
5
|
-
*/
|
|
6
|
-
export declare class AlertServiceExample {
|
|
7
|
-
private readonly alertService;
|
|
8
|
-
constructor(alertService: AlertService);
|
|
9
|
-
/**
|
|
10
|
-
* Example 1: Using the updated createAlert method with AlertBuilder
|
|
11
|
-
*/
|
|
12
|
-
createAlertWithBuilder(): Promise<import("./alert.types").AlertDocument>;
|
|
13
|
-
/**
|
|
14
|
-
* Example 2: Using convenience methods for specific alert types
|
|
15
|
-
*/
|
|
16
|
-
createSpecificAlerts(): Promise<{
|
|
17
|
-
readinessAlert: import("./alert.types").AlertDocument;
|
|
18
|
-
operationsAlert: import("./alert.types").AlertDocument;
|
|
19
|
-
securityAlert: import("./alert.types").AlertDocument;
|
|
20
|
-
energyAlert: import("./alert.types").AlertDocument;
|
|
21
|
-
}>;
|
|
22
|
-
/**
|
|
23
|
-
* Example 3: Using device-specific alert methods
|
|
24
|
-
*/
|
|
25
|
-
createDeviceAlerts(): Promise<{
|
|
26
|
-
deviceAlert1: import("./alert.types").AlertDocument;
|
|
27
|
-
deviceAlert2: import("./alert.types").AlertDocument;
|
|
28
|
-
}>;
|
|
29
|
-
/**
|
|
30
|
-
* Example 4: Using hub-specific alert methods
|
|
31
|
-
*/
|
|
32
|
-
createHubAlerts(): Promise<{
|
|
33
|
-
hubAlert1: import("./alert.types").AlertDocument;
|
|
34
|
-
hubAlert2: import("./alert.types").AlertDocument;
|
|
35
|
-
}>;
|
|
36
|
-
/**
|
|
37
|
-
* Example 5: Using static factory methods with AlertBuilder
|
|
38
|
-
*/
|
|
39
|
-
createAlertsWithStaticMethods(): Promise<{
|
|
40
|
-
alert1: import("./alert.types").AlertDocument;
|
|
41
|
-
alert2: import("./alert.types").AlertDocument;
|
|
42
|
-
}>;
|
|
43
|
-
/**
|
|
44
|
-
* Example 6: Creating multiple alerts efficiently
|
|
45
|
-
*/
|
|
46
|
-
createMultipleAlerts(): Promise<import("./alert.types").AlertDocument[]>;
|
|
47
|
-
/**
|
|
48
|
-
* Example 7: Creating alerts with snooze functionality
|
|
49
|
-
*/
|
|
50
|
-
createSnoozedAlert(): Promise<import("./alert.types").AlertDocument>;
|
|
51
|
-
/**
|
|
52
|
-
* Example 8: Backward compatibility - still works with CreateAlertData
|
|
53
|
-
*/
|
|
54
|
-
createAlertWithLegacyData(): Promise<import("./alert.types").AlertDocument>;
|
|
55
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface AuditProperties {
|
|
2
|
-
resource: string;
|
|
3
|
-
propertyId: string;
|
|
4
|
-
propertyName?: string;
|
|
5
|
-
userId?: string;
|
|
6
|
-
userName?: string;
|
|
7
|
-
deviceId?: string;
|
|
8
|
-
deviceName?: string;
|
|
9
|
-
zoneId?: string;
|
|
10
|
-
zoneName?: string;
|
|
11
|
-
accessGroupId?: string;
|
|
12
|
-
accessGroupName?: string;
|
|
13
|
-
scheduleId?: string;
|
|
14
|
-
scheduleName?: string;
|
|
15
|
-
[key: string]: any;
|
|
16
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ICronicle } from "./ICronicle.interface";
|
|
2
|
-
export declare class CronicleService {
|
|
3
|
-
private cronicleEndpoint;
|
|
4
|
-
private cronicleApiKey;
|
|
5
|
-
constructor();
|
|
6
|
-
registerJob(payload: ICronicle): Promise<void>;
|
|
7
|
-
getJob(jobId: string): Promise<any>;
|
|
8
|
-
deleteJob(jobId: string): Promise<void>;
|
|
9
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface ICronicle {
|
|
2
|
-
name: string;
|
|
3
|
-
cronJobId: string;
|
|
4
|
-
apiUrl: string;
|
|
5
|
-
method: "POST";
|
|
6
|
-
target: string;
|
|
7
|
-
schedule: {
|
|
8
|
-
years?: number[];
|
|
9
|
-
months?: number[];
|
|
10
|
-
days?: number[];
|
|
11
|
-
weekdays?: number[];
|
|
12
|
-
hours?: number[];
|
|
13
|
-
minutes?: number[];
|
|
14
|
-
};
|
|
15
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IConnection } from "./IConnection";
|
|
2
|
-
export declare class ConnectionRepository {
|
|
3
|
-
private readonly pool;
|
|
4
|
-
constructor();
|
|
5
|
-
createConnection(data: Partial<IConnection>): Promise<IConnection>;
|
|
6
|
-
getConnectionById(connectionId: string): Promise<IConnection>;
|
|
7
|
-
updateConnection(connectionId: string, data: Partial<IConnection>): Promise<any>;
|
|
8
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IConnection } from "./IConnection";
|
|
2
|
-
export declare class LocalConnectionService {
|
|
3
|
-
private readonly connectionRepository;
|
|
4
|
-
constructor();
|
|
5
|
-
createConnection(data: Partial<IConnection>): Promise<IConnection>;
|
|
6
|
-
getConnection(connectionId: string): Promise<IConnection>;
|
|
7
|
-
updateConnection(connectionId: string, data: Partial<IConnection>): Promise<IConnection>;
|
|
8
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export interface IConnection {
|
|
2
|
-
id?: string;
|
|
3
|
-
createdAt?: Date;
|
|
4
|
-
updatedAt?: Date;
|
|
5
|
-
isDeleted?: boolean;
|
|
6
|
-
connectionName: string;
|
|
7
|
-
connectionRefId: string;
|
|
8
|
-
propertyId: string;
|
|
9
|
-
connectionProvider: ConnectionProvider;
|
|
10
|
-
accessToken?: string;
|
|
11
|
-
refreshToken?: string;
|
|
12
|
-
clientId?: string;
|
|
13
|
-
clientSecret: string;
|
|
14
|
-
isActive?: boolean;
|
|
15
|
-
metaData?: any;
|
|
16
|
-
}
|
|
17
|
-
export declare enum ConnectionProvider {
|
|
18
|
-
Smartthings = "Smartthings",
|
|
19
|
-
SaltoKS = "SaltoKS",
|
|
20
|
-
TTLock = "TTLock",
|
|
21
|
-
Tuya = "Tuya",
|
|
22
|
-
Schlage = "Schlage",
|
|
23
|
-
YaleWifi = "YaleWifi",
|
|
24
|
-
Sensibo = "Sensibo",
|
|
25
|
-
Devicethread = "Devicethread",
|
|
26
|
-
Dormakaba = "Dormakaba",
|
|
27
|
-
Dusaw = "Dusaw"
|
|
28
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Example usage of CopilotQueueService
|
|
3
|
-
* This demonstrates how to use the queue system to handle API requests with FIFO ordering per property
|
|
4
|
-
*/
|
|
5
|
-
export declare class CopilotQueueExample {
|
|
6
|
-
private copilotQueueService;
|
|
7
|
-
constructor();
|
|
8
|
-
/**
|
|
9
|
-
* Example: Add a simple GET request to the queue
|
|
10
|
-
*/
|
|
11
|
-
addGetRequest(propertyId: string, url: string): Promise<string>;
|
|
12
|
-
/**
|
|
13
|
-
* Example: Add a POST request with body to the queue
|
|
14
|
-
*/
|
|
15
|
-
addPostRequest(propertyId: string, url: string, data: any): Promise<string>;
|
|
16
|
-
/**
|
|
17
|
-
* Example: Add multiple requests for different properties
|
|
18
|
-
* This demonstrates FIFO ordering per property
|
|
19
|
-
*/
|
|
20
|
-
addMultipleRequests(): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Example: Monitor job status
|
|
23
|
-
*/
|
|
24
|
-
monitorJob(jobId: string): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Example: Get all jobs for a specific property
|
|
27
|
-
*/
|
|
28
|
-
getPropertyJobs(propertyId: string): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Example: Cancel a job
|
|
31
|
-
*/
|
|
32
|
-
cancelJob(jobId: string): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Example: Graceful shutdown
|
|
35
|
-
*/
|
|
36
|
-
shutdown(): Promise<void>;
|
|
37
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './CopilotQueue.example';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ICloudConnection } from "../interfaces";
|
|
2
|
-
import { IDeviceAccountResponse, IConnection } from "../types";
|
|
3
|
-
export declare abstract class CloudConnection implements ICloudConnection {
|
|
4
|
-
abstract createConnection(data: IConnection, userId: string): Promise<IConnection>;
|
|
5
|
-
abstract getDeviceAccount(connection: IConnection): Promise<IDeviceAccountResponse>;
|
|
6
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { IDevice } from "../../local/interfaces";
|
|
2
|
-
import { ICloudDevice } from "../interfaces/ICloudDevice";
|
|
3
|
-
import { ICloudDeviceService } from "../interfaces/ICloudDeviceService";
|
|
4
|
-
import { IConnection } from "../../../connection";
|
|
5
|
-
export declare abstract class CloudDevice implements ICloudDevice {
|
|
6
|
-
deviceId: string;
|
|
7
|
-
localDevice?: IDevice;
|
|
8
|
-
connection?: IConnection;
|
|
9
|
-
cloudDeviceService: ICloudDeviceService;
|
|
10
|
-
constructor(device: IDevice, cloudDeviceService: ICloudDeviceService);
|
|
11
|
-
getDevice(connectionId: string, deviceId: string): Promise<Record<string, any>>;
|
|
12
|
-
getBattery(deviceId: string): Promise<number | string>;
|
|
13
|
-
getState(deviceId: string): Promise<string>;
|
|
14
|
-
getStatus(connectionId: string, deviceId: string): Promise<string>;
|
|
15
|
-
toLocalDevice(): Promise<IDevice>;
|
|
16
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IDevice } from "../../local/interfaces";
|
|
2
|
-
import { IDeviceFactory } from "../interfaces/IDeviceFactory";
|
|
3
|
-
export declare class DeviceFactory implements IDeviceFactory {
|
|
4
|
-
private readonly localDeviceService;
|
|
5
|
-
constructor();
|
|
6
|
-
getDevice(deviceId: string): Promise<IDevice>;
|
|
7
|
-
}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { IConnection, IConnectionConnectParams, IDevice, IDeviceAccountResponse, IDeviceCommand, ISmartthingsDeviceCommand, ICommandResponse } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Class interface for device cloud operations and connection management
|
|
4
|
-
*/
|
|
5
|
-
export interface IDeviceCloudService {
|
|
6
|
-
/**
|
|
7
|
-
* Creates a new connection for device management
|
|
8
|
-
* @param data - Connection data
|
|
9
|
-
* @param userId - User identifier
|
|
10
|
-
* @returns Promise with connection result
|
|
11
|
-
*/
|
|
12
|
-
createConnection(data: IConnection, userId: string): Promise<any>;
|
|
13
|
-
/**
|
|
14
|
-
* Gets device account information for a connection
|
|
15
|
-
* @param connection - Connection object
|
|
16
|
-
* @returns Promise with device account response
|
|
17
|
-
*/
|
|
18
|
-
getDeviceAccount(connection: IConnection): Promise<IDeviceAccountResponse>;
|
|
19
|
-
/**
|
|
20
|
-
* Gets all devices for a connection
|
|
21
|
-
* @param connection - Connection object
|
|
22
|
-
* @returns Promise with array of devices
|
|
23
|
-
*/
|
|
24
|
-
getDevices(connection: IConnection): Promise<IDevice[]>;
|
|
25
|
-
/**
|
|
26
|
-
* Filters devices based on connection and device list
|
|
27
|
-
* @param connection - Connection object
|
|
28
|
-
* @param devices - Array of devices to filter
|
|
29
|
-
* @returns Promise with filtered devices
|
|
30
|
-
*/
|
|
31
|
-
filterDevices(connection: IConnection, devices: any[]): Promise<IDevice[]>;
|
|
32
|
-
/**
|
|
33
|
-
* Connects to a device service
|
|
34
|
-
* @param connection - Connection object
|
|
35
|
-
* @param connectionConnect - Connection parameters
|
|
36
|
-
* @returns Promise with connection result
|
|
37
|
-
*/
|
|
38
|
-
connect(connection: IConnection, connectionConnect: IConnectionConnectParams): Promise<any>;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Interface for device command operations
|
|
42
|
-
*/
|
|
43
|
-
export interface IDeviceCommandManager {
|
|
44
|
-
/**
|
|
45
|
-
* Invokes a command on a device
|
|
46
|
-
* @param command - Device command to execute
|
|
47
|
-
* @param deviceId - Device identifier
|
|
48
|
-
* @returns Promise with command response
|
|
49
|
-
*/
|
|
50
|
-
invokeCommand(command: IDeviceCommand, deviceId: string): Promise<ICommandResponse>;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Interface for SmartThings specific device command operations
|
|
54
|
-
*/
|
|
55
|
-
export interface ISmartthingsDeviceCommandManager extends IDeviceCommandManager {
|
|
56
|
-
/**
|
|
57
|
-
* Performs device action for SmartThings
|
|
58
|
-
* @param commands - Array of SmartThings device commands
|
|
59
|
-
* @param deviceId - Device identifier
|
|
60
|
-
* @param accessToken - Access token for authentication
|
|
61
|
-
* @returns Promise with action result
|
|
62
|
-
*/
|
|
63
|
-
performDeviceAction(commands: ISmartthingsDeviceCommand[], deviceId: string, accessToken: string): Promise<any>;
|
|
64
|
-
/**
|
|
65
|
-
* Gets device status for SmartThings
|
|
66
|
-
* @param deviceId - Device identifier
|
|
67
|
-
* @param accessToken - Access token for authentication
|
|
68
|
-
* @returns Promise with device status
|
|
69
|
-
*/
|
|
70
|
-
getDeviceStatus(deviceId: string, accessToken: string): Promise<any>;
|
|
71
|
-
/**
|
|
72
|
-
* Gets device lock status for SmartThings
|
|
73
|
-
* @param deviceId - Device identifier
|
|
74
|
-
* @param accessToken - Access token for authentication
|
|
75
|
-
* @returns Promise with lock status
|
|
76
|
-
*/
|
|
77
|
-
getDeviceLockStatus(deviceId: string, accessToken: string): Promise<any>;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Interface for device command factory
|
|
81
|
-
*/
|
|
82
|
-
export interface IDeviceCommandManagerFactory {
|
|
83
|
-
/**
|
|
84
|
-
* Creates a device command manager for a specific connection provider
|
|
85
|
-
* @param connectionProvider - Connection provider type
|
|
86
|
-
* @param connection - Connection object
|
|
87
|
-
* @returns Device command manager instance
|
|
88
|
-
*/
|
|
89
|
-
createDeviceCommandManager(connectionProvider: string, connection: IConnection): IDeviceCommandManager;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Interface for device command classes
|
|
93
|
-
*/
|
|
94
|
-
export interface IDeviceCommandClass {
|
|
95
|
-
/**
|
|
96
|
-
* Creates a SmartThings device command from a generic device command
|
|
97
|
-
* @param deviceCommand - Generic device command
|
|
98
|
-
* @returns SmartThings device command
|
|
99
|
-
*/
|
|
100
|
-
fromDeviceCommand(deviceCommand: IDeviceCommand): ISmartthingsDeviceCommand;
|
|
101
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ICloudDeviceService } from "./ICloudDeviceService";
|
|
2
|
-
export interface ICloudDevice {
|
|
3
|
-
deviceId: string;
|
|
4
|
-
cloudDeviceService: ICloudDeviceService;
|
|
5
|
-
getDevice(connectionId: string, deviceId: string): Promise<Record<string, any>>;
|
|
6
|
-
getBattery(deviceId: string): Promise<number | string>;
|
|
7
|
-
getState(deviceId: string): Promise<string>;
|
|
8
|
-
getStatus(connectionId: string, deviceId: string): Promise<string>;
|
|
9
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IConnection, IConnectionConnectParams, IDeviceAccountResponse } from "../types";
|
|
2
|
-
export interface IConnectionService {
|
|
3
|
-
createConnection(data: IConnection, userId: string): Promise<any>;
|
|
4
|
-
getDeviceAccount(connection: IConnection): Promise<IDeviceAccountResponse>;
|
|
5
|
-
getDevices(connection: IConnection): Promise<any>;
|
|
6
|
-
connect(connection: IConnection, connectionConnect: IConnectionConnectParams): Promise<any>;
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IConnection, IConnectionConnectParams, IDeviceAccountResponse } from "../types";
|
|
2
|
-
export interface IDeviceConnectionService {
|
|
3
|
-
createConnection(data: IConnection, userId: string): Promise<any>;
|
|
4
|
-
getDeviceAccount(connection: IConnection): Promise<IDeviceAccountResponse>;
|
|
5
|
-
getDevices(connection: IConnection): Promise<any>;
|
|
6
|
-
connect(connection: IConnection, connectionConnect: IConnectionConnectParams): Promise<any>;
|
|
7
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IConnection } from "../types";
|
|
2
|
-
export interface IDeviceService {
|
|
3
|
-
getDevices(connection: IConnection): Promise<Record<string, any>[]>;
|
|
4
|
-
getDevice(connectionId: string, deviceId: string): Promise<Record<string, any>>;
|
|
5
|
-
getBattery(deviceId: string): Promise<number | string>;
|
|
6
|
-
getState(deviceId: string): Promise<string>;
|
|
7
|
-
getStatus(connectionId: string, deviceId: string): Promise<string>;
|
|
8
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IConnection } from "../types";
|
|
2
|
-
export interface IDeviceService {
|
|
3
|
-
getDevices(connection: IConnection): Promise<Record<string, any>[]>;
|
|
4
|
-
getDevice(connectionId: string, deviceId: string): Promise<Record<string, any>>;
|
|
5
|
-
getStatus(connectionId: string, deviceId: string): Promise<string | null>;
|
|
6
|
-
getState(deviceId: string): Promise<Record<string, any>>;
|
|
7
|
-
getGateways(connectionId: string): Promise<any[] | null>;
|
|
8
|
-
getGatewayDetails(connectionId: string, gatewayId: string): Promise<any>;
|
|
9
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { IConnection } from "../../../connection";
|
|
2
|
-
export declare enum DeviceType {
|
|
3
|
-
HUB = "HUB",
|
|
4
|
-
LOCK = "LOCK",
|
|
5
|
-
ELEVATOR_LOCK = "ELEVATOR LOCK",
|
|
6
|
-
THERMOSTAT = "THERMOSTAT",
|
|
7
|
-
TV = "TV"
|
|
8
|
-
}
|
|
9
|
-
export interface IRawDevice {
|
|
10
|
-
deviceId?: string;
|
|
11
|
-
deviceType: DeviceType;
|
|
12
|
-
name?: string;
|
|
13
|
-
connection: IConnection;
|
|
14
|
-
propertyId: string;
|
|
15
|
-
zoneId: string;
|
|
16
|
-
[key: string]: any;
|
|
17
|
-
}
|