dt-common-device 5.0.2 → 5.0.4
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/config/config.js
CHANGED
|
@@ -29,24 +29,34 @@ let config = null;
|
|
|
29
29
|
let auditInitialized = false;
|
|
30
30
|
let eventSubscription = null;
|
|
31
31
|
let db_keys = null;
|
|
32
|
+
let sourceKey = null;
|
|
32
33
|
async function initialize(cfg) {
|
|
33
34
|
// Check if required env variables are set
|
|
34
|
-
checkRequiredEnv(constants_1.CONFIG_KEYS.REQUIRED.
|
|
35
|
+
checkRequiredEnv(constants_1.CONFIG_KEYS.REQUIRED.env);
|
|
35
36
|
// Initialize config
|
|
36
37
|
config = { ...cfg };
|
|
38
|
+
if (cfg.SOURCE === "ADMIN_SERVICE") {
|
|
39
|
+
sourceKey = "ADMIN";
|
|
40
|
+
db_keys = constants_1.CONFIG_KEYS.ADMIN.db_keys;
|
|
41
|
+
await validateAdminConfig(cfg);
|
|
42
|
+
}
|
|
37
43
|
if (cfg.SOURCE === "ACCESS_SERVICE") {
|
|
44
|
+
sourceKey = "ACCESS";
|
|
38
45
|
db_keys = constants_1.CONFIG_KEYS.ACCESS.db_keys;
|
|
39
46
|
await validateAccessConfig(cfg);
|
|
40
47
|
}
|
|
41
48
|
if (cfg.SOURCE === "SCHEDULE_SERVICE") {
|
|
49
|
+
sourceKey = "SCHEDULE";
|
|
42
50
|
db_keys = constants_1.CONFIG_KEYS.SCHEDULE.db_keys;
|
|
43
51
|
await validateScheduleConfig(cfg);
|
|
44
52
|
}
|
|
45
53
|
if (cfg.SOURCE === "ENERGY_SERVICE") {
|
|
54
|
+
sourceKey = "ENERGY";
|
|
46
55
|
db_keys = constants_1.CONFIG_KEYS.ENERGY.db_keys;
|
|
47
56
|
await validateEnergyConfig(cfg);
|
|
48
57
|
}
|
|
49
58
|
if (cfg.SOURCE === "REMOTE_SERVICE") {
|
|
59
|
+
sourceKey = "REMOTE";
|
|
50
60
|
db_keys = constants_1.CONFIG_KEYS.REMOTE.db_keys;
|
|
51
61
|
await validateRemoteConfig(cfg);
|
|
52
62
|
}
|
|
@@ -89,6 +99,12 @@ async function validateInternalEventHandler(cfg) {
|
|
|
89
99
|
}
|
|
90
100
|
}
|
|
91
101
|
}
|
|
102
|
+
async function validateAdminConfig(cfg) {
|
|
103
|
+
checkRequiredEnv(constants_1.CONFIG_KEYS.ADMIN.env);
|
|
104
|
+
if (constants_1.CONFIG_KEYS.ADMIN.INTERNAL_EVENT_HANDLER) {
|
|
105
|
+
await validateInternalEventHandler(cfg);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
92
108
|
async function validateAccessConfig(cfg) {
|
|
93
109
|
checkRequiredEnv(constants_1.CONFIG_KEYS.ACCESS.env);
|
|
94
110
|
if (constants_1.CONFIG_KEYS.ACCESS.INTERNAL_EVENT_HANDLER) {
|
|
@@ -128,20 +144,26 @@ function getDeviceServiceUrl() {
|
|
|
128
144
|
return deviceServiceUrl;
|
|
129
145
|
}
|
|
130
146
|
function getAdminServiceUrl() {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
147
|
+
if (constants_1.CONFIG_KEYS[sourceKey].env.includes("ADMIN_SERVICE")) {
|
|
148
|
+
const adminServiceUrl = process.env.ADMIN_SERVICE;
|
|
149
|
+
if (!adminServiceUrl) {
|
|
150
|
+
getConfig().LOGGER.error("ADMIN_SERVICE must be set in environment variables");
|
|
151
|
+
throw new Error("dt-common-device: ADMIN_SERVICE must be set in environment variables");
|
|
152
|
+
}
|
|
153
|
+
return adminServiceUrl;
|
|
135
154
|
}
|
|
136
|
-
|
|
155
|
+
throw new Error("dt-common-device: ADMIN_SERVICE is not configured for this service");
|
|
137
156
|
}
|
|
138
157
|
function getSqsQueueUrl() {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
158
|
+
if (constants_1.CONFIG_KEYS[sourceKey].env.includes("AWS_SQS_URL")) {
|
|
159
|
+
const sqsQueueUrl = process.env.AWS_SQS_URL;
|
|
160
|
+
if (!sqsQueueUrl) {
|
|
161
|
+
getConfig().LOGGER.error("AWS_SQS_URL must be set in environment variables");
|
|
162
|
+
throw new Error("dt-common-device: AWS_SQS_URL must be set in environment variables");
|
|
163
|
+
}
|
|
164
|
+
return sqsQueueUrl;
|
|
143
165
|
}
|
|
144
|
-
|
|
166
|
+
throw new Error("dt-common-device: AWS_SQS_URL is not configured for this service");
|
|
145
167
|
}
|
|
146
168
|
function getEventSubscription() {
|
|
147
169
|
return eventSubscription;
|
package/dist/config/constants.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CONFIG_KEYS = void 0;
|
|
4
4
|
exports.CONFIG_KEYS = {
|
|
5
5
|
REQUIRED: {
|
|
6
|
-
|
|
6
|
+
env: [
|
|
7
7
|
"AWS_SECRET_ACCESS_KEY",
|
|
8
8
|
"AWS_REGION",
|
|
9
9
|
"AWS_ACCESS_KEY_ID",
|
|
@@ -14,11 +14,11 @@ exports.CONFIG_KEYS = {
|
|
|
14
14
|
"POSTHOG_API_KEY",
|
|
15
15
|
"POSTHOG_HOST",
|
|
16
16
|
"DEVICE_SERVICE",
|
|
17
|
-
"DT_API_KEY"
|
|
17
|
+
"DT_API_KEY",
|
|
18
18
|
],
|
|
19
19
|
},
|
|
20
20
|
ACCESS: {
|
|
21
|
-
env: ["ADMIN_DB_URI", "PMS_DB_URI"],
|
|
21
|
+
env: ["ADMIN_DB_URI", "PMS_DB_URI", "AWS_SQS_URL", "ADMIN_SERVICE"],
|
|
22
22
|
INTERNAL_EVENT_HANDLER: true,
|
|
23
23
|
db_keys: {
|
|
24
24
|
base: "DATABASE_URL",
|
|
@@ -36,7 +36,7 @@ exports.CONFIG_KEYS = {
|
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
ENERGY: {
|
|
39
|
-
env: ["ADMIN_DB_URI", "PMS_DB_URI"],
|
|
39
|
+
env: ["ADMIN_DB_URI", "PMS_DB_URI", "AWS_SQS_URL"],
|
|
40
40
|
INTERNAL_EVENT_HANDLER: true,
|
|
41
41
|
db_keys: {
|
|
42
42
|
base: "DATABASE_URL",
|
|
@@ -54,7 +54,7 @@ exports.CONFIG_KEYS = {
|
|
|
54
54
|
},
|
|
55
55
|
},
|
|
56
56
|
SCHEDULE: {
|
|
57
|
-
env: ["ADMIN_DB_URI", "ACCESS_DB_URI"],
|
|
57
|
+
env: ["ADMIN_DB_URI", "ACCESS_DB_URI", "AWS_SQS_URL"],
|
|
58
58
|
INTERNAL_EVENT_HANDLER: true,
|
|
59
59
|
db_keys: {
|
|
60
60
|
admin: "ADMIN_DB_URI",
|
|
@@ -64,7 +64,7 @@ class RateLimitUtils {
|
|
|
64
64
|
provider: constants_1.CONNECTION_PROVIDERS.SCHLAGE,
|
|
65
65
|
});
|
|
66
66
|
configs.set(constants_1.CONNECTION_PROVIDERS.SMARTTHINGS, {
|
|
67
|
-
maxRequests:
|
|
67
|
+
maxRequests: 12,
|
|
68
68
|
windowMs: 60000, // 1 minute
|
|
69
69
|
provider: constants_1.CONNECTION_PROVIDERS.SMARTTHINGS,
|
|
70
70
|
});
|