dt-common-device 9.4.1 → 10.0.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.
@@ -25,8 +25,7 @@ export declare enum AlertType {
25
25
  GUEST_LOCK_FIRST_ACCESS = "GUEST_LOCK_FIRST_ACCESS",
26
26
  DEVICE_ONLINE = "DEVICE_ONLINE",
27
27
  ZONE_NOT_MAPPED_TO_ACCESS_GROUP = "ZONE_NOT_MAPPED_TO_ACCESS_GROUP",
28
- INCORRECT_CODE_USED = "INCORRECT_CODE_USED",
29
- LOW_GUEST_CODES = "LOW_GUEST_CODES"
28
+ INCORRECT_CODE_USED = "INCORRECT_CODE_USED"
30
29
  }
31
30
  export interface AlertDocument {
32
31
  _id: string;
@@ -31,7 +31,6 @@ var AlertType;
31
31
  AlertType["DEVICE_ONLINE"] = "DEVICE_ONLINE";
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
- AlertType["LOW_GUEST_CODES"] = "LOW_GUEST_CODES";
35
34
  })(AlertType || (exports.AlertType = AlertType = {}));
36
35
  // Re-export EntityType from issue.types.ts to avoid duplication
37
36
  var issue_types_1 = require("../issues/issue.types");
@@ -13,7 +13,10 @@ exports.excludeEvents = [
13
13
  "schedule.sendcode.initiate",
14
14
  "schedule.sendcode.success",
15
15
  "device.state.changed",
16
+ "lock.code.set.attempt",
16
17
  "lock.code.set.success",
18
+ "lock.code.update.attempt",
19
+ "lock.code.delete.attempt",
17
20
  "lock.unlocked_non_business_hour.alert",
18
21
  "lock.left_unlocked.alert",
19
22
  "network.connection.on",
@@ -7,10 +7,16 @@ exports.pushAudit = pushAudit;
7
7
  const dt_audit_library_1 = require("dt-audit-library");
8
8
  const AuditUtils_1 = require("./AuditUtils");
9
9
  const typedi_1 = __importDefault(require("typedi"));
10
+ const ExcludeAudits_1 = require("./ExcludeAudits");
10
11
  async function pushAudit(data) {
11
12
  const audit = await typedi_1.default.get(AuditUtils_1.AuditUtils).buildAuditProperties(data.auditData);
12
- await (0, dt_audit_library_1.publishAudit)({
13
- eventType: data.auditType,
14
- properties: { ...audit, timestamp: new Date().toISOString() },
15
- });
13
+ if (ExcludeAudits_1.excludeEvents.includes(data.auditType)) {
14
+ console.log("Audit event excluded:", data.auditType);
15
+ }
16
+ else {
17
+ await (0, dt_audit_library_1.publishAudit)({
18
+ eventType: data.auditType,
19
+ properties: { ...audit, timestamp: new Date().toISOString() },
20
+ });
21
+ }
16
22
  }
@@ -206,22 +206,13 @@ function checkRequiredEnv(requiredEnvs) {
206
206
  function ensureAuditInitialized() {
207
207
  if (auditInitialized)
208
208
  return;
209
- // const apiKey = process.env.POSTHOG_API_KEY;
210
- // const host = process.env.POSTHOG_HOST;
211
- const host = process.env.CLICKHOUSE_HOST;
212
- const database = process.env.CLICKHOUSE_DATABASE;
213
- const username = process.env.CLICKHOUSE_USERNAME;
214
- const password = process.env.CLICKHOUSE_PASSWORD;
215
- if (!host || !database || !username || !password) {
216
- getConfig().LOGGER.error("CLICKHOUSE_HOST, CLICKHOUSE_DATABASE, CLICKHOUSE_USERNAME, and CLICKHOUSE_PASSWORD must be set in environment variables");
217
- throw new Error("dt-common-device: CLICKHOUSE_HOST, CLICKHOUSE_DATABASE, CLICKHOUSE_USERNAME, and CLICKHOUSE_PASSWORD must be set in environment variables");
209
+ const apiKey = process.env.POSTHOG_API_KEY;
210
+ const host = process.env.POSTHOG_HOST;
211
+ if (!apiKey || !host) {
212
+ getConfig().LOGGER.error("POSTHOG_API_KEY and POSTHOG_HOST must be set in environment variables");
213
+ throw new Error("dt-common-device: POSTHOG_API_KEY and POSTHOG_HOST must be set in environment variables");
218
214
  }
219
- (0, dt_audit_library_1.initializeAudit)({
220
- host,
221
- database,
222
- username,
223
- password,
224
- });
215
+ (0, dt_audit_library_1.initializeAudit)(apiKey, host);
225
216
  auditInitialized = true;
226
217
  }
227
218
  // Direct logger export for easier usage
@@ -141,7 +141,7 @@ 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
- return results.map((result) => result.toObject());
144
+ return results?.map((result) => result.toObject()) || [];
145
145
  }
146
146
  catch (error) {
147
147
  throw new Error(`Failed to find issues: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -7,19 +7,22 @@ export declare enum IssuesCategory {
7
7
  export declare enum EntityType {
8
8
  ZONE = "ZONE",
9
9
  DEVICE = "DEVICE",
10
- COLLECTION = "COLLECTION",
10
+ ACCESS_GROUP = "ACCESS_GROUP",
11
11
  USER = "USER",
12
12
  INTEGRATION = "INTEGRATION",
13
13
  PROPERTY = "PROPERTY",
14
14
  HUB = "HUB",
15
15
  SCHEDULE = "SCHEDULE",
16
- ALERT = "ALERT",
17
16
  OTHER = "OTHER",
18
17
  CLOUD_DEVICE_ACCOUNT = "CLOUD_DEVICE_ACCOUNT",
19
18
  CLOUD_PMS_ACCOUNT = "CLOUD_PMS_ACCOUNT"
20
19
  }
21
20
  export declare enum EntitySubType {
22
21
  ZONE = "ZONE",
22
+ GUEST_CODE = "GUEST_CODE",
23
+ STAFF_CODE = "STAFF_CODE",
24
+ EMERGENCY_CODE = "EMERGENCY_CODE",
25
+ VENDOR_CODE = "VENDOR_CODE",
23
26
  LOCK = "LOCK",
24
27
  HUB = "HUB",
25
28
  TV = "TV",
@@ -73,7 +76,9 @@ export declare enum IssueType {
73
76
  DEVICE_MALFUNCTION = "DEVICE_MALFUNCTION",
74
77
  NO_GUEST_CODES = "NO_GUEST_CODES",
75
78
  JUST_ENOUGH_GUEST_CODES = "JUST_ENOUGH_GUEST_CODES",
76
- PMS_CODE_NOT_DELIVERED = "PMS_CODE_NOT_DELIVERED"
79
+ LOW_GUEST_CODES = "LOW_GUEST_CODES",
80
+ PMS_CODE_NOT_DELIVERED = "PMS_CODE_NOT_DELIVERED",
81
+ SCHEDULE_CODE_NOT_ASSIGNED = "SCHEDULE_CODE_NOT_ASSIGNED"
77
82
  }
78
83
  export interface IssueDocument {
79
84
  id: string;
@@ -12,13 +12,12 @@ var EntityType;
12
12
  (function (EntityType) {
13
13
  EntityType["ZONE"] = "ZONE";
14
14
  EntityType["DEVICE"] = "DEVICE";
15
- EntityType["COLLECTION"] = "COLLECTION";
15
+ EntityType["ACCESS_GROUP"] = "ACCESS_GROUP";
16
16
  EntityType["USER"] = "USER";
17
17
  EntityType["INTEGRATION"] = "INTEGRATION";
18
18
  EntityType["PROPERTY"] = "PROPERTY";
19
19
  EntityType["HUB"] = "HUB";
20
20
  EntityType["SCHEDULE"] = "SCHEDULE";
21
- EntityType["ALERT"] = "ALERT";
22
21
  EntityType["OTHER"] = "OTHER";
23
22
  EntityType["CLOUD_DEVICE_ACCOUNT"] = "CLOUD_DEVICE_ACCOUNT";
24
23
  EntityType["CLOUD_PMS_ACCOUNT"] = "CLOUD_PMS_ACCOUNT";
@@ -26,6 +25,11 @@ var EntityType;
26
25
  var EntitySubType;
27
26
  (function (EntitySubType) {
28
27
  EntitySubType["ZONE"] = "ZONE";
28
+ // CODES
29
+ EntitySubType["GUEST_CODE"] = "GUEST_CODE";
30
+ EntitySubType["STAFF_CODE"] = "STAFF_CODE";
31
+ EntitySubType["EMERGENCY_CODE"] = "EMERGENCY_CODE";
32
+ EntitySubType["VENDOR_CODE"] = "VENDOR_CODE";
29
33
  // DEVICE
30
34
  EntitySubType["LOCK"] = "LOCK";
31
35
  EntitySubType["HUB"] = "HUB";
@@ -78,5 +82,7 @@ var IssueType;
78
82
  IssueType["DEVICE_MALFUNCTION"] = "DEVICE_MALFUNCTION";
79
83
  IssueType["NO_GUEST_CODES"] = "NO_GUEST_CODES";
80
84
  IssueType["JUST_ENOUGH_GUEST_CODES"] = "JUST_ENOUGH_GUEST_CODES";
85
+ IssueType["LOW_GUEST_CODES"] = "LOW_GUEST_CODES";
81
86
  IssueType["PMS_CODE_NOT_DELIVERED"] = "PMS_CODE_NOT_DELIVERED";
87
+ IssueType["SCHEDULE_CODE_NOT_ASSIGNED"] = "SCHEDULE_CODE_NOT_ASSIGNED";
82
88
  })(IssueType || (exports.IssueType = IssueType = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dt-common-device",
3
- "version": "9.4.1",
3
+ "version": "10.0.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -45,7 +45,7 @@
45
45
  "dependencies": {
46
46
  "axios": "1.10.0",
47
47
  "bullmq": "5.56.4",
48
- "dt-audit-library": "1.0.5",
48
+ "dt-audit-library": "^1.0.3",
49
49
  "dt-pub-sub": "^1.0.0",
50
50
  "ioredis": "5.6.1",
51
51
  "lodash": "^4.17.21",