dt-common-device 7.6.15 → 7.7.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/alerts/Alert.service.d.ts +1 -0
- package/dist/alerts/Alert.service.js +5 -0
- 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 -1
- package/dist/entities/admin/Admin.repository.js +1 -1
- package/dist/entities/admin/Admin.service.d.ts +1 -1
- package/dist/entities/admin/Admin.service.js +10 -7
- package/dist/entities/admin/IAdmin.d.ts +4 -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.model.d.ts +3 -3
- package/dist/issues/Issue.repository.js +2 -0
- package/dist/issues/Issue.service.d.ts +1 -0
- package/dist/issues/Issue.service.js +27 -4
- package/dist/issues/issue.types.d.ts +2 -1
- 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/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
|
@@ -48,6 +48,7 @@ export declare class AlertService {
|
|
|
48
48
|
* Get all alerts with business logic filtering
|
|
49
49
|
*/
|
|
50
50
|
queryAlerts(filters?: IAlertQuery): Promise<IAlertDocument[]>;
|
|
51
|
+
alertCount(filters: IAlertQuery): Promise<number>;
|
|
51
52
|
/**
|
|
52
53
|
* Update an alert with business logic validation
|
|
53
54
|
*/
|
|
@@ -404,6 +404,11 @@ let AlertService = (() => {
|
|
|
404
404
|
const enhancedFilters = this.applyBusinessRules(filters);
|
|
405
405
|
return await this.alertRepository.query(enhancedFilters);
|
|
406
406
|
}
|
|
407
|
+
async alertCount(filters) {
|
|
408
|
+
// Business logic: Apply business rules to filters
|
|
409
|
+
const enhancedFilters = this.applyBusinessRules(filters);
|
|
410
|
+
return await this.alertRepository.count(enhancedFilters);
|
|
411
|
+
}
|
|
407
412
|
/**
|
|
408
413
|
* Update an alert with business logic validation
|
|
409
414
|
*/
|
|
@@ -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()
|
|
@@ -6,7 +6,7 @@ export declare class AdminRepository {
|
|
|
6
6
|
getZonesByAccessGroupIds(accessGroupIds: string[]): Promise<any[]>;
|
|
7
7
|
getZonesByAccessGroups(accessGroupIds: string[]): Promise<any[]>;
|
|
8
8
|
getAccessGroup(accessGroupId: string): Promise<IAccessGroup | null>;
|
|
9
|
-
getZoneAccessGroupByZoneId(zoneId: string): Promise<IZoneAccessGroup | null>;
|
|
9
|
+
getZoneAccessGroupByZoneId(zoneId: string): Promise<IZoneAccessGroup[] | null>;
|
|
10
10
|
getZone(zoneId: string): Promise<IZone | null>;
|
|
11
11
|
getUser(userId: string): Promise<IUser | null>;
|
|
12
12
|
}
|
|
@@ -6,7 +6,7 @@ export declare class AdminService {
|
|
|
6
6
|
getZonesByAccessGroupIds(accessGroupIds: string[]): Promise<any[] | undefined>;
|
|
7
7
|
getZonesByAccessGroups(accessGroupIds: string[]): Promise<any[] | undefined>;
|
|
8
8
|
getAccessGroup(accessGroupId: string): Promise<IAccessGroup | null>;
|
|
9
|
-
getAccessGroupByZoneId(zoneId: string): Promise<IAccessGroup |
|
|
9
|
+
getAccessGroupByZoneId(zoneId: string): Promise<IAccessGroup[] | []>;
|
|
10
10
|
getZone(zoneId: string): Promise<IZone | null>;
|
|
11
11
|
getUser(userId: string): Promise<IUser | null>;
|
|
12
12
|
}
|
|
@@ -114,13 +114,16 @@ let AdminService = (() => {
|
|
|
114
114
|
if (!zoneId) {
|
|
115
115
|
throw new Error("Zone ID is required");
|
|
116
116
|
}
|
|
117
|
-
const
|
|
118
|
-
if (!
|
|
119
|
-
return
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
const zoneAccessGroups = await this.adminRepository.getZoneAccessGroupByZoneId(zoneId);
|
|
118
|
+
if (!zoneAccessGroups?.length)
|
|
119
|
+
return [];
|
|
120
|
+
const accessGroups = [];
|
|
121
|
+
for (const zoneAccessGroup of zoneAccessGroups) {
|
|
122
|
+
const accessGroup = await this.adminRepository.getAccessGroup(zoneAccessGroup.collectionId);
|
|
123
|
+
if (accessGroup)
|
|
124
|
+
accessGroups.push(accessGroup);
|
|
125
|
+
}
|
|
126
|
+
return accessGroups;
|
|
124
127
|
}
|
|
125
128
|
async getZone(zoneId) {
|
|
126
129
|
if (!zoneId) {
|
|
@@ -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");
|
|
@@ -14,9 +14,9 @@ interface IIssueModel extends Model<IIssueDocument, {}, IIssueMethods> {
|
|
|
14
14
|
findOverdue(includeDeleted?: boolean): Promise<IIssueDocument[]>;
|
|
15
15
|
findUpcoming(days?: number, includeDeleted?: boolean): Promise<IIssueDocument[]>;
|
|
16
16
|
}
|
|
17
|
-
declare const IssueSchema: mongoose.Schema<IIssueDocument, IIssueModel, IIssueMethods, {}, {}, {}, mongoose.DefaultSchemaOptions, IIssueDocument, mongoose.Document<unknown, {}, mongoose.FlatRecord<IIssueDocument>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & Omit<mongoose.FlatRecord<IIssueDocument> &
|
|
18
|
-
_id:
|
|
19
|
-
}
|
|
17
|
+
declare const IssueSchema: mongoose.Schema<IIssueDocument, IIssueModel, IIssueMethods, {}, {}, {}, mongoose.DefaultSchemaOptions, IIssueDocument, mongoose.Document<unknown, {}, mongoose.FlatRecord<IIssueDocument>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & Omit<mongoose.FlatRecord<IIssueDocument> & {
|
|
18
|
+
_id: mongoose.Types.ObjectId;
|
|
19
|
+
} & {
|
|
20
20
|
__v: number;
|
|
21
21
|
}, keyof IIssueMethods> & IIssueMethods>;
|
|
22
22
|
export declare const IssueModel: IIssueModel;
|
|
@@ -50,6 +50,8 @@ let IssueRepository = (() => {
|
|
|
50
50
|
var IssueRepository = _classThis = class {
|
|
51
51
|
buildQuery(filters) {
|
|
52
52
|
const query = {};
|
|
53
|
+
if (filters.id)
|
|
54
|
+
query._id = filters.id;
|
|
53
55
|
if (filters.propertyId)
|
|
54
56
|
query.propertyId = filters.propertyId;
|
|
55
57
|
if (filters.zoneId)
|
|
@@ -76,6 +76,7 @@ export declare class IssueService {
|
|
|
76
76
|
* Get all issues with business logic filtering
|
|
77
77
|
*/
|
|
78
78
|
query(filters: IIssueQuery): Promise<IIssueDocument[]>;
|
|
79
|
+
issueCount(filters: IIssueQuery): Promise<number>;
|
|
79
80
|
/**
|
|
80
81
|
* Update an issue with business logic validation
|
|
81
82
|
*/
|
|
@@ -478,6 +478,11 @@ let IssueService = (() => {
|
|
|
478
478
|
const enhancedFilters = this.applyBusinessRules(filters);
|
|
479
479
|
return await this.issueRepository.query(enhancedFilters);
|
|
480
480
|
}
|
|
481
|
+
async issueCount(filters) {
|
|
482
|
+
// Business logic: Apply business rules to filters
|
|
483
|
+
const enhancedFilters = this.applyBusinessRules(filters);
|
|
484
|
+
return await this.issueRepository.count(enhancedFilters);
|
|
485
|
+
}
|
|
481
486
|
/**
|
|
482
487
|
* Update an issue with business logic validation
|
|
483
488
|
*/
|
|
@@ -699,37 +704,45 @@ let IssueService = (() => {
|
|
|
699
704
|
updatedBy,
|
|
700
705
|
updatedAt: new Date(),
|
|
701
706
|
};
|
|
707
|
+
let auditType = "";
|
|
702
708
|
switch (action) {
|
|
703
709
|
case "in_progress":
|
|
704
710
|
newStatus = issue_types_1.IssueStatus.IN_PROGRESS;
|
|
711
|
+
auditType = constants_1.DT_EVENT_TYPES.ISSUE.IN_PROGRESS.SUCCESS;
|
|
705
712
|
break;
|
|
706
713
|
case "resolve":
|
|
707
714
|
newStatus = issue_types_1.IssueStatus.RESOLVED;
|
|
708
715
|
updateData.resolvedAt = new Date();
|
|
716
|
+
auditType = constants_1.DT_EVENT_TYPES.ISSUE.RESOLVE.SUCCESS;
|
|
709
717
|
break;
|
|
710
718
|
case "close":
|
|
711
719
|
newStatus = issue_types_1.IssueStatus.CLOSED;
|
|
720
|
+
auditType = constants_1.DT_EVENT_TYPES.ISSUE.CLOSE.SUCCESS;
|
|
712
721
|
break;
|
|
713
722
|
case "cancel":
|
|
714
723
|
newStatus = issue_types_1.IssueStatus.CANCELLED;
|
|
724
|
+
auditType = constants_1.DT_EVENT_TYPES.ISSUE.CANCEL.SUCCESS;
|
|
715
725
|
break;
|
|
716
726
|
case "on_hold":
|
|
717
727
|
newStatus = issue_types_1.IssueStatus.ON_HOLD;
|
|
728
|
+
auditType = constants_1.DT_EVENT_TYPES.ISSUE.ON_HOLD.SUCCESS;
|
|
718
729
|
break;
|
|
719
730
|
case "ignore":
|
|
720
731
|
newStatus = issue_types_1.IssueStatus.IGNORED;
|
|
732
|
+
auditType = constants_1.DT_EVENT_TYPES.ISSUE.IGNORE.SUCCESS;
|
|
721
733
|
break;
|
|
722
734
|
default:
|
|
723
735
|
throw new Error("Invalid action. Must be 'cancel', 'close', or 'resolve'");
|
|
724
736
|
}
|
|
725
737
|
updateData.status = newStatus;
|
|
726
738
|
// Update the issue
|
|
727
|
-
const updatedIssue = await this.updateIssue(issue.
|
|
739
|
+
const updatedIssue = await this.updateIssue(issue.id, updateData);
|
|
728
740
|
if (updatedIssue) {
|
|
729
741
|
// Log the action for audit purposes
|
|
730
|
-
console.log(`Issue ${issue.
|
|
742
|
+
console.log(`Issue ${issue.id} has been ${action}ed by ${updatedBy}`);
|
|
743
|
+
await dt_pub_sub_1.eventDispatcher.publishEvent(auditType, updatedIssue, "dt-common-device");
|
|
731
744
|
await (0, audit_1.pushAudit)({
|
|
732
|
-
auditType:
|
|
745
|
+
auditType: auditType,
|
|
733
746
|
auditData: {
|
|
734
747
|
resource: audit_1.Resource.ISSUE,
|
|
735
748
|
source: Service_1.Source.USER,
|
|
@@ -757,6 +770,8 @@ let IssueService = (() => {
|
|
|
757
770
|
error: error,
|
|
758
771
|
updatedBy,
|
|
759
772
|
updatedAt: new Date(),
|
|
773
|
+
actionPayload: query,
|
|
774
|
+
action,
|
|
760
775
|
},
|
|
761
776
|
});
|
|
762
777
|
throw error;
|
|
@@ -889,12 +904,15 @@ let IssueService = (() => {
|
|
|
889
904
|
const validTransitions = {
|
|
890
905
|
[issue_types_1.IssueStatus.PENDING]: [
|
|
891
906
|
issue_types_1.IssueStatus.IN_PROGRESS,
|
|
907
|
+
issue_types_1.IssueStatus.RESOLVED,
|
|
908
|
+
issue_types_1.IssueStatus.CLOSED,
|
|
892
909
|
issue_types_1.IssueStatus.CANCELLED,
|
|
893
910
|
issue_types_1.IssueStatus.ON_HOLD,
|
|
894
911
|
issue_types_1.IssueStatus.IGNORED,
|
|
895
912
|
],
|
|
896
913
|
[issue_types_1.IssueStatus.IN_PROGRESS]: [
|
|
897
914
|
issue_types_1.IssueStatus.RESOLVED,
|
|
915
|
+
issue_types_1.IssueStatus.CLOSED,
|
|
898
916
|
issue_types_1.IssueStatus.CANCELLED,
|
|
899
917
|
issue_types_1.IssueStatus.ON_HOLD,
|
|
900
918
|
issue_types_1.IssueStatus.IGNORED,
|
|
@@ -932,7 +950,12 @@ let IssueService = (() => {
|
|
|
932
950
|
// Always exclude cancelled, resolved, and closed issues unless explicitly requested
|
|
933
951
|
if (!enhancedFilters.status) {
|
|
934
952
|
enhancedFilters.status = {
|
|
935
|
-
$nin: [
|
|
953
|
+
$nin: [
|
|
954
|
+
issue_types_1.IssueStatus.CANCELLED,
|
|
955
|
+
issue_types_1.IssueStatus.RESOLVED,
|
|
956
|
+
issue_types_1.IssueStatus.CLOSED,
|
|
957
|
+
issue_types_1.IssueStatus.IGNORED,
|
|
958
|
+
],
|
|
936
959
|
};
|
|
937
960
|
}
|
|
938
961
|
return enhancedFilters;
|
|
@@ -57,7 +57,7 @@ export declare enum IssueType {
|
|
|
57
57
|
DEVICE_MALFUNCTION = "DEVICE_MALFUNCTION"
|
|
58
58
|
}
|
|
59
59
|
export interface IssueDocument {
|
|
60
|
-
|
|
60
|
+
id: string;
|
|
61
61
|
category: IssuesCategory;
|
|
62
62
|
propertyId: string;
|
|
63
63
|
zoneId?: string;
|
|
@@ -118,6 +118,7 @@ export interface AddCommentData {
|
|
|
118
118
|
content: string;
|
|
119
119
|
}
|
|
120
120
|
export interface IIssueQuery {
|
|
121
|
+
id?: string;
|
|
121
122
|
propertyId?: string;
|
|
122
123
|
zoneId?: string;
|
|
123
124
|
zoneName?: string;
|
package/package.json
CHANGED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
19
|
-
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
20
|
-
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
21
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
22
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
23
|
-
var _, done = false;
|
|
24
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
25
|
-
var context = {};
|
|
26
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
27
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
28
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
29
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
30
|
-
if (kind === "accessor") {
|
|
31
|
-
if (result === void 0) continue;
|
|
32
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
33
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
34
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
35
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
36
|
-
}
|
|
37
|
-
else if (_ = accept(result)) {
|
|
38
|
-
if (kind === "field") initializers.unshift(_);
|
|
39
|
-
else descriptor[key] = _;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
43
|
-
done = true;
|
|
44
|
-
};
|
|
45
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
46
|
-
var useValue = arguments.length > 2;
|
|
47
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
48
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
49
|
-
}
|
|
50
|
-
return useValue ? value : void 0;
|
|
51
|
-
};
|
|
52
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
53
|
-
var ownKeys = function(o) {
|
|
54
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
55
|
-
var ar = [];
|
|
56
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
57
|
-
return ar;
|
|
58
|
-
};
|
|
59
|
-
return ownKeys(o);
|
|
60
|
-
};
|
|
61
|
-
return function (mod) {
|
|
62
|
-
if (mod && mod.__esModule) return mod;
|
|
63
|
-
var result = {};
|
|
64
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
65
|
-
__setModuleDefault(result, mod);
|
|
66
|
-
return result;
|
|
67
|
-
};
|
|
68
|
-
})();
|
|
69
|
-
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
70
|
-
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
71
|
-
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
72
|
-
};
|
|
73
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
74
|
-
exports.AdminRepository = void 0;
|
|
75
|
-
const typedi_1 = __importStar(require("typedi"));
|
|
76
|
-
const utils_1 = require("../utils");
|
|
77
|
-
const Device_repository_1 = require("../device/local/repository/Device.repository");
|
|
78
|
-
const db_1 = require("../db/db");
|
|
79
|
-
const interfaces_1 = require("../device/cloud/interfaces");
|
|
80
|
-
let AdminRepository = (() => {
|
|
81
|
-
let _classDecorators = [(0, typedi_1.Service)()];
|
|
82
|
-
let _classDescriptor;
|
|
83
|
-
let _classExtraInitializers = [];
|
|
84
|
-
let _classThis;
|
|
85
|
-
var AdminRepository = _classThis = class {
|
|
86
|
-
constructor() {
|
|
87
|
-
this.axiosInstance = (0, utils_1.getCloudServiceAxiosInstance)();
|
|
88
|
-
this.deviceRepository = typedi_1.default.get(Device_repository_1.DeviceRepository);
|
|
89
|
-
this.postgres = (0, db_1.getPostgresClient)();
|
|
90
|
-
}
|
|
91
|
-
async getZonesByAccessGroupIds(accessGroupIds) {
|
|
92
|
-
const result = await this.postgres.query(`SELECT "zc".*, "z"."id", "z"."name"
|
|
93
|
-
FROM "dt_zones_collection_map" "zc"
|
|
94
|
-
INNER JOIN "dt_zones" "z" ON "zc"."zoneId" = "z"."id"
|
|
95
|
-
WHERE "zc"."collectionId" = ANY($1)`, [accessGroupIds]);
|
|
96
|
-
const response = result.rows;
|
|
97
|
-
const _zones = (nestedZones, allzones = []) => {
|
|
98
|
-
nestedZones.forEach((z) => {
|
|
99
|
-
const onlyZone = { ...z };
|
|
100
|
-
delete onlyZone.childZones;
|
|
101
|
-
allzones.push(onlyZone);
|
|
102
|
-
if (!Array.isArray(z.childZones)) {
|
|
103
|
-
if (z.childZones.id)
|
|
104
|
-
z.childZones = [z.childZones];
|
|
105
|
-
}
|
|
106
|
-
if (z.childZones.length) {
|
|
107
|
-
_zones(z.childZones, allzones);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
return allzones.map((e) => e.id);
|
|
111
|
-
};
|
|
112
|
-
// const zones = _zones(response);
|
|
113
|
-
const zoneIds = response.map((el) => el.id);
|
|
114
|
-
const collectionZone = [];
|
|
115
|
-
for (let i = 0; i < response.length; i++) {
|
|
116
|
-
let zoneIds = [];
|
|
117
|
-
const zones = await this.axiosInstance.get(`/zones/child?zoneId=${response[i].zoneId}`);
|
|
118
|
-
zoneIds.push(response[i].zoneId);
|
|
119
|
-
if (zones.childZones?.length > 0) {
|
|
120
|
-
const nestedZoneIds = new Set(_zones(zones.childZones));
|
|
121
|
-
zoneIds = [...zoneIds, ...nestedZoneIds];
|
|
122
|
-
}
|
|
123
|
-
if (collectionZone.length == 0) {
|
|
124
|
-
const obj = {
|
|
125
|
-
collectionId: response[i].collectionId,
|
|
126
|
-
zoneIds,
|
|
127
|
-
};
|
|
128
|
-
collectionZone.push(obj);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
const obj = collectionZone.find((e) => e.collectionId == response[i].collectionId);
|
|
132
|
-
if (obj) {
|
|
133
|
-
obj.zoneIds = [...obj.zoneIds, ...zoneIds];
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
collectionZone.push({
|
|
137
|
-
collectionId: response[i].collectionId,
|
|
138
|
-
zoneIds,
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
let _zoneIds = collectionZone.flatMap((e) => {
|
|
144
|
-
return e.zoneIds.map((z) => z);
|
|
145
|
-
});
|
|
146
|
-
if (_zoneIds.length === 0)
|
|
147
|
-
return [];
|
|
148
|
-
const deviecDetail = await this.deviceRepository.queryDevices({
|
|
149
|
-
zoneIds: _zoneIds,
|
|
150
|
-
excludeDeviceType: interfaces_1.DeviceType.HUB
|
|
151
|
-
});
|
|
152
|
-
const _collectionZone = collectionZone.map((e) => {
|
|
153
|
-
const zones = e.zoneIds;
|
|
154
|
-
let devices = [];
|
|
155
|
-
zones.forEach((element) => {
|
|
156
|
-
const device = deviecDetail.filter((d) => d.zoneId == element);
|
|
157
|
-
// Add collectionId to each device
|
|
158
|
-
device.forEach((dev) => {
|
|
159
|
-
dev.collectionId = e.collectionId;
|
|
160
|
-
});
|
|
161
|
-
const _devices = devices.concat(device);
|
|
162
|
-
devices = _devices;
|
|
163
|
-
});
|
|
164
|
-
e.devices = devices;
|
|
165
|
-
e.parentZone = response;
|
|
166
|
-
return e;
|
|
167
|
-
});
|
|
168
|
-
const collectionZoneDevices = Array.from(new Set(_collectionZone));
|
|
169
|
-
return collectionZoneDevices;
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
__setFunctionName(_classThis, "AdminRepository");
|
|
173
|
-
(() => {
|
|
174
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
175
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
176
|
-
AdminRepository = _classThis = _classDescriptor.value;
|
|
177
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
178
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
179
|
-
})();
|
|
180
|
-
return AdminRepository = _classThis;
|
|
181
|
-
})();
|
|
182
|
-
exports.AdminRepository = AdminRepository;
|