dt-common-device 11.2.2 → 11.2.3
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/chronicle/Cronicle.service.d.ts +6 -2
- package/dist/chronicle/Cronicle.service.js +19 -2
- package/dist/chronicle/ICronicle.interface.d.ts +1 -0
- package/dist/config/config.js +0 -5
- package/dist/config/config.types.d.ts +1 -1
- package/dist/config/constants.d.ts +0 -7
- package/dist/config/constants.js +2 -7
- package/dist/constants/ConnectionProviders.d.ts +0 -1
- package/dist/constants/ConnectionProviders.js +0 -1
- package/dist/entities/accessGroup/AccessGroup.repository.d.ts +2 -1
- package/dist/entities/accessGroup/AccessGroup.repository.js +4 -1
- package/dist/entities/accessGroup/AccessGroup.service.d.ts +2 -1
- package/dist/entities/accessGroup/AccessGroup.service.js +4 -3
- package/dist/entities/admin/Admin.repository.d.ts +1 -2
- package/dist/entities/admin/Admin.repository.js +19 -15
- package/dist/entities/admin/Admin.service.d.ts +1 -1
- package/dist/entities/admin/Admin.service.js +2 -2
- package/dist/entities/connection/Connection.repository.d.ts +1 -0
- package/dist/entities/connection/Connection.repository.js +22 -0
- package/dist/entities/connection/Connection.service.d.ts +1 -0
- package/dist/entities/connection/Connection.service.js +3 -0
- package/dist/entities/guest/Guest.repository.d.ts +1 -1
- package/dist/entities/guest/Guest.repository.js +5 -2
- package/dist/entities/guest/Guest.service.d.ts +1 -1
- package/dist/entities/guest/Guest.service.js +4 -1
- package/dist/entities/schedules/Schedule.repository.d.ts +1 -1
- package/dist/entities/schedules/Schedule.repository.js +5 -2
- package/dist/entities/schedules/Schedule.service.d.ts +1 -1
- package/dist/entities/schedules/Schedule.service.js +4 -1
- package/dist/entities/user/User.repository.js +4 -1
- package/dist/entities/user/User.service.d.ts +1 -1
- package/dist/entities/user/User.service.js +4 -1
- package/dist/entities/zone/Zone.service.js +4 -1
- package/dist/issues/Issue.service.js +1 -1
- package/dist/queue/utils/rateLimit.utils.js +0 -6
- package/package.json +1 -1
- package/dist/admin/Admin.repository.d.ts +0 -7
- package/dist/admin/Admin.repository.js +0 -182
- package/dist/admin/Admin.service.d.ts +0 -5
- package/dist/admin/Admin.service.js +0 -17
- package/dist/admin/index.d.ts +0 -1
- package/dist/admin/index.js +0 -17
- package/dist/audit/AuditProperties.d.ts +0 -16
- package/dist/audit/AuditProperties.js +0 -2
- package/dist/chronicle/IChronicle.interface.d.ts +0 -14
- package/dist/chronicle/IChronicle.interface.js +0 -2
- package/dist/chronicle/chronicle.service.d.ts +0 -4
- package/dist/chronicle/chronicle.service.js +0 -44
- package/dist/connection/Connection.repository.d.ts +0 -8
- package/dist/connection/Connection.repository.js +0 -92
- package/dist/connection/Connection.service.d.ts +0 -8
- package/dist/connection/Connection.service.js +0 -32
- package/dist/connection/IConnection.d.ts +0 -28
- package/dist/connection/IConnection.js +0 -16
- package/dist/connection/index.d.ts +0 -2
- package/dist/connection/index.js +0 -18
- package/dist/copilotQueue/examples/CopilotQueue.example.d.ts +0 -37
- package/dist/copilotQueue/examples/CopilotQueue.example.js +0 -140
- package/dist/copilotQueue/examples/index.d.ts +0 -1
- package/dist/copilotQueue/examples/index.js +0 -17
- package/dist/device/cloud/entities/CloudConnection.d.ts +0 -6
- package/dist/device/cloud/entities/CloudConnection.js +0 -6
- package/dist/device/cloud/entities/CloudDevice.d.ts +0 -16
- package/dist/device/cloud/entities/CloudDevice.js +0 -26
- package/dist/device/cloud/entities/CloudDeviceService.d.ts +0 -5
- package/dist/device/cloud/entities/CloudDeviceService.js +0 -9
- package/dist/device/cloud/entities/DeviceFactory.d.ts +0 -7
- package/dist/device/cloud/entities/DeviceFactory.js +0 -80
- package/dist/device/cloud/entities/index.d.ts +0 -3
- package/dist/device/cloud/entities/index.js +0 -19
- package/dist/device/cloud/interface.d.ts +0 -101
- package/dist/device/cloud/interface.js +0 -3
- package/dist/device/cloud/interfaces/ICloudConnection.d.ts +0 -5
- package/dist/device/cloud/interfaces/ICloudConnection.js +0 -2
- package/dist/device/cloud/interfaces/ICloudDevice.d.ts +0 -9
- package/dist/device/cloud/interfaces/ICloudDevice.js +0 -2
- package/dist/device/cloud/interfaces/ICloudDeviceService.d.ts +0 -4
- package/dist/device/cloud/interfaces/ICloudDeviceService.js +0 -2
- package/dist/device/cloud/interfaces/IConnectionService.d.ts +0 -7
- package/dist/device/cloud/interfaces/IConnectionService.js +0 -2
- package/dist/device/cloud/interfaces/IDeviceConnectionService.d.ts +0 -7
- package/dist/device/cloud/interfaces/IDeviceConnectionService.js +0 -3
- package/dist/device/cloud/interfaces/IDeviceFactory.d.ts +0 -4
- package/dist/device/cloud/interfaces/IDeviceFactory.js +0 -2
- package/dist/device/cloud/interfaces/IDeviceService.d.ts +0 -8
- package/dist/device/cloud/interfaces/IDeviceService.js +0 -2
- package/dist/device/cloud/interfaces/IDevicesService.d.ts +0 -9
- package/dist/device/cloud/interfaces/IDevicesService.js +0 -2
- package/dist/device/cloud/interfaces/IHubService.d.ts +0 -5
- package/dist/device/cloud/interfaces/IHubService.js +0 -2
- package/dist/device/cloud/interfaces/IRawDataTransformer.d.ts +0 -4
- package/dist/device/cloud/interfaces/IRawDataTransformer.js +0 -2
- package/dist/device/cloud/interfaces/IRawDevice.d.ts +0 -17
- package/dist/device/cloud/interfaces/IRawDevice.js +0 -11
- package/dist/device/cloud/interfaces/index.d.ts +0 -5
- package/dist/device/cloud/interfaces/index.js +0 -21
- package/dist/device/cloud/services/CloudDevice.service.d.ts +0 -5
- package/dist/device/cloud/services/CloudDevice.service.js +0 -9
- package/dist/device/cloud/services/Connection.service.d.ts +0 -8
- package/dist/device/cloud/services/Connection.service.js +0 -6
- package/dist/device/cloud/services/Device.service.d.ts +0 -39
- package/dist/device/cloud/services/Device.service.js +0 -9
- package/dist/device/cloud/services/DeviceCloudService.d.ts +0 -42
- package/dist/device/cloud/services/DeviceCloudService.js +0 -59
- package/dist/device/cloud/services/DeviceHub.service.d.ts +0 -3
- package/dist/device/cloud/services/DeviceHub.service.js +0 -6
- package/dist/device/cloud/services/Hub.service.d.ts +0 -25
- package/dist/device/cloud/services/Hub.service.js +0 -9
- 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/services/index.js +0 -18
- 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/index.js +0 -20
- 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/AlertBuilder.example.js +0 -117
- package/dist/device/local/entities/AlertBuilder.js +0 -179
- 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/entities/index.js +0 -7
- package/dist/device/local/events/EventHandler.d.ts +0 -11
- package/dist/device/local/events/EventHandler.js +0 -86
- package/dist/device/local/events/Events.d.ts +0 -54
- package/dist/device/local/events/Events.js +0 -57
- package/dist/device/local/events/index.d.ts +0 -2
- package/dist/device/local/events/index.js +0 -7
- package/dist/device/local/handler/EventHandler.d.ts +0 -7
- package/dist/device/local/handler/EventHandler.js +0 -44
- package/dist/device/local/interface.d.ts +0 -0
- package/dist/device/local/interface.js +0 -1
- package/dist/device/local/interfaces/IConnection.d.ts +0 -26
- package/dist/device/local/interfaces/IConnection.js +0 -14
- package/dist/device/local/interfaces/IDevice.d.ts +0 -68
- package/dist/device/local/interfaces/IDevice.js +0 -10
- package/dist/device/local/interfaces/IDtDevice.d.ts +0 -16
- package/dist/device/local/interfaces/IDtDevice.js +0 -2
- package/dist/device/local/interfaces/IHub.d.ts +0 -46
- package/dist/device/local/interfaces/IHub.js +0 -2
- package/dist/device/local/interfaces/IProperty.d.ts +0 -29
- package/dist/device/local/interfaces/IProperty.js +0 -2
- package/dist/device/local/interfaces/ISchedule.d.ts +0 -25
- package/dist/device/local/interfaces/ISchedule.js +0 -2
- package/dist/device/local/interfaces/index.d.ts +0 -3
- package/dist/device/local/interfaces/index.js +0 -19
- package/dist/device/local/models/Alert.model.d.ts +0 -28
- package/dist/device/local/models/Alert.model.js +0 -222
- package/dist/device/local/models/Issue.model.d.ts +0 -28
- package/dist/device/local/models/Issue.model.js +0 -260
- package/dist/device/local/repository/Alert.repository.d.ts +0 -106
- package/dist/device/local/repository/Alert.repository.js +0 -374
- package/dist/device/local/repository/Connection.repository.d.ts +0 -8
- package/dist/device/local/repository/Connection.repository.js +0 -92
- package/dist/device/local/repository/Device.repository.d.ts +0 -30
- package/dist/device/local/repository/Device.repository.js +0 -325
- package/dist/device/local/repository/Hub.repository.d.ts +0 -13
- package/dist/device/local/repository/Hub.repository.js +0 -139
- package/dist/device/local/repository/Issue.repository.d.ts +0 -113
- package/dist/device/local/repository/Issue.repository.js +0 -401
- 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/Alert.service.js +0 -475
- package/dist/device/local/services/AlertService.example.d.ts +0 -55
- package/dist/device/local/services/AlertService.example.js +0 -148
- package/dist/device/local/services/Connection.service.d.ts +0 -8
- package/dist/device/local/services/Connection.service.js +0 -32
- package/dist/device/local/services/Device.service.d.ts +0 -40
- package/dist/device/local/services/Device.service.js +0 -391
- package/dist/device/local/services/DeviceHub.service.d.ts +0 -11
- package/dist/device/local/services/DeviceHub.service.js +0 -40
- package/dist/device/local/services/Hub.service.d.ts +0 -12
- package/dist/device/local/services/Hub.service.js +0 -107
- 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/device/local/services/index.js +0 -19
- package/dist/pms/IPms.d.ts +0 -6
- package/dist/pms/IPms.js +0 -10
- package/dist/pms/index.d.ts +0 -1
- package/dist/pms/index.js +0 -18
- package/dist/pms/webhookQueue/examples/index.d.ts +0 -2
- package/dist/pms/webhookQueue/examples/index.js +0 -18
- 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/index.js +0 -20
- 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/interfaces/index.js +0 -17
- 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/services/index.js +0 -17
- package/dist/pms/webhookQueue/types/index.d.ts +0 -1
- package/dist/pms/webhookQueue/types/index.js +0 -17
- 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/IProperty.js +0 -2
- 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/property/index.js +0 -18
- package/dist/queue/interfaces/IHttpRequestJob.d.ts +0 -9
- package/dist/queue/interfaces/IHttpRequestJob.js +0 -2
- package/dist/types/alert.types.d.ts +0 -57
- package/dist/types/alert.types.js +0 -22
- package/dist/types/config.types.d.ts +0 -19
- package/dist/types/config.types.js +0 -2
- package/dist/types/index.d.ts +0 -3
- package/dist/types/index.js +0 -19
- 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
- package/dist/utils/http-utils.js +0 -117
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { ICronicle } from "./ICronicle.interface";
|
|
2
2
|
export declare class CronicleService {
|
|
3
|
-
private cronicleEndpoint;
|
|
4
|
-
private cronicleApiKey;
|
|
3
|
+
private readonly cronicleEndpoint;
|
|
4
|
+
private readonly cronicleApiKey;
|
|
5
5
|
constructor();
|
|
6
6
|
registerJob(payload: ICronicle): Promise<void>;
|
|
7
7
|
getJob(jobId: string): Promise<any>;
|
|
8
|
+
getSchedules(filter: {
|
|
9
|
+
offset: number;
|
|
10
|
+
limit: number;
|
|
11
|
+
}): Promise<any>;
|
|
8
12
|
deleteJob(jobId: string): Promise<void>;
|
|
9
13
|
}
|
|
@@ -12,12 +12,12 @@ class CronicleService {
|
|
|
12
12
|
this.cronicleApiKey = process.env.CRONICLE_API_KEY || "";
|
|
13
13
|
}
|
|
14
14
|
async registerJob(payload) {
|
|
15
|
-
const { name, apiUrl, method, schedule, cronJobId, target } = payload;
|
|
15
|
+
const { name, apiUrl, method, schedule, cronJobId, target, category } = payload;
|
|
16
16
|
try {
|
|
17
17
|
await axios_1.default.post(`${this.cronicleEndpoint}/create_event/v1`, {
|
|
18
18
|
id: cronJobId,
|
|
19
19
|
title: name,
|
|
20
|
-
category: "general",
|
|
20
|
+
category: category ?? "general",
|
|
21
21
|
plugin: "urlplug",
|
|
22
22
|
timeZone: "UTC",
|
|
23
23
|
enabled: 1,
|
|
@@ -48,6 +48,8 @@ class CronicleService {
|
|
|
48
48
|
}
|
|
49
49
|
async getJob(jobId) {
|
|
50
50
|
try {
|
|
51
|
+
(0, config_1.getConfig)().LOGGER.info(`Getting job: ${jobId}`);
|
|
52
|
+
(0, config_1.getConfig)().LOGGER.info(`Cronicle endpoint: ${this.cronicleEndpoint}/get_event/v1`);
|
|
51
53
|
const res = await axios_1.default.post(`${this.cronicleEndpoint}/get_event/v1`, {
|
|
52
54
|
id: jobId,
|
|
53
55
|
api_key: this.cronicleApiKey,
|
|
@@ -55,6 +57,21 @@ class CronicleService {
|
|
|
55
57
|
return res.data;
|
|
56
58
|
}
|
|
57
59
|
catch (error) {
|
|
60
|
+
(0, config_1.getConfig)().LOGGER.error(`Failed to get job: ${error.message}`);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async getSchedules(filter) {
|
|
65
|
+
try {
|
|
66
|
+
const res = await axios_1.default.post(`${this.cronicleEndpoint}/get_schedule/v1`, {
|
|
67
|
+
api_key: this.cronicleApiKey,
|
|
68
|
+
offset: filter.offset ?? 0,
|
|
69
|
+
limit: filter.limit ?? 100,
|
|
70
|
+
});
|
|
71
|
+
return res.data;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
(0, config_1.getConfig)().LOGGER.error(`Failed to get schedules: ${error.message}`);
|
|
58
75
|
return;
|
|
59
76
|
}
|
|
60
77
|
}
|
package/dist/config/config.js
CHANGED
|
@@ -69,11 +69,6 @@ async function initialize(cfg) {
|
|
|
69
69
|
db_keys = constants_1.CONFIG_KEYS.MIGRATION.db_keys;
|
|
70
70
|
await validateServiceConfig(cfg);
|
|
71
71
|
}
|
|
72
|
-
if (cfg.SOURCE === "OPERATION_NODE_SERVICE") {
|
|
73
|
-
sourceKey = "OPERATION_NODE";
|
|
74
|
-
db_keys = constants_1.CONFIG_KEYS.OPERATION_NODE.db_keys;
|
|
75
|
-
await validateServiceConfig(cfg);
|
|
76
|
-
}
|
|
77
72
|
// Connect to databases
|
|
78
73
|
try {
|
|
79
74
|
await (0, db_1.connectDatabase)();
|
|
@@ -4,7 +4,7 @@ export interface ILogger {
|
|
|
4
4
|
warn(message: string, ...args: any[]): void;
|
|
5
5
|
error(message: string, ...args: any[]): void;
|
|
6
6
|
}
|
|
7
|
-
type AllowedSource = "ACCESS_SERVICE" | "ADMIN_SERVICE" | "ENERGY_SERVICE" | "REMOTE_SERVICE" | "SCHEDULE_SERVICE" | "MIGRATION"
|
|
7
|
+
type AllowedSource = "ACCESS_SERVICE" | "ADMIN_SERVICE" | "ENERGY_SERVICE" | "REMOTE_SERVICE" | "SCHEDULE_SERVICE" | "MIGRATION";
|
|
8
8
|
export type IConfig = {
|
|
9
9
|
SOURCE: AllowedSource;
|
|
10
10
|
INTERNAL_EVENT_HANDLER?: IInternalEvent;
|
package/dist/config/constants.js
CHANGED
|
@@ -9,6 +9,8 @@ exports.REQUIRED = {
|
|
|
9
9
|
"EVENT_BUS_NAME",
|
|
10
10
|
"REDIS_HOST",
|
|
11
11
|
"REDIS_PORT",
|
|
12
|
+
"POSTHOG_API_KEY",
|
|
13
|
+
"POSTHOG_HOST",
|
|
12
14
|
"DEVICE_SERVICE",
|
|
13
15
|
"DT_API_KEY",
|
|
14
16
|
"MONITORING_SERVICE_PYTHON",
|
|
@@ -99,11 +101,4 @@ exports.CONFIG_KEYS = {
|
|
|
99
101
|
pms: "PMS_DB_URI",
|
|
100
102
|
},
|
|
101
103
|
},
|
|
102
|
-
OPERATION_NODE: {
|
|
103
|
-
env: ["PMS_DB_URI"],
|
|
104
|
-
INTERNAL_EVENT_HANDLER: false,
|
|
105
|
-
db_keys: {
|
|
106
|
-
pms: "PMS_DB_URI",
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
104
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { IAccessGroup } from "./IAccessGroup";
|
|
1
2
|
export declare class AccessGroupRepository {
|
|
2
3
|
private readonly postgres;
|
|
3
4
|
constructor();
|
|
4
|
-
getAccessGroup(accessGroupId: string): Promise<
|
|
5
|
+
getAccessGroup(accessGroupId: string): Promise<IAccessGroup | null>;
|
|
5
6
|
}
|
|
@@ -56,7 +56,10 @@ let AccessGroupRepository = (() => {
|
|
|
56
56
|
WHERE "id" = $1
|
|
57
57
|
`;
|
|
58
58
|
const result = await this.postgres.query(query, [accessGroupId]);
|
|
59
|
-
|
|
59
|
+
if (result.rows.length > 0) {
|
|
60
|
+
return result.rows[0];
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
60
63
|
}
|
|
61
64
|
};
|
|
62
65
|
__setFunctionName(_classThis, "AccessGroupRepository");
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { IAccessGroup } from "./IAccessGroup";
|
|
1
2
|
export declare class AccessGroupService {
|
|
2
3
|
private readonly accessGroupRepository;
|
|
3
4
|
constructor();
|
|
4
|
-
getAccessGroup(accessGroupId: string): Promise<
|
|
5
|
+
getAccessGroup(accessGroupId: string): Promise<IAccessGroup | null>;
|
|
5
6
|
}
|
|
@@ -87,7 +87,10 @@ let AccessGroupService = (() => {
|
|
|
87
87
|
if (!accessGroupId) {
|
|
88
88
|
throw new Error("Access Group ID is required");
|
|
89
89
|
}
|
|
90
|
-
|
|
90
|
+
const accessGroup = await this.accessGroupRepository.getAccessGroup(accessGroupId);
|
|
91
|
+
if (!accessGroup)
|
|
92
|
+
return null;
|
|
93
|
+
return accessGroup;
|
|
91
94
|
}
|
|
92
95
|
};
|
|
93
96
|
__setFunctionName(_classThis, "AccessGroupService");
|
|
@@ -101,5 +104,3 @@ let AccessGroupService = (() => {
|
|
|
101
104
|
return AccessGroupService = _classThis;
|
|
102
105
|
})();
|
|
103
106
|
exports.AccessGroupService = AccessGroupService;
|
|
104
|
-
// Accessgroup.getAccessGroup(accessGroupId)
|
|
105
|
-
// GetAccessGroup()
|
|
@@ -3,9 +3,8 @@ export declare class AdminRepository {
|
|
|
3
3
|
private readonly deviceRepository;
|
|
4
4
|
private readonly postgres;
|
|
5
5
|
private readonly localDeviceService;
|
|
6
|
-
private readonly redisUtils;
|
|
7
6
|
constructor();
|
|
8
|
-
getZonesByAccessGroupIds(accessGroupIds: string[]
|
|
7
|
+
getZonesByAccessGroupIds(accessGroupIds: string[]): Promise<any[]>;
|
|
9
8
|
getZonesByAccessGroups(accessGroupIds: string[]): Promise<any[]>;
|
|
10
9
|
getAccessGroup(accessGroupId: string, propertyId?: string): Promise<IAccessGroup | null>;
|
|
11
10
|
getZoneAccessGroupByZoneId(zoneId: string): Promise<IZoneAccessGroup[] | null>;
|
|
@@ -78,7 +78,6 @@ const Device_repository_1 = require("../device/local/repository/Device.repositor
|
|
|
78
78
|
const db_1 = require("../../db/db");
|
|
79
79
|
const interfaces_1 = require("../device/cloud/interfaces");
|
|
80
80
|
const services_1 = require("../device/local/services");
|
|
81
|
-
const config_1 = require("../../config/config");
|
|
82
81
|
let AdminRepository = (() => {
|
|
83
82
|
let _classDecorators = [(0, typedi_1.Service)()];
|
|
84
83
|
let _classDescriptor;
|
|
@@ -89,9 +88,25 @@ let AdminRepository = (() => {
|
|
|
89
88
|
this.deviceRepository = typedi_1.default.get(Device_repository_1.DeviceRepository);
|
|
90
89
|
this.postgres = (0, db_1.getPostgresClient)();
|
|
91
90
|
this.localDeviceService = typedi_1.default.get(services_1.LocalDeviceService);
|
|
92
|
-
this.redisUtils = typedi_1.default.get(utils_1.RedisUtils);
|
|
93
91
|
}
|
|
94
|
-
async getZonesByAccessGroupIds(accessGroupIds
|
|
92
|
+
async getZonesByAccessGroupIds(accessGroupIds) {
|
|
93
|
+
// // Get propertyId from any of the accessGroupIds
|
|
94
|
+
// const accessGroupIdsResult = await this.postgres.query(
|
|
95
|
+
// `SELECT "propertyId" FROM dt_collections WHERE "id" = ANY($1) LIMIT 1`,
|
|
96
|
+
// [accessGroupIds]
|
|
97
|
+
// );
|
|
98
|
+
// const propertyId = accessGroupIdsResult.rows[0].propertyId;
|
|
99
|
+
// const sortedAccessGroupIds = [...accessGroupIds].sort((a, b) =>
|
|
100
|
+
// a.localeCompare(b)
|
|
101
|
+
// );
|
|
102
|
+
// // Check if the result is already cached
|
|
103
|
+
// const redisKey = `${propertyId}:zonesAndDevicesByAccessGroupIds:${sortedAccessGroupIds.join(
|
|
104
|
+
// ","
|
|
105
|
+
// )}`;
|
|
106
|
+
// const cachedResult = await this.redisUtils.get(redisKey);
|
|
107
|
+
// if (cachedResult) {
|
|
108
|
+
// return JSON.parse(cachedResult);
|
|
109
|
+
// }
|
|
95
110
|
// If not cached, get the result from the database
|
|
96
111
|
const result = await this.postgres.query(`SELECT
|
|
97
112
|
"zc"."id" AS "zoneCollectionMapId",
|
|
@@ -125,18 +140,7 @@ let AdminRepository = (() => {
|
|
|
125
140
|
const collectionZone = [];
|
|
126
141
|
for (let zone of response) {
|
|
127
142
|
let zoneIds = [];
|
|
128
|
-
|
|
129
|
-
const redisKey = `${propertyId}:childZones:${zone.zoneId}`;
|
|
130
|
-
const zonesCache = await this.redisUtils.get(redisKey);
|
|
131
|
-
if (zonesCache !== null && zonesCache !== undefined) {
|
|
132
|
-
(0, config_1.getLogger)().info(`Got child zones from redis`);
|
|
133
|
-
zones = JSON.parse(zonesCache);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
const response = await (0, utils_1.getAdminServiceAxiosInstance)().get(`/zones/child?zoneId=${zone.zoneId}`);
|
|
137
|
-
zones = response?.data?.data;
|
|
138
|
-
await this.redisUtils.set(redisKey, JSON.stringify(zones), 86400);
|
|
139
|
-
}
|
|
143
|
+
const zones = (await (0, utils_1.getAdminServiceAxiosInstance)().get(`/zones/child?zoneId=${zone.zoneId}`))?.data?.data;
|
|
140
144
|
zoneIds.push(zone.zoneId);
|
|
141
145
|
if (zones.childZones?.length > 0) {
|
|
142
146
|
const nestedZoneIds = new Set(_zones(zones.childZones));
|
|
@@ -3,7 +3,7 @@ export declare class AdminService {
|
|
|
3
3
|
private readonly adminRepository;
|
|
4
4
|
private readonly redisUtils;
|
|
5
5
|
constructor();
|
|
6
|
-
getZonesByAccessGroupIds(accessGroupIds: string[]
|
|
6
|
+
getZonesByAccessGroupIds(accessGroupIds: string[]): Promise<any[] | undefined>;
|
|
7
7
|
getZonesByAccessGroups(accessGroupIds: string[]): Promise<any[] | undefined>;
|
|
8
8
|
getAccessGroup(accessGroupId: string, propertyId?: string): Promise<IAccessGroup | null>;
|
|
9
9
|
getAccessGroupByZoneId(zoneId: string): Promise<IAccessGroup[] | []>;
|
|
@@ -85,9 +85,9 @@ let AdminService = (() => {
|
|
|
85
85
|
this.adminRepository = typedi_1.default.get(Admin_repository_1.AdminRepository);
|
|
86
86
|
this.redisUtils = typedi_1.default.get(redis_utils_1.RedisUtils);
|
|
87
87
|
}
|
|
88
|
-
async getZonesByAccessGroupIds(accessGroupIds
|
|
88
|
+
async getZonesByAccessGroupIds(accessGroupIds) {
|
|
89
89
|
try {
|
|
90
|
-
return await this.adminRepository.getZonesByAccessGroupIds(accessGroupIds
|
|
90
|
+
return await this.adminRepository.getZonesByAccessGroupIds(accessGroupIds);
|
|
91
91
|
}
|
|
92
92
|
catch (error) {
|
|
93
93
|
console.log(error);
|
|
@@ -4,5 +4,6 @@ export declare class ConnectionRepository {
|
|
|
4
4
|
constructor();
|
|
5
5
|
createConnection(data: Partial<IConnection>): Promise<IConnection>;
|
|
6
6
|
getConnectionById(connectionId: string): Promise<IConnection>;
|
|
7
|
+
queryConnections(query: Partial<IConnection>): Promise<IConnection[]>;
|
|
7
8
|
updateConnection(connectionId: string, data: Partial<IConnection>): Promise<any>;
|
|
8
9
|
}
|
|
@@ -69,6 +69,28 @@ let ConnectionRepository = (() => {
|
|
|
69
69
|
const result = await this.pool.query("SELECT * FROM dt_connections WHERE id = $1", [connectionId]);
|
|
70
70
|
return result.rows[0];
|
|
71
71
|
}
|
|
72
|
+
async queryConnections(query) {
|
|
73
|
+
// Filter out undefined/null values and build WHERE clause
|
|
74
|
+
const conditions = [];
|
|
75
|
+
const values = [];
|
|
76
|
+
let paramIndex = 1;
|
|
77
|
+
// Build conditions dynamically based on provided query parameters
|
|
78
|
+
Object.keys(query).forEach((key) => {
|
|
79
|
+
const value = query[key];
|
|
80
|
+
if (value !== undefined && value !== null) {
|
|
81
|
+
conditions.push(`"${key}" = $${paramIndex}`);
|
|
82
|
+
values.push(value);
|
|
83
|
+
paramIndex++;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
// Build the SQL query
|
|
87
|
+
let sql = "SELECT * FROM dt_connections";
|
|
88
|
+
if (conditions.length > 0) {
|
|
89
|
+
sql += ` WHERE ${conditions.join(" AND ")}`;
|
|
90
|
+
}
|
|
91
|
+
const result = await this.pool.query(sql, values);
|
|
92
|
+
return result.rows;
|
|
93
|
+
}
|
|
72
94
|
async updateConnection(connectionId, data) {
|
|
73
95
|
// Build dynamic SET clause with quoted column names
|
|
74
96
|
const setClause = Object.keys(data)
|
|
@@ -4,5 +4,6 @@ export declare class LocalConnectionService {
|
|
|
4
4
|
constructor();
|
|
5
5
|
createConnection(data: Partial<IConnection>): Promise<IConnection>;
|
|
6
6
|
getConnection(connectionId: string): Promise<IConnection>;
|
|
7
|
+
queryConnections(query: Partial<IConnection>): Promise<IConnection[]>;
|
|
7
8
|
updateConnection(connectionId: string, data: Partial<IConnection>): Promise<IConnection>;
|
|
8
9
|
}
|
|
@@ -22,6 +22,9 @@ class LocalConnectionService {
|
|
|
22
22
|
}
|
|
23
23
|
return await this.connectionRepository.getConnectionById(connectionId);
|
|
24
24
|
}
|
|
25
|
+
async queryConnections(query) {
|
|
26
|
+
return await this.connectionRepository.queryConnections(query);
|
|
27
|
+
}
|
|
25
28
|
async updateConnection(connectionId, data) {
|
|
26
29
|
if (!connectionId) {
|
|
27
30
|
throw new Error("Connection ID is required");
|
|
@@ -52,8 +52,11 @@ let GuestRepository = (() => {
|
|
|
52
52
|
}
|
|
53
53
|
async getGuest(guestId) {
|
|
54
54
|
try {
|
|
55
|
-
const guest = await this.pmsPostgres.query(`SELECT * FROM
|
|
56
|
-
|
|
55
|
+
const guest = await this.pmsPostgres.query(`SELECT * FROM dt_guest WHERE "id" = $1`, [guestId]);
|
|
56
|
+
if (guest.rows.length > 0) {
|
|
57
|
+
return guest.rows[0];
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
57
60
|
}
|
|
58
61
|
catch (error) {
|
|
59
62
|
console.error("Error in getGuest:", error);
|
|
@@ -88,7 +88,10 @@ let GuestService = (() => {
|
|
|
88
88
|
if (!guestId) {
|
|
89
89
|
throw new Error("Guest ID is required");
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
const guest = await this.guestRepository.getGuest(guestId);
|
|
92
|
+
if (!guest)
|
|
93
|
+
return null;
|
|
94
|
+
return guest;
|
|
92
95
|
}
|
|
93
96
|
};
|
|
94
97
|
__setFunctionName(_classThis, "GuestService");
|
|
@@ -52,8 +52,11 @@ let ScheduleRepository = (() => {
|
|
|
52
52
|
}
|
|
53
53
|
async getSchedule(scheduleId) {
|
|
54
54
|
try {
|
|
55
|
-
const schedule = await this.pmsPostgres.query(`SELECT * FROM
|
|
56
|
-
|
|
55
|
+
const schedule = await this.pmsPostgres.query(`SELECT * FROM dt_schedule WHERE "id" = $1`, [scheduleId]);
|
|
56
|
+
if (schedule.rows.length > 0) {
|
|
57
|
+
return schedule.rows[0];
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
57
60
|
}
|
|
58
61
|
catch (error) {
|
|
59
62
|
console.error("Error in getSchedule:", error);
|
|
@@ -88,7 +88,10 @@ let ScheduleService = (() => {
|
|
|
88
88
|
if (!scheduleId) {
|
|
89
89
|
throw new Error("Schedule ID is required");
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
const schedule = await this.scheduleRepository.getSchedule(scheduleId);
|
|
92
|
+
if (!schedule)
|
|
93
|
+
return null;
|
|
94
|
+
return schedule;
|
|
92
95
|
}
|
|
93
96
|
};
|
|
94
97
|
__setFunctionName(_classThis, "ScheduleService");
|
|
@@ -52,7 +52,10 @@ let UserRepository = (() => {
|
|
|
52
52
|
}
|
|
53
53
|
async getUser(userId) {
|
|
54
54
|
const user = await this.postgres.query(`SELECT * FROM dt_users WHERE "id" = $1`, [userId]);
|
|
55
|
-
|
|
55
|
+
if (user.rows.length > 0) {
|
|
56
|
+
return user.rows[0];
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
56
59
|
}
|
|
57
60
|
};
|
|
58
61
|
__setFunctionName(_classThis, "UserRepository");
|
|
@@ -87,7 +87,10 @@ let UserService = (() => {
|
|
|
87
87
|
if (!userId) {
|
|
88
88
|
throw new Error("User ID is required");
|
|
89
89
|
}
|
|
90
|
-
|
|
90
|
+
const user = await this.userRepository.getUser(userId);
|
|
91
|
+
if (!user)
|
|
92
|
+
return null;
|
|
93
|
+
return user;
|
|
91
94
|
}
|
|
92
95
|
};
|
|
93
96
|
__setFunctionName(_classThis, "UserService");
|
|
@@ -88,7 +88,10 @@ let ZoneService = (() => {
|
|
|
88
88
|
if (!zoneId) {
|
|
89
89
|
throw new Error("Zone ID is required");
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
const zone = await this.zoneRepository.getZone(zoneId);
|
|
92
|
+
if (!zone)
|
|
93
|
+
return null;
|
|
94
|
+
return zone;
|
|
92
95
|
}
|
|
93
96
|
};
|
|
94
97
|
__setFunctionName(_classThis, "ZoneService");
|
|
@@ -239,7 +239,7 @@ let IssueService = (() => {
|
|
|
239
239
|
title: device.deviceType.type.toLowerCase() === "hub"
|
|
240
240
|
? "Hub Offline"
|
|
241
241
|
: "Device Offline",
|
|
242
|
-
description: `${device.name} has gone offline
|
|
242
|
+
description: `${device.name} has gone offline ${reason ? `Reason: ${reason}` : ""}.`,
|
|
243
243
|
createdBy: source,
|
|
244
244
|
category: issue_types_1.IssuesCategory.OPERATIONS,
|
|
245
245
|
priority: issue_types_1.IssuePriority.CRITICAL,
|
|
@@ -123,12 +123,6 @@ class RateLimitUtils {
|
|
|
123
123
|
provider: constants_1.CONNECTION_PROVIDERS.WEBREZPRO,
|
|
124
124
|
maxTimeoutWindowMs: 120000,
|
|
125
125
|
});
|
|
126
|
-
configs.set(constants_1.CONNECTION_PROVIDERS.CHECKFRONT, {
|
|
127
|
-
maxRequests: 10,
|
|
128
|
-
windowMs: 60000,
|
|
129
|
-
provider: constants_1.CONNECTION_PROVIDERS.CHECKFRONT,
|
|
130
|
-
maxTimeoutWindowMs: 120000,
|
|
131
|
-
});
|
|
132
126
|
return configs;
|
|
133
127
|
}
|
|
134
128
|
static async isRateLimitAllowed(connectionId, provider, rateLimitConfigs) {
|
package/package.json
CHANGED