dt-common-device 13.1.10 → 13.2.1
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/alerts/Alert.service.js +21 -0
- package/dist/alerts/alert.types.d.ts +16 -0
- package/dist/alerts/alert.types.js +17 -1
- package/dist/issues/Issue.service.js +24 -3
- package/dist/issues/issue.types.d.ts +15 -0
- package/dist/issues/issue.types.js +16 -1
- 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
|
@@ -80,6 +80,7 @@ const AlertBuilder_1 = require("./AlertBuilder");
|
|
|
80
80
|
const constants_1 = require("../constants");
|
|
81
81
|
const issues_1 = require("../issues");
|
|
82
82
|
const audit_1 = require("../audit");
|
|
83
|
+
const property_1 = require("../entities/property");
|
|
83
84
|
let AlertService = (() => {
|
|
84
85
|
let _classDecorators = [(0, typedi_1.Service)()];
|
|
85
86
|
let _classDescriptor;
|
|
@@ -428,6 +429,26 @@ let AlertService = (() => {
|
|
|
428
429
|
});
|
|
429
430
|
return null;
|
|
430
431
|
}
|
|
432
|
+
const preferences = await typedi_1.default.get(property_1.LocalPropertyService).getPropertyPreferences(processedAlertData.propertyId, [
|
|
433
|
+
"alertsAndIssues",
|
|
434
|
+
]);
|
|
435
|
+
const disabledAlertsAndIssues = preferences?.settings?.alertsAndIssues?.disabled;
|
|
436
|
+
// Check if the property has the alertsAndIssues preferences set, if no, skip the check and create the alert
|
|
437
|
+
const isAlertDisabled = disabledAlertsAndIssues &&
|
|
438
|
+
processedAlertData.type &&
|
|
439
|
+
disabledAlertsAndIssues?.includes(processedAlertData.type);
|
|
440
|
+
if (isAlertDisabled) {
|
|
441
|
+
(0, audit_1.pushAudit)({
|
|
442
|
+
auditType: constants_1.DT_EVENT_TYPES.ALERT.CREATE.SKIPPED,
|
|
443
|
+
auditData: {
|
|
444
|
+
reason: "Alert type is disabled",
|
|
445
|
+
resource: audit_1.Resource.ALERT,
|
|
446
|
+
source: constants_1.Source.SYSTEM,
|
|
447
|
+
...processedAlertData,
|
|
448
|
+
},
|
|
449
|
+
});
|
|
450
|
+
return null;
|
|
451
|
+
}
|
|
431
452
|
const alert = await this.alertRepository.create(processedAlertData);
|
|
432
453
|
(0, audit_1.pushAudit)({
|
|
433
454
|
auditType: constants_1.DT_EVENT_TYPES.ALERT.CREATE.SUCCESS,
|
|
@@ -27,6 +27,22 @@ export declare enum AlertType {
|
|
|
27
27
|
ZONE_NOT_MAPPED_TO_ACCESS_GROUP = "ZONE_NOT_MAPPED_TO_ACCESS_GROUP",
|
|
28
28
|
INCORRECT_CODE_USED = "INCORRECT_CODE_USED"
|
|
29
29
|
}
|
|
30
|
+
export declare const AlertDescriptions: {
|
|
31
|
+
ACCOUNT_NEW_DEVICE: string;
|
|
32
|
+
DEVICE_TAMPER_ATTEMPT: string;
|
|
33
|
+
DOOR_LEFT_OPEN: string;
|
|
34
|
+
DOOR_OPEN_FREQUENT: string;
|
|
35
|
+
DOOR_OPEN_OUTSIDE_BIZ_HOURS: string;
|
|
36
|
+
LOCK_ACCESS_EMERGENCY_CODE: string;
|
|
37
|
+
LOCK_ACCESS_MASTER_CODE: string;
|
|
38
|
+
LOCK_ACCESS_EMERGENCY_RFID: string;
|
|
39
|
+
LOCK_ACCESS_MASTER_RFID: string;
|
|
40
|
+
SPECIFIC_DOOR_ACCESS: string;
|
|
41
|
+
GUEST_LOCK_FIRST_ACCESS: string;
|
|
42
|
+
DEVICE_ONLINE: string;
|
|
43
|
+
ZONE_NOT_MAPPED_TO_ACCESS_GROUP: string;
|
|
44
|
+
INCORRECT_CODE_USED: string;
|
|
45
|
+
};
|
|
30
46
|
export interface AlertDocument {
|
|
31
47
|
_id: string;
|
|
32
48
|
id: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntityType = exports.AlertType = exports.AlertSeverity = exports.AlertCategory = void 0;
|
|
3
|
+
exports.EntityType = exports.AlertDescriptions = exports.AlertType = exports.AlertSeverity = exports.AlertCategory = void 0;
|
|
4
4
|
var AlertCategory;
|
|
5
5
|
(function (AlertCategory) {
|
|
6
6
|
AlertCategory["OPERATIONS"] = "OPERATIONS";
|
|
@@ -32,6 +32,22 @@ var AlertType;
|
|
|
32
32
|
AlertType["ZONE_NOT_MAPPED_TO_ACCESS_GROUP"] = "ZONE_NOT_MAPPED_TO_ACCESS_GROUP";
|
|
33
33
|
AlertType["INCORRECT_CODE_USED"] = "INCORRECT_CODE_USED";
|
|
34
34
|
})(AlertType || (exports.AlertType = AlertType = {}));
|
|
35
|
+
exports.AlertDescriptions = {
|
|
36
|
+
[AlertType.ACCOUNT_NEW_DEVICE]: "The alert is raised when system detects a new device in the device cloud account.",
|
|
37
|
+
[AlertType.DEVICE_TAMPER_ATTEMPT]: "The alert is raised when system detects a tamper attempt on the device.",
|
|
38
|
+
[AlertType.DOOR_LEFT_OPEN]: "The alert is raised when door is left open for more than configured time.",
|
|
39
|
+
[AlertType.DOOR_OPEN_FREQUENT]: "The alert is raised when the door is opened frequently in the last configured time.",
|
|
40
|
+
[AlertType.DOOR_OPEN_OUTSIDE_BIZ_HOURS]: "The alert is raised when the door is opened outside configured business hours.",
|
|
41
|
+
[AlertType.LOCK_ACCESS_EMERGENCY_CODE]: "The alert is raised when system detects that the emergency code is used.",
|
|
42
|
+
[AlertType.LOCK_ACCESS_MASTER_CODE]: "The alert is raised when system detects that the master code is used.",
|
|
43
|
+
[AlertType.LOCK_ACCESS_EMERGENCY_RFID]: "The alert is raised when system detects that the emergency RFID card is used.",
|
|
44
|
+
[AlertType.LOCK_ACCESS_MASTER_RFID]: "The alert is raised when system detects that the master RFID card is used.",
|
|
45
|
+
[AlertType.SPECIFIC_DOOR_ACCESS]: "The alert is raised when a specific door is accessed.",
|
|
46
|
+
[AlertType.GUEST_LOCK_FIRST_ACCESS]: "The alert is raised when guest accesses the lock for the first time.",
|
|
47
|
+
[AlertType.DEVICE_ONLINE]: "The alert is raised when device comes online.",
|
|
48
|
+
[AlertType.ZONE_NOT_MAPPED_TO_ACCESS_GROUP]: "The alert is raised when a zone is not mapped to an access group.",
|
|
49
|
+
[AlertType.INCORRECT_CODE_USED]: "The alert is raised when user uses the incorrect code on the device.",
|
|
50
|
+
};
|
|
35
51
|
// Re-export EntityType from issue.types.ts to avoid duplication
|
|
36
52
|
var issue_types_1 = require("../issues/issue.types");
|
|
37
53
|
Object.defineProperty(exports, "EntityType", { enumerable: true, get: function () { return issue_types_1.EntityType; } });
|
|
@@ -82,6 +82,7 @@ const Admin_service_1 = require("../entities/admin/Admin.service");
|
|
|
82
82
|
const audit_1 = require("../audit");
|
|
83
83
|
const constants_1 = require("../constants");
|
|
84
84
|
const dt_pub_sub_1 = require("dt-pub-sub");
|
|
85
|
+
const property_1 = require("../entities/property");
|
|
85
86
|
let IssueService = (() => {
|
|
86
87
|
let _classDecorators = [(0, typedi_1.Service)()];
|
|
87
88
|
let _classDescriptor;
|
|
@@ -417,6 +418,26 @@ let IssueService = (() => {
|
|
|
417
418
|
});
|
|
418
419
|
return null;
|
|
419
420
|
}
|
|
421
|
+
const preferences = await typedi_1.default.get(property_1.LocalPropertyService).getPropertyPreferences(processedIssueData.propertyId, [
|
|
422
|
+
"alertsAndIssues",
|
|
423
|
+
]);
|
|
424
|
+
const disabledAlertsAndIssues = preferences?.settings?.alertsAndIssues?.disabled;
|
|
425
|
+
// Check if the property has the alertsAndIssues preferences set, if no, skip the check and create the issue
|
|
426
|
+
const isIssueDisabled = disabledAlertsAndIssues &&
|
|
427
|
+
processedIssueData.type &&
|
|
428
|
+
disabledAlertsAndIssues?.includes(processedIssueData.type);
|
|
429
|
+
if (isIssueDisabled) {
|
|
430
|
+
(0, audit_1.pushAudit)({
|
|
431
|
+
auditType: constants_1.DT_EVENT_TYPES.ISSUE.CREATE.SKIPPED,
|
|
432
|
+
auditData: {
|
|
433
|
+
reason: "Issue type is disabled",
|
|
434
|
+
resource: audit_1.Resource.ISSUE,
|
|
435
|
+
source: Service_1.Source.SYSTEM,
|
|
436
|
+
...processedIssueData,
|
|
437
|
+
},
|
|
438
|
+
});
|
|
439
|
+
return null;
|
|
440
|
+
}
|
|
420
441
|
const issue = await this.issueRepository.create(processedIssueData);
|
|
421
442
|
(0, audit_1.pushAudit)({
|
|
422
443
|
auditType: constants_1.DT_EVENT_TYPES.ISSUE.CREATE.SUCCESS,
|
|
@@ -759,7 +780,7 @@ let IssueService = (() => {
|
|
|
759
780
|
// Log the action for audit purposes
|
|
760
781
|
//console.log(`Issue ${issue.id} has been ${action}ed by ${updatedBy}`);
|
|
761
782
|
await dt_pub_sub_1.eventDispatcher.publishEvent(auditType, updatedIssue, "dt-common-device");
|
|
762
|
-
|
|
783
|
+
(0, audit_1.pushAudit)({
|
|
763
784
|
auditType: auditType,
|
|
764
785
|
auditData: {
|
|
765
786
|
resource: audit_1.Resource.ISSUE,
|
|
@@ -834,8 +855,8 @@ let IssueService = (() => {
|
|
|
834
855
|
const responseTime = this.calculateAverageResponseTime(stats);
|
|
835
856
|
const resolutionRate = this.calculateResolutionRate(stats);
|
|
836
857
|
// Log resolution rate for monitoring
|
|
837
|
-
|
|
838
|
-
|
|
858
|
+
console.log(`Resolution rate: ${resolutionRate.toFixed(2)}%`);
|
|
859
|
+
console.log(`Response time: ${responseTime.toFixed(2)} days`);
|
|
839
860
|
// Business logic: Add alerts for critical metrics
|
|
840
861
|
if (stats.overdue > 0) {
|
|
841
862
|
console.warn(`Alert: ${stats.overdue} overdue issues detected`);
|
|
@@ -87,6 +87,21 @@ export declare enum IssueType {
|
|
|
87
87
|
SCHEDULE_CODE_NOT_ASSIGNED = "SCHEDULE_CODE_NOT_ASSIGNED",
|
|
88
88
|
MISSING_ACCESS_GROUP = "MISSING_ACCESS_GROUP"
|
|
89
89
|
}
|
|
90
|
+
export declare const IssueDescriptions: {
|
|
91
|
+
BATTERY_LOW: string;
|
|
92
|
+
DEVICE_OFFLINE: string;
|
|
93
|
+
HUB_OFFLINE: string;
|
|
94
|
+
ACCOUNT_UNAUTHORIZED: string;
|
|
95
|
+
ACCOUNT_MISSING_DEVICE: string;
|
|
96
|
+
LOCK_JAMMED: string;
|
|
97
|
+
DEVICE_MALFUNCTION: string;
|
|
98
|
+
NO_GUEST_CODES: string;
|
|
99
|
+
JUST_ENOUGH_GUEST_CODES: string;
|
|
100
|
+
LOW_GUEST_CODES: string;
|
|
101
|
+
PMS_CODE_NOT_DELIVERED: string;
|
|
102
|
+
SCHEDULE_CODE_NOT_ASSIGNED: string;
|
|
103
|
+
MISSING_ACCESS_GROUP: string;
|
|
104
|
+
};
|
|
90
105
|
export interface IssueDocument {
|
|
91
106
|
id: string;
|
|
92
107
|
category: IssuesCategory;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IssueType = exports.IssuePriority = exports.IssueStatus = exports.EntitySubType = exports.EntityType = exports.IssuesCategory = void 0;
|
|
3
|
+
exports.IssueDescriptions = exports.IssueType = exports.IssuePriority = exports.IssueStatus = exports.EntitySubType = exports.EntityType = exports.IssuesCategory = void 0;
|
|
4
4
|
var IssuesCategory;
|
|
5
5
|
(function (IssuesCategory) {
|
|
6
6
|
IssuesCategory["OPERATIONS"] = "OPERATIONS";
|
|
@@ -93,3 +93,18 @@ var IssueType;
|
|
|
93
93
|
IssueType["SCHEDULE_CODE_NOT_ASSIGNED"] = "SCHEDULE_CODE_NOT_ASSIGNED";
|
|
94
94
|
IssueType["MISSING_ACCESS_GROUP"] = "MISSING_ACCESS_GROUP";
|
|
95
95
|
})(IssueType || (exports.IssueType = IssueType = {}));
|
|
96
|
+
exports.IssueDescriptions = {
|
|
97
|
+
[IssueType.BATTERY_LOW]: "The issue is raised when the battery level is lower than the threshold.",
|
|
98
|
+
[IssueType.DEVICE_OFFLINE]: "The issue is raised when the device goes offline.",
|
|
99
|
+
[IssueType.HUB_OFFLINE]: "The issue is raised when the hub goes offline.",
|
|
100
|
+
[IssueType.ACCOUNT_UNAUTHORIZED]: "The issue is raised when the account is not authenticated or authorization is expired.",
|
|
101
|
+
[IssueType.ACCOUNT_MISSING_DEVICE]: "The issue is raised when the cloud device account is missing a registered device.",
|
|
102
|
+
[IssueType.LOCK_JAMMED]: "The issue is raised when the lock is jammed or stuck.",
|
|
103
|
+
[IssueType.DEVICE_MALFUNCTION]: "The issue is raised when the device is malfunctioning or not working as expected.",
|
|
104
|
+
[IssueType.NO_GUEST_CODES]: "The issue is raised when there are no guest codes available to be assigned.",
|
|
105
|
+
[IssueType.JUST_ENOUGH_GUEST_CODES]: "The issue is raised when there are just enough guest codes to be assigned.",
|
|
106
|
+
[IssueType.LOW_GUEST_CODES]: "The issue is raised when there are low guest codes to be assigned.",
|
|
107
|
+
[IssueType.PMS_CODE_NOT_DELIVERED]: "The issue is raised when the code is not delivered to the PMS system.",
|
|
108
|
+
[IssueType.SCHEDULE_CODE_NOT_ASSIGNED]: "The issue is raised when the code is not assigned to a schedule.",
|
|
109
|
+
[IssueType.MISSING_ACCESS_GROUP]: "The issue is raised when the access group is missing from devicethread but present in PMS system.",
|
|
110
|
+
};
|
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
|
-
}
|