dt-common-device 7.1.1 → 7.1.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/alerts/Alert.model.d.ts +1 -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/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 +1 -1
- package/dist/issues/Issue.model.js +6 -1
- package/dist/issues/Issue.service.d.ts +10 -1
- package/dist/issues/Issue.service.js +46 -12
- package/dist/issues/IssueBuilder.d.ts +14 -9
- package/dist/issues/IssueBuilder.js +42 -22
- package/dist/issues/issue.types.d.ts +29 -4
- package/dist/issues/issue.types.js +23 -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/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 -17
- 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
|
@@ -13,7 +13,7 @@ interface IAlertModel extends Model<IAlertDocument, {}, IAlertMethods> {
|
|
|
13
13
|
findSnoozed(includeDeleted?: boolean): Promise<IAlertDocument[]>;
|
|
14
14
|
findExpiredSnooze(includeDeleted?: boolean): Promise<IAlertDocument[]>;
|
|
15
15
|
}
|
|
16
|
-
declare const AlertSchema: mongoose.Schema<IAlertDocument, IAlertModel, IAlertMethods, {}, {}, {}, mongoose.DefaultSchemaOptions, IAlertDocument, mongoose.Document<unknown, {}, mongoose.FlatRecord<IAlertDocument>, {}
|
|
16
|
+
declare const AlertSchema: mongoose.Schema<IAlertDocument, IAlertModel, IAlertMethods, {}, {}, {}, mongoose.DefaultSchemaOptions, IAlertDocument, mongoose.Document<unknown, {}, mongoose.FlatRecord<IAlertDocument>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & Omit<mongoose.FlatRecord<IAlertDocument> & Required<{
|
|
17
17
|
_id: string;
|
|
18
18
|
}> & {
|
|
19
19
|
__v: number;
|
|
@@ -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()
|
|
@@ -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,7 +14,7 @@ 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>, {}
|
|
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> & Required<{
|
|
18
18
|
_id: string;
|
|
19
19
|
}> & {
|
|
20
20
|
__v: number;
|
|
@@ -58,7 +58,7 @@ const IssueSchema = new mongoose_1.Schema({
|
|
|
58
58
|
},
|
|
59
59
|
zoneId: {
|
|
60
60
|
type: String,
|
|
61
|
-
required:
|
|
61
|
+
required: false,
|
|
62
62
|
index: true,
|
|
63
63
|
},
|
|
64
64
|
title: {
|
|
@@ -87,6 +87,11 @@ const IssueSchema = new mongoose_1.Schema({
|
|
|
87
87
|
default: issue_types_1.IssueStatus.PENDING,
|
|
88
88
|
index: true,
|
|
89
89
|
},
|
|
90
|
+
type: {
|
|
91
|
+
type: String,
|
|
92
|
+
enum: Object.values(issue_types_1.IssueType),
|
|
93
|
+
required: true,
|
|
94
|
+
},
|
|
90
95
|
priority: {
|
|
91
96
|
type: String,
|
|
92
97
|
enum: Object.values(issue_types_1.IssuePriority),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IIssueDocument } from "./Issue.model";
|
|
2
|
-
import { CreateIssueData, UpdateIssueData, AddCommentData, IssuePriority, IssuesCategory, IIssueQuery } from "./issue.types";
|
|
2
|
+
import { CreateIssueData, UpdateIssueData, AddCommentData, IssuePriority, IssuesCategory, EntityType, IIssueQuery, IssueType } from "./issue.types";
|
|
3
3
|
import { IssueBuilder } from "./IssueBuilder";
|
|
4
4
|
import { Source } from "../constants/Service";
|
|
5
5
|
import { IDevice } from "../entities/device/local/interfaces";
|
|
@@ -34,6 +34,15 @@ export declare class IssueService {
|
|
|
34
34
|
* Create a user-specific issue using IssueBuilder
|
|
35
35
|
*/
|
|
36
36
|
createUserIssue(data: CreateIssueData): Promise<IIssueDocument>;
|
|
37
|
+
createCloudAccountAuthorizationIssue(data: {
|
|
38
|
+
propertyId: string;
|
|
39
|
+
entityId: string;
|
|
40
|
+
entityType: EntityType;
|
|
41
|
+
title: string;
|
|
42
|
+
description: string;
|
|
43
|
+
createdBy: string;
|
|
44
|
+
type: IssueType;
|
|
45
|
+
}): Promise<IIssueDocument>;
|
|
37
46
|
/**
|
|
38
47
|
* Create issue for device going offline longer than baseline
|
|
39
48
|
*/
|
|
@@ -93,7 +93,6 @@ let IssueService = (() => {
|
|
|
93
93
|
async createReadinessIssue(data) {
|
|
94
94
|
const issueBuilder = IssueBuilder_1.IssueBuilder.createReadinessIssue()
|
|
95
95
|
.setPropertyId(data.propertyId)
|
|
96
|
-
.setZoneId(data.zoneId)
|
|
97
96
|
.setTitle(data.title)
|
|
98
97
|
.setDescription(data.description)
|
|
99
98
|
.setCreatedBy(data.createdBy);
|
|
@@ -105,6 +104,10 @@ let IssueService = (() => {
|
|
|
105
104
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
106
105
|
if (data.dueDate)
|
|
107
106
|
issueBuilder.setDueDate(data.dueDate);
|
|
107
|
+
if (data.zoneId)
|
|
108
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
109
|
+
if (data.type)
|
|
110
|
+
issueBuilder.setType(data.type);
|
|
108
111
|
return await this.createIssue(issueBuilder);
|
|
109
112
|
}
|
|
110
113
|
/**
|
|
@@ -113,7 +116,6 @@ let IssueService = (() => {
|
|
|
113
116
|
async createOperationsIssue(data) {
|
|
114
117
|
const issueBuilder = IssueBuilder_1.IssueBuilder.createOperationsIssue()
|
|
115
118
|
.setPropertyId(data.propertyId)
|
|
116
|
-
.setZoneId(data.zoneId)
|
|
117
119
|
.setTitle(data.title)
|
|
118
120
|
.setDescription(data.description)
|
|
119
121
|
.setCreatedBy(data.createdBy);
|
|
@@ -125,6 +127,10 @@ let IssueService = (() => {
|
|
|
125
127
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
126
128
|
if (data.dueDate)
|
|
127
129
|
issueBuilder.setDueDate(data.dueDate);
|
|
130
|
+
if (data.zoneId)
|
|
131
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
132
|
+
if (data.type)
|
|
133
|
+
issueBuilder.setType(data.type);
|
|
128
134
|
return await this.createIssue(issueBuilder);
|
|
129
135
|
}
|
|
130
136
|
/**
|
|
@@ -133,7 +139,6 @@ let IssueService = (() => {
|
|
|
133
139
|
async createSecurityIssue(data) {
|
|
134
140
|
const issueBuilder = IssueBuilder_1.IssueBuilder.createSecurityIssue()
|
|
135
141
|
.setPropertyId(data.propertyId)
|
|
136
|
-
.setZoneId(data.zoneId)
|
|
137
142
|
.setTitle(data.title)
|
|
138
143
|
.setDescription(data.description)
|
|
139
144
|
.setCreatedBy(data.createdBy);
|
|
@@ -145,6 +150,10 @@ let IssueService = (() => {
|
|
|
145
150
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
146
151
|
if (data.dueDate)
|
|
147
152
|
issueBuilder.setDueDate(data.dueDate);
|
|
153
|
+
if (data.zoneId)
|
|
154
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
155
|
+
if (data.type)
|
|
156
|
+
issueBuilder.setType(data.type);
|
|
148
157
|
return await this.createIssue(issueBuilder);
|
|
149
158
|
}
|
|
150
159
|
/**
|
|
@@ -153,7 +162,6 @@ let IssueService = (() => {
|
|
|
153
162
|
async createEnergyIssue(data) {
|
|
154
163
|
const issueBuilder = IssueBuilder_1.IssueBuilder.createEnergyIssue()
|
|
155
164
|
.setPropertyId(data.propertyId)
|
|
156
|
-
.setZoneId(data.zoneId)
|
|
157
165
|
.setTitle(data.title)
|
|
158
166
|
.setDescription(data.description)
|
|
159
167
|
.setCreatedBy(data.createdBy);
|
|
@@ -165,13 +173,17 @@ let IssueService = (() => {
|
|
|
165
173
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
166
174
|
if (data.dueDate)
|
|
167
175
|
issueBuilder.setDueDate(data.dueDate);
|
|
176
|
+
if (data.type)
|
|
177
|
+
issueBuilder.setType(data.type);
|
|
178
|
+
if (data.zoneId)
|
|
179
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
168
180
|
return await this.createIssue(issueBuilder);
|
|
169
181
|
}
|
|
170
182
|
/**
|
|
171
183
|
* Create a device-specific issue using IssueBuilder
|
|
172
184
|
*/
|
|
173
185
|
async createDeviceIssue(data) {
|
|
174
|
-
const issueBuilder = IssueBuilder_1.IssueBuilder.createDeviceIssue(data.entityId, data.propertyId, data.
|
|
186
|
+
const issueBuilder = IssueBuilder_1.IssueBuilder.createDeviceIssue(data.entityId, data.propertyId, data.type)
|
|
175
187
|
.setTitle(data.title)
|
|
176
188
|
.setDescription(data.description)
|
|
177
189
|
.setCreatedBy(data.createdBy);
|
|
@@ -183,13 +195,15 @@ let IssueService = (() => {
|
|
|
183
195
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
184
196
|
if (data.dueDate)
|
|
185
197
|
issueBuilder.setDueDate(data.dueDate);
|
|
198
|
+
if (data.zoneId)
|
|
199
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
186
200
|
return await this.createIssue(issueBuilder);
|
|
187
201
|
}
|
|
188
202
|
/**
|
|
189
203
|
* Create a hub-specific issue using IssueBuilder
|
|
190
204
|
*/
|
|
191
205
|
async createHubIssue(data) {
|
|
192
|
-
const issueBuilder = IssueBuilder_1.IssueBuilder.createHubIssue(data.entityId, data.propertyId, data.
|
|
206
|
+
const issueBuilder = IssueBuilder_1.IssueBuilder.createHubIssue(data.entityId, data.propertyId, data.type)
|
|
193
207
|
.setTitle(data.title)
|
|
194
208
|
.setDescription(data.description)
|
|
195
209
|
.setCreatedBy(data.createdBy);
|
|
@@ -201,13 +215,15 @@ let IssueService = (() => {
|
|
|
201
215
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
202
216
|
if (data.dueDate)
|
|
203
217
|
issueBuilder.setDueDate(data.dueDate);
|
|
218
|
+
if (data.zoneId)
|
|
219
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
204
220
|
return await this.createIssue(issueBuilder);
|
|
205
221
|
}
|
|
206
222
|
/**
|
|
207
223
|
* Create a user-specific issue using IssueBuilder
|
|
208
224
|
*/
|
|
209
225
|
async createUserIssue(data) {
|
|
210
|
-
const issueBuilder = IssueBuilder_1.IssueBuilder.createUserIssue(data.entityId, data.propertyId, data.
|
|
226
|
+
const issueBuilder = IssueBuilder_1.IssueBuilder.createUserIssue(data.entityId, data.propertyId, data.type)
|
|
211
227
|
.setTitle(data.title)
|
|
212
228
|
.setDescription(data.description)
|
|
213
229
|
.setCreatedBy(data.createdBy);
|
|
@@ -219,6 +235,15 @@ let IssueService = (() => {
|
|
|
219
235
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
220
236
|
if (data.dueDate)
|
|
221
237
|
issueBuilder.setDueDate(data.dueDate);
|
|
238
|
+
if (data.zoneId)
|
|
239
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
240
|
+
return await this.createIssue(issueBuilder);
|
|
241
|
+
}
|
|
242
|
+
async createCloudAccountAuthorizationIssue(data) {
|
|
243
|
+
const issueBuilder = IssueBuilder_1.IssueBuilder.createCloudAccountAuthorizationIssue(data.propertyId, data.entityId, data.entityType, data.type)
|
|
244
|
+
.setTitle(data.title)
|
|
245
|
+
.setDescription(data.description)
|
|
246
|
+
.setCreatedBy(data.createdBy);
|
|
222
247
|
return await this.createIssue(issueBuilder);
|
|
223
248
|
}
|
|
224
249
|
/**
|
|
@@ -235,6 +260,7 @@ let IssueService = (() => {
|
|
|
235
260
|
createdBy: source,
|
|
236
261
|
category: issue_types_1.IssuesCategory.OPERATIONS,
|
|
237
262
|
priority: issue_types_1.IssuePriority.HIGH,
|
|
263
|
+
type: issue_types_1.IssueType.DEVICE_OFFLINE,
|
|
238
264
|
});
|
|
239
265
|
}
|
|
240
266
|
async createDoorLeftOpenIssue(device, source, reason) {
|
|
@@ -249,6 +275,7 @@ let IssueService = (() => {
|
|
|
249
275
|
createdBy: source,
|
|
250
276
|
category: issue_types_1.IssuesCategory.SECURITY,
|
|
251
277
|
priority: issue_types_1.IssuePriority.HIGH,
|
|
278
|
+
type: issue_types_1.IssueType.DOOR_LEFT_OPEN,
|
|
252
279
|
});
|
|
253
280
|
}
|
|
254
281
|
/**
|
|
@@ -265,6 +292,7 @@ let IssueService = (() => {
|
|
|
265
292
|
createdBy: source,
|
|
266
293
|
category: issue_types_1.IssuesCategory.ENERGY,
|
|
267
294
|
priority: issue_types_1.IssuePriority.MEDIUM,
|
|
295
|
+
type: issue_types_1.IssueType.BATTERY_LOW,
|
|
268
296
|
});
|
|
269
297
|
}
|
|
270
298
|
/**
|
|
@@ -281,13 +309,14 @@ let IssueService = (() => {
|
|
|
281
309
|
createdBy: source,
|
|
282
310
|
category: issue_types_1.IssuesCategory.OPERATIONS,
|
|
283
311
|
priority: issue_types_1.IssuePriority.HIGH,
|
|
312
|
+
type: issue_types_1.IssueType.DEVICE_MALFUNCTION,
|
|
284
313
|
});
|
|
285
314
|
}
|
|
286
315
|
/**
|
|
287
316
|
* Create a maintenance issue using IssueBuilder
|
|
288
317
|
*/
|
|
289
318
|
async createMaintenanceIssue(data) {
|
|
290
|
-
const issueBuilder = IssueBuilder_1.IssueBuilder.createMaintenanceIssue(data.propertyId, data.
|
|
319
|
+
const issueBuilder = IssueBuilder_1.IssueBuilder.createMaintenanceIssue(data.propertyId, data.type, data.entityId, data.entityType)
|
|
291
320
|
.setTitle(data.title)
|
|
292
321
|
.setDescription(data.description)
|
|
293
322
|
.setCreatedBy(data.createdBy);
|
|
@@ -295,13 +324,15 @@ let IssueService = (() => {
|
|
|
295
324
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
296
325
|
if (data.dueDate)
|
|
297
326
|
issueBuilder.setDueDate(data.dueDate);
|
|
327
|
+
if (data.zoneId)
|
|
328
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
298
329
|
return await this.createIssue(issueBuilder);
|
|
299
330
|
}
|
|
300
331
|
/**
|
|
301
332
|
* Create an urgent issue using IssueBuilder
|
|
302
333
|
*/
|
|
303
334
|
async createUrgentIssue(data) {
|
|
304
|
-
const issueBuilder = IssueBuilder_1.IssueBuilder.createUrgentIssue(data.propertyId, data.
|
|
335
|
+
const issueBuilder = IssueBuilder_1.IssueBuilder.createUrgentIssue(data.propertyId, data.type, data.entityId, data.entityType)
|
|
305
336
|
.setTitle(data.title)
|
|
306
337
|
.setDescription(data.description)
|
|
307
338
|
.setCreatedBy(data.createdBy);
|
|
@@ -309,6 +340,8 @@ let IssueService = (() => {
|
|
|
309
340
|
issueBuilder.setAssignedTo(data.assignedTo);
|
|
310
341
|
if (data.dueDate)
|
|
311
342
|
issueBuilder.setDueDate(data.dueDate);
|
|
343
|
+
if (data.zoneId)
|
|
344
|
+
issueBuilder.setZoneId(data.zoneId);
|
|
312
345
|
return await this.createIssue(issueBuilder);
|
|
313
346
|
}
|
|
314
347
|
/**
|
|
@@ -644,9 +677,7 @@ let IssueService = (() => {
|
|
|
644
677
|
if (!data.propertyId) {
|
|
645
678
|
throw new Error("Property ID is required");
|
|
646
679
|
}
|
|
647
|
-
|
|
648
|
-
throw new Error("Zone ID is required");
|
|
649
|
-
}
|
|
680
|
+
// Zone ID is now optional, so no validation needed
|
|
650
681
|
if (!data.createdBy) {
|
|
651
682
|
throw new Error("Created by user ID is required");
|
|
652
683
|
}
|
|
@@ -673,16 +704,19 @@ let IssueService = (() => {
|
|
|
673
704
|
issue_types_1.IssueStatus.IN_PROGRESS,
|
|
674
705
|
issue_types_1.IssueStatus.CANCELLED,
|
|
675
706
|
issue_types_1.IssueStatus.ON_HOLD,
|
|
707
|
+
issue_types_1.IssueStatus.IGNORED,
|
|
676
708
|
],
|
|
677
709
|
[issue_types_1.IssueStatus.IN_PROGRESS]: [
|
|
678
710
|
issue_types_1.IssueStatus.RESOLVED,
|
|
679
711
|
issue_types_1.IssueStatus.CANCELLED,
|
|
680
712
|
issue_types_1.IssueStatus.ON_HOLD,
|
|
713
|
+
issue_types_1.IssueStatus.IGNORED,
|
|
681
714
|
],
|
|
682
715
|
[issue_types_1.IssueStatus.RESOLVED]: [issue_types_1.IssueStatus.CLOSED, issue_types_1.IssueStatus.PENDING], // Reopen
|
|
683
716
|
[issue_types_1.IssueStatus.CLOSED]: [issue_types_1.IssueStatus.PENDING], // Reopen
|
|
684
717
|
[issue_types_1.IssueStatus.CANCELLED]: [issue_types_1.IssueStatus.PENDING], // Reopen
|
|
685
718
|
[issue_types_1.IssueStatus.ON_HOLD]: [issue_types_1.IssueStatus.PENDING, issue_types_1.IssueStatus.IN_PROGRESS],
|
|
719
|
+
[issue_types_1.IssueStatus.IGNORED]: [issue_types_1.IssueStatus.PENDING, issue_types_1.IssueStatus.IN_PROGRESS], // Reopen from ignored
|
|
686
720
|
};
|
|
687
721
|
if (!validTransitions[currentStatus]?.includes(newStatus)) {
|
|
688
722
|
throw new Error(`Invalid status transition from ${currentStatus} to ${newStatus}`);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateIssueData, IssuesCategory, IssuePriority, EntityType } from "./issue.types";
|
|
1
|
+
import { CreateIssueData, IssuesCategory, IssuePriority, EntityType, IssueType } from "./issue.types";
|
|
2
2
|
/**
|
|
3
3
|
* IssueBuilder - A builder pattern implementation for constructing CreateIssueData objects
|
|
4
4
|
*
|
|
@@ -31,9 +31,13 @@ export declare class IssueBuilder {
|
|
|
31
31
|
*/
|
|
32
32
|
setPropertyId(propertyId: string): this;
|
|
33
33
|
/**
|
|
34
|
-
* Sets the zone ID
|
|
34
|
+
* Sets the zone ID (optional)
|
|
35
35
|
*/
|
|
36
|
-
setZoneId(zoneId
|
|
36
|
+
setZoneId(zoneId?: string): this;
|
|
37
|
+
/**
|
|
38
|
+
* Sets the issue type
|
|
39
|
+
*/
|
|
40
|
+
setType(type: IssueType): this;
|
|
37
41
|
/**
|
|
38
42
|
* Sets the issue title
|
|
39
43
|
*/
|
|
@@ -89,25 +93,26 @@ export declare class IssueBuilder {
|
|
|
89
93
|
/**
|
|
90
94
|
* Creates a device-specific issue builder
|
|
91
95
|
*/
|
|
92
|
-
static createDeviceIssue(deviceId: string, propertyId: string,
|
|
96
|
+
static createDeviceIssue(deviceId: string, propertyId: string, type: IssueType): IssueBuilder;
|
|
93
97
|
/**
|
|
94
98
|
* Creates a hub-specific issue builder
|
|
95
99
|
*/
|
|
96
|
-
static createHubIssue(hubId: string, propertyId: string,
|
|
100
|
+
static createHubIssue(hubId: string, propertyId: string, type: IssueType): IssueBuilder;
|
|
97
101
|
/**
|
|
98
102
|
* Creates a user-specific issue builder
|
|
99
103
|
*/
|
|
100
|
-
static createUserIssue(userId: string, propertyId: string,
|
|
104
|
+
static createUserIssue(userId: string, propertyId: string, type: IssueType): IssueBuilder;
|
|
101
105
|
/**
|
|
102
106
|
* Creates a property-specific issue builder
|
|
103
107
|
*/
|
|
104
|
-
static createPropertyIssue(propertyId: string,
|
|
108
|
+
static createPropertyIssue(propertyId: string, type: IssueType): IssueBuilder;
|
|
105
109
|
/**
|
|
106
110
|
* Creates a maintenance issue builder
|
|
107
111
|
*/
|
|
108
|
-
static createMaintenanceIssue(propertyId: string,
|
|
112
|
+
static createMaintenanceIssue(propertyId: string, type: IssueType, entityId?: string, entityType?: EntityType): IssueBuilder;
|
|
109
113
|
/**
|
|
110
114
|
* Creates an urgent issue builder
|
|
111
115
|
*/
|
|
112
|
-
static createUrgentIssue(propertyId: string,
|
|
116
|
+
static createUrgentIssue(propertyId: string, type: IssueType, entityId?: string, entityType?: EntityType): IssueBuilder;
|
|
117
|
+
static createCloudAccountAuthorizationIssue(propertyId: string, entityId: string, entityType: EntityType, type: IssueType): IssueBuilder;
|
|
113
118
|
}
|