dt-common-device 11.2.1 → 12.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.
Files changed (229) hide show
  1. package/dist/chronicle/Cronicle.service.d.ts +6 -2
  2. package/dist/chronicle/Cronicle.service.js +19 -2
  3. package/dist/chronicle/ICronicle.interface.d.ts +1 -0
  4. package/dist/constants/ConnectionProviders.d.ts +0 -1
  5. package/dist/constants/ConnectionProviders.js +0 -1
  6. package/dist/entities/accessGroup/AccessGroup.repository.d.ts +2 -1
  7. package/dist/entities/accessGroup/AccessGroup.repository.js +4 -1
  8. package/dist/entities/accessGroup/AccessGroup.service.d.ts +2 -1
  9. package/dist/entities/accessGroup/AccessGroup.service.js +4 -3
  10. package/dist/entities/guest/Guest.repository.d.ts +1 -1
  11. package/dist/entities/guest/Guest.repository.js +5 -2
  12. package/dist/entities/guest/Guest.service.d.ts +1 -1
  13. package/dist/entities/guest/Guest.service.js +4 -1
  14. package/dist/entities/schedules/Schedule.repository.d.ts +1 -1
  15. package/dist/entities/schedules/Schedule.repository.js +5 -2
  16. package/dist/entities/schedules/Schedule.service.d.ts +1 -1
  17. package/dist/entities/schedules/Schedule.service.js +4 -1
  18. package/dist/entities/user/User.repository.js +4 -1
  19. package/dist/entities/user/User.service.d.ts +1 -1
  20. package/dist/entities/user/User.service.js +4 -1
  21. package/dist/entities/zone/Zone.service.js +4 -1
  22. package/dist/queue/utils/rateLimit.utils.js +0 -6
  23. package/package.json +1 -1
  24. package/dist/admin/Admin.repository.d.ts +0 -7
  25. package/dist/admin/Admin.repository.js +0 -182
  26. package/dist/admin/Admin.service.d.ts +0 -5
  27. package/dist/admin/Admin.service.js +0 -17
  28. package/dist/admin/index.d.ts +0 -1
  29. package/dist/admin/index.js +0 -17
  30. package/dist/audit/AuditProperties.d.ts +0 -16
  31. package/dist/audit/AuditProperties.js +0 -2
  32. package/dist/chronicle/IChronicle.interface.d.ts +0 -14
  33. package/dist/chronicle/IChronicle.interface.js +0 -2
  34. package/dist/chronicle/chronicle.service.d.ts +0 -4
  35. package/dist/chronicle/chronicle.service.js +0 -44
  36. package/dist/connection/Connection.repository.d.ts +0 -8
  37. package/dist/connection/Connection.repository.js +0 -92
  38. package/dist/connection/Connection.service.d.ts +0 -8
  39. package/dist/connection/Connection.service.js +0 -32
  40. package/dist/connection/IConnection.d.ts +0 -28
  41. package/dist/connection/IConnection.js +0 -16
  42. package/dist/connection/index.d.ts +0 -2
  43. package/dist/connection/index.js +0 -18
  44. package/dist/copilotQueue/examples/CopilotQueue.example.d.ts +0 -37
  45. package/dist/copilotQueue/examples/CopilotQueue.example.js +0 -140
  46. package/dist/copilotQueue/examples/index.d.ts +0 -1
  47. package/dist/copilotQueue/examples/index.js +0 -17
  48. package/dist/device/cloud/entities/CloudConnection.d.ts +0 -6
  49. package/dist/device/cloud/entities/CloudConnection.js +0 -6
  50. package/dist/device/cloud/entities/CloudDevice.d.ts +0 -16
  51. package/dist/device/cloud/entities/CloudDevice.js +0 -26
  52. package/dist/device/cloud/entities/CloudDeviceService.d.ts +0 -5
  53. package/dist/device/cloud/entities/CloudDeviceService.js +0 -9
  54. package/dist/device/cloud/entities/DeviceFactory.d.ts +0 -7
  55. package/dist/device/cloud/entities/DeviceFactory.js +0 -80
  56. package/dist/device/cloud/entities/index.d.ts +0 -3
  57. package/dist/device/cloud/entities/index.js +0 -19
  58. package/dist/device/cloud/interface.d.ts +0 -101
  59. package/dist/device/cloud/interface.js +0 -3
  60. package/dist/device/cloud/interfaces/ICloudConnection.d.ts +0 -5
  61. package/dist/device/cloud/interfaces/ICloudConnection.js +0 -2
  62. package/dist/device/cloud/interfaces/ICloudDevice.d.ts +0 -9
  63. package/dist/device/cloud/interfaces/ICloudDevice.js +0 -2
  64. package/dist/device/cloud/interfaces/ICloudDeviceService.d.ts +0 -4
  65. package/dist/device/cloud/interfaces/ICloudDeviceService.js +0 -2
  66. package/dist/device/cloud/interfaces/IConnectionService.d.ts +0 -7
  67. package/dist/device/cloud/interfaces/IConnectionService.js +0 -2
  68. package/dist/device/cloud/interfaces/IDeviceConnectionService.d.ts +0 -7
  69. package/dist/device/cloud/interfaces/IDeviceConnectionService.js +0 -3
  70. package/dist/device/cloud/interfaces/IDeviceFactory.d.ts +0 -4
  71. package/dist/device/cloud/interfaces/IDeviceFactory.js +0 -2
  72. package/dist/device/cloud/interfaces/IDeviceService.d.ts +0 -8
  73. package/dist/device/cloud/interfaces/IDeviceService.js +0 -2
  74. package/dist/device/cloud/interfaces/IDevicesService.d.ts +0 -9
  75. package/dist/device/cloud/interfaces/IDevicesService.js +0 -2
  76. package/dist/device/cloud/interfaces/IHubService.d.ts +0 -5
  77. package/dist/device/cloud/interfaces/IHubService.js +0 -2
  78. package/dist/device/cloud/interfaces/IRawDataTransformer.d.ts +0 -4
  79. package/dist/device/cloud/interfaces/IRawDataTransformer.js +0 -2
  80. package/dist/device/cloud/interfaces/IRawDevice.d.ts +0 -17
  81. package/dist/device/cloud/interfaces/IRawDevice.js +0 -11
  82. package/dist/device/cloud/interfaces/index.d.ts +0 -5
  83. package/dist/device/cloud/interfaces/index.js +0 -21
  84. package/dist/device/cloud/services/CloudDevice.service.d.ts +0 -5
  85. package/dist/device/cloud/services/CloudDevice.service.js +0 -9
  86. package/dist/device/cloud/services/Connection.service.d.ts +0 -8
  87. package/dist/device/cloud/services/Connection.service.js +0 -6
  88. package/dist/device/cloud/services/Device.service.d.ts +0 -39
  89. package/dist/device/cloud/services/Device.service.js +0 -9
  90. package/dist/device/cloud/services/DeviceCloudService.d.ts +0 -42
  91. package/dist/device/cloud/services/DeviceCloudService.js +0 -59
  92. package/dist/device/cloud/services/DeviceHub.service.d.ts +0 -3
  93. package/dist/device/cloud/services/DeviceHub.service.js +0 -6
  94. package/dist/device/cloud/services/Hub.service.d.ts +0 -25
  95. package/dist/device/cloud/services/Hub.service.js +0 -9
  96. package/dist/device/cloud/services/SmartThingsDeviceService.d.ts +0 -38
  97. package/dist/device/cloud/services/SmartThingsDeviceService.js +0 -52
  98. package/dist/device/cloud/services/index.d.ts +0 -2
  99. package/dist/device/cloud/services/index.js +0 -18
  100. package/dist/device/cloud/types.d.ts +0 -52
  101. package/dist/device/cloud/types.js +0 -15
  102. package/dist/device/index.d.ts +0 -4
  103. package/dist/device/index.js +0 -20
  104. package/dist/device/local/entities/AlertBuilder.d.ts +0 -87
  105. package/dist/device/local/entities/AlertBuilder.example.d.ts +0 -11
  106. package/dist/device/local/entities/AlertBuilder.example.js +0 -117
  107. package/dist/device/local/entities/AlertBuilder.js +0 -179
  108. package/dist/device/local/entities/IssueBuilder.d.ts +0 -109
  109. package/dist/device/local/entities/IssueBuilder.example.d.ts +0 -16
  110. package/dist/device/local/entities/IssueBuilder.example.js +0 -196
  111. package/dist/device/local/entities/IssueBuilder.js +0 -237
  112. package/dist/device/local/entities/index.d.ts +0 -2
  113. package/dist/device/local/entities/index.js +0 -7
  114. package/dist/device/local/events/EventHandler.d.ts +0 -11
  115. package/dist/device/local/events/EventHandler.js +0 -86
  116. package/dist/device/local/events/Events.d.ts +0 -54
  117. package/dist/device/local/events/Events.js +0 -57
  118. package/dist/device/local/events/index.d.ts +0 -2
  119. package/dist/device/local/events/index.js +0 -7
  120. package/dist/device/local/handler/EventHandler.d.ts +0 -7
  121. package/dist/device/local/handler/EventHandler.js +0 -44
  122. package/dist/device/local/interface.d.ts +0 -0
  123. package/dist/device/local/interface.js +0 -1
  124. package/dist/device/local/interfaces/IConnection.d.ts +0 -26
  125. package/dist/device/local/interfaces/IConnection.js +0 -14
  126. package/dist/device/local/interfaces/IDevice.d.ts +0 -68
  127. package/dist/device/local/interfaces/IDevice.js +0 -10
  128. package/dist/device/local/interfaces/IDtDevice.d.ts +0 -16
  129. package/dist/device/local/interfaces/IDtDevice.js +0 -2
  130. package/dist/device/local/interfaces/IHub.d.ts +0 -46
  131. package/dist/device/local/interfaces/IHub.js +0 -2
  132. package/dist/device/local/interfaces/IProperty.d.ts +0 -29
  133. package/dist/device/local/interfaces/IProperty.js +0 -2
  134. package/dist/device/local/interfaces/ISchedule.d.ts +0 -25
  135. package/dist/device/local/interfaces/ISchedule.js +0 -2
  136. package/dist/device/local/interfaces/index.d.ts +0 -3
  137. package/dist/device/local/interfaces/index.js +0 -19
  138. package/dist/device/local/models/Alert.model.d.ts +0 -28
  139. package/dist/device/local/models/Alert.model.js +0 -222
  140. package/dist/device/local/models/Issue.model.d.ts +0 -28
  141. package/dist/device/local/models/Issue.model.js +0 -260
  142. package/dist/device/local/repository/Alert.repository.d.ts +0 -106
  143. package/dist/device/local/repository/Alert.repository.js +0 -374
  144. package/dist/device/local/repository/Connection.repository.d.ts +0 -8
  145. package/dist/device/local/repository/Connection.repository.js +0 -92
  146. package/dist/device/local/repository/Device.repository.d.ts +0 -30
  147. package/dist/device/local/repository/Device.repository.js +0 -325
  148. package/dist/device/local/repository/Hub.repository.d.ts +0 -13
  149. package/dist/device/local/repository/Hub.repository.js +0 -139
  150. package/dist/device/local/repository/Issue.repository.d.ts +0 -113
  151. package/dist/device/local/repository/Issue.repository.js +0 -401
  152. package/dist/device/local/repository/Property.repository.d.ts +0 -8
  153. package/dist/device/local/repository/Property.repository.js +0 -95
  154. package/dist/device/local/repository/Schedule.repository.d.ts +0 -9
  155. package/dist/device/local/repository/Schedule.repository.js +0 -109
  156. package/dist/device/local/services/Alert.service.d.ts +0 -137
  157. package/dist/device/local/services/Alert.service.js +0 -475
  158. package/dist/device/local/services/AlertService.example.d.ts +0 -55
  159. package/dist/device/local/services/AlertService.example.js +0 -148
  160. package/dist/device/local/services/Connection.service.d.ts +0 -8
  161. package/dist/device/local/services/Connection.service.js +0 -32
  162. package/dist/device/local/services/Device.service.d.ts +0 -40
  163. package/dist/device/local/services/Device.service.js +0 -391
  164. package/dist/device/local/services/DeviceHub.service.d.ts +0 -11
  165. package/dist/device/local/services/DeviceHub.service.js +0 -40
  166. package/dist/device/local/services/Hub.service.d.ts +0 -12
  167. package/dist/device/local/services/Hub.service.js +0 -107
  168. package/dist/device/local/services/Issue.service.d.ts +0 -168
  169. package/dist/device/local/services/Issue.service.js +0 -642
  170. package/dist/device/local/services/IssueService.example.d.ts +0 -68
  171. package/dist/device/local/services/IssueService.example.js +0 -177
  172. package/dist/device/local/services/Property.service.d.ts +0 -8
  173. package/dist/device/local/services/Property.service.js +0 -36
  174. package/dist/device/local/services/Schedule.service.d.ts +0 -9
  175. package/dist/device/local/services/Schedule.service.js +0 -26
  176. package/dist/device/local/services/index.d.ts +0 -3
  177. package/dist/device/local/services/index.js +0 -19
  178. package/dist/pms/IPms.d.ts +0 -6
  179. package/dist/pms/IPms.js +0 -10
  180. package/dist/pms/index.d.ts +0 -1
  181. package/dist/pms/index.js +0 -18
  182. package/dist/pms/webhookQueue/examples/index.d.ts +0 -2
  183. package/dist/pms/webhookQueue/examples/index.js +0 -18
  184. package/dist/pms/webhookQueue/examples/pms-integration.d.ts +0 -65
  185. package/dist/pms/webhookQueue/examples/pms-integration.js +0 -254
  186. package/dist/pms/webhookQueue/examples/usage.d.ts +0 -7
  187. package/dist/pms/webhookQueue/examples/usage.js +0 -175
  188. package/dist/pms/webhookQueue/index.d.ts +0 -3
  189. package/dist/pms/webhookQueue/index.js +0 -20
  190. package/dist/pms/webhookQueue/interfaces/IWebhookQueue.d.ts +0 -33
  191. package/dist/pms/webhookQueue/interfaces/IWebhookQueue.js +0 -2
  192. package/dist/pms/webhookQueue/interfaces/IWebhookWorker.d.ts +0 -38
  193. package/dist/pms/webhookQueue/interfaces/IWebhookWorker.js +0 -2
  194. package/dist/pms/webhookQueue/interfaces/index.d.ts +0 -1
  195. package/dist/pms/webhookQueue/interfaces/index.js +0 -17
  196. package/dist/pms/webhookQueue/services/WebhookQueueFactory.d.ts +0 -38
  197. package/dist/pms/webhookQueue/services/WebhookQueueFactory.js +0 -131
  198. package/dist/pms/webhookQueue/services/WebhookQueueIntegration.d.ts +0 -70
  199. package/dist/pms/webhookQueue/services/WebhookQueueIntegration.js +0 -207
  200. package/dist/pms/webhookQueue/services/WebhookQueueService.d.ts +0 -45
  201. package/dist/pms/webhookQueue/services/WebhookQueueService.js +0 -270
  202. package/dist/pms/webhookQueue/services/WebhookWorker.d.ts +0 -37
  203. package/dist/pms/webhookQueue/services/WebhookWorker.js +0 -201
  204. package/dist/pms/webhookQueue/services/index.d.ts +0 -1
  205. package/dist/pms/webhookQueue/services/index.js +0 -17
  206. package/dist/pms/webhookQueue/types/index.d.ts +0 -1
  207. package/dist/pms/webhookQueue/types/index.js +0 -17
  208. package/dist/pms/webhookQueue/types/webhook.types.d.ts +0 -39
  209. package/dist/pms/webhookQueue/types/webhook.types.js +0 -2
  210. package/dist/property/IProperty.d.ts +0 -29
  211. package/dist/property/IProperty.js +0 -2
  212. package/dist/property/Property.repository.d.ts +0 -8
  213. package/dist/property/Property.repository.js +0 -109
  214. package/dist/property/Property.service.d.ts +0 -8
  215. package/dist/property/Property.service.js +0 -124
  216. package/dist/property/index.d.ts +0 -2
  217. package/dist/property/index.js +0 -18
  218. package/dist/queue/interfaces/IHttpRequestJob.d.ts +0 -9
  219. package/dist/queue/interfaces/IHttpRequestJob.js +0 -2
  220. package/dist/types/alert.types.d.ts +0 -57
  221. package/dist/types/alert.types.js +0 -22
  222. package/dist/types/config.types.d.ts +0 -19
  223. package/dist/types/config.types.js +0 -2
  224. package/dist/types/index.d.ts +0 -3
  225. package/dist/types/index.js +0 -19
  226. package/dist/types/issue.types.d.ts +0 -90
  227. package/dist/types/issue.types.js +0 -40
  228. package/dist/utils/http-utils.d.ts +0 -13
  229. package/dist/utils/http-utils.js +0 -117
@@ -1,260 +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 __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.IssueSchema = exports.IssueModel = void 0;
37
- const mongoose_1 = __importStar(require("mongoose"));
38
- const issue_types_1 = require("../../../types/issue.types");
39
- // Comment sub-schema
40
- const CommentSchema = new mongoose_1.Schema({
41
- id: { type: String, required: true },
42
- userId: { type: String, required: true },
43
- content: { type: String, required: true },
44
- createdAt: { type: Date, default: Date.now },
45
- updatedAt: { type: Date },
46
- }, { _id: false });
47
- // Main Issue schema
48
- const IssueSchema = new mongoose_1.Schema({
49
- category: {
50
- type: String,
51
- enum: Object.values(issue_types_1.IssuesCategory),
52
- required: true,
53
- },
54
- propertyId: {
55
- type: String,
56
- required: true,
57
- index: true,
58
- },
59
- title: {
60
- type: String,
61
- required: true,
62
- trim: true,
63
- },
64
- description: {
65
- type: String,
66
- required: true,
67
- trim: true,
68
- },
69
- entityId: {
70
- type: String,
71
- index: true,
72
- },
73
- entityType: {
74
- type: String,
75
- enum: Object.values(issue_types_1.EntityType),
76
- required: true,
77
- index: true,
78
- },
79
- status: {
80
- type: String,
81
- enum: Object.values(issue_types_1.IssueStatus),
82
- default: issue_types_1.IssueStatus.PENDING,
83
- index: true,
84
- },
85
- priority: {
86
- type: String,
87
- enum: Object.values(issue_types_1.IssuePriority),
88
- default: issue_types_1.IssuePriority.MEDIUM,
89
- },
90
- assignedTo: {
91
- type: String,
92
- index: true,
93
- },
94
- createdBy: {
95
- type: String,
96
- required: true,
97
- },
98
- updatedBy: {
99
- type: String,
100
- },
101
- isDeleted: {
102
- type: Boolean,
103
- default: false,
104
- },
105
- createdAt: {
106
- type: Date,
107
- default: Date.now,
108
- },
109
- updatedAt: {
110
- type: Date,
111
- default: Date.now,
112
- },
113
- resolvedAt: {
114
- type: Date,
115
- },
116
- dueDate: {
117
- type: Date,
118
- },
119
- comments: {
120
- type: [CommentSchema],
121
- default: [],
122
- },
123
- }, {
124
- timestamps: true,
125
- collection: "dt_issues",
126
- });
127
- exports.IssueSchema = IssueSchema;
128
- IssueSchema.index({ propertyId: 1, status: 1 });
129
- IssueSchema.index({ assignedTo: 1, status: 1 });
130
- IssueSchema.index({ entityId: 1, entityType: 1 });
131
- // Pre-save middleware to update the updatedAt field
132
- IssueSchema.pre("save", function (next) {
133
- this.updatedAt = new Date();
134
- next();
135
- });
136
- // Pre-update middleware to update the updatedAt field
137
- IssueSchema.pre(["updateOne", "findOneAndUpdate", "updateMany"], function (next) {
138
- this.set({ updatedAt: new Date() });
139
- next();
140
- });
141
- // Instance methods
142
- IssueSchema.methods.addComment = function (commentData) {
143
- const comment = {
144
- id: new mongoose_1.default.Types.ObjectId().toString(),
145
- userId: commentData.userId,
146
- content: commentData.content,
147
- createdAt: new Date(),
148
- };
149
- if (!this.comments) {
150
- this.comments = [];
151
- }
152
- this.comments.push(comment);
153
- };
154
- IssueSchema.methods.updateComment = function (commentId, content, userId) {
155
- if (!this.comments)
156
- return false;
157
- const comment = this.comments.find((c) => c.id === commentId);
158
- if (comment) {
159
- comment.content = content;
160
- comment.updatedAt = new Date();
161
- return true;
162
- }
163
- return false;
164
- };
165
- IssueSchema.methods.removeComment = function (commentId) {
166
- if (!this.comments)
167
- return false;
168
- const initialLength = this.comments.length;
169
- this.comments = this.comments.filter((c) => c.id !== commentId);
170
- return this.comments.length < initialLength;
171
- };
172
- IssueSchema.methods.resolve = function (resolvedBy) {
173
- this.status = issue_types_1.IssueStatus.RESOLVED;
174
- this.resolvedAt = new Date();
175
- this.updatedBy = resolvedBy;
176
- };
177
- IssueSchema.methods.reopen = function (updatedBy) {
178
- this.status = issue_types_1.IssueStatus.PENDING;
179
- this.resolvedAt = undefined;
180
- this.updatedBy = updatedBy;
181
- };
182
- IssueSchema.methods.assign = function (userId, assignedBy) {
183
- this.assignedTo = userId;
184
- this.updatedBy = assignedBy;
185
- };
186
- IssueSchema.methods.unassign = function (unassignedBy) {
187
- this.assignedTo = undefined;
188
- this.updatedBy = unassignedBy;
189
- };
190
- // Static methods
191
- IssueSchema.statics.findByProperty = function (propertyId, includeDeleted = false) {
192
- const query = { propertyId };
193
- if (!includeDeleted) {
194
- query.isDeleted = false;
195
- }
196
- return this.find(query).sort({ createdAt: -1 });
197
- };
198
- IssueSchema.statics.findByAssignee = function (assignedTo, includeDeleted = false) {
199
- const query = { assignedTo };
200
- if (!includeDeleted) {
201
- query.isDeleted = false;
202
- }
203
- return this.find(query).sort({ priority: -1, createdAt: -1 });
204
- };
205
- IssueSchema.statics.findByEntity = function (entityId, entityType, includeDeleted = false) {
206
- const query = { entityId, entityType };
207
- if (!includeDeleted) {
208
- query.isDeleted = false;
209
- }
210
- return this.find(query).sort({ createdAt: -1 });
211
- };
212
- IssueSchema.statics.findByStatus = function (status, includeDeleted = false) {
213
- const query = { status };
214
- if (!includeDeleted) {
215
- query.isDeleted = false;
216
- }
217
- return this.find(query).sort({ priority: -1, createdAt: -1 });
218
- };
219
- IssueSchema.statics.findByPriority = function (priority, includeDeleted = false) {
220
- const query = { priority };
221
- if (!includeDeleted) {
222
- query.isDeleted = false;
223
- }
224
- return this.find(query).sort({ createdAt: -1 });
225
- };
226
- IssueSchema.statics.findOverdue = function (includeDeleted = false) {
227
- const query = {
228
- dueDate: { $lt: new Date() },
229
- status: {
230
- $nin: [issue_types_1.IssueStatus.RESOLVED, issue_types_1.IssueStatus.CLOSED, issue_types_1.IssueStatus.CANCELLED],
231
- },
232
- };
233
- if (!includeDeleted) {
234
- query.isDeleted = false;
235
- }
236
- return this.find(query).sort({ dueDate: 1 });
237
- };
238
- IssueSchema.statics.findUpcoming = function (days = 7, includeDeleted = false) {
239
- const futureDate = new Date();
240
- futureDate.setDate(futureDate.getDate() + days);
241
- const query = {
242
- dueDate: { $gte: new Date(), $lte: futureDate },
243
- status: {
244
- $nin: [issue_types_1.IssueStatus.RESOLVED, issue_types_1.IssueStatus.CLOSED, issue_types_1.IssueStatus.CANCELLED],
245
- },
246
- };
247
- if (!includeDeleted) {
248
- query.isDeleted = false;
249
- }
250
- return this.find(query).sort({ dueDate: 1 });
251
- };
252
- // Virtual for soft delete
253
- IssueSchema.virtual("isActive").get(function () {
254
- return !this.isDeleted;
255
- });
256
- // Ensure virtuals are serialized
257
- IssueSchema.set("toJSON", { virtuals: true });
258
- IssueSchema.set("toObject", { virtuals: true });
259
- // Create and export the model
260
- exports.IssueModel = mongoose_1.default.model("Issue", IssueSchema);
@@ -1,106 +0,0 @@
1
- import { IAlertDocument } from "../models/Alert.model";
2
- import { CreateAlertData, UpdateAlertData, AlertCategory, AlertSeverity, EntityType } from "../../../types/alert.types";
3
- export declare class AlertRepository {
4
- /**
5
- * Create a new alert
6
- */
7
- create(alertData: CreateAlertData): Promise<IAlertDocument>;
8
- /**
9
- * Find alert by ID
10
- */
11
- findById(id: string, includeDeleted?: boolean): Promise<IAlertDocument | null>;
12
- /**
13
- * Find all alerts with filters
14
- */
15
- findAll(filters?: {
16
- propertyId?: string;
17
- category?: AlertCategory;
18
- severity?: AlertSeverity;
19
- entityType?: EntityType;
20
- entityId?: string;
21
- isActive?: boolean;
22
- isRead?: boolean;
23
- includeDeleted?: boolean;
24
- limit?: number;
25
- skip?: number;
26
- sort?: {
27
- [key: string]: 1 | -1;
28
- };
29
- }): Promise<IAlertDocument[]>;
30
- /**
31
- * Update an alert
32
- */
33
- update(id: string, updateData: UpdateAlertData): Promise<IAlertDocument | null>;
34
- /**
35
- * Soft delete an alert
36
- */
37
- softDelete(id: string, deletedBy: string): Promise<boolean>;
38
- /**
39
- * Permanently delete an alert
40
- */
41
- hardDelete(id: string): Promise<boolean>;
42
- /**
43
- * Count alerts with filters
44
- */
45
- count(filters?: {
46
- propertyId?: string;
47
- category?: AlertCategory;
48
- severity?: AlertSeverity;
49
- entityType?: EntityType;
50
- entityId?: string;
51
- isActive?: boolean;
52
- isRead?: boolean;
53
- includeDeleted?: boolean;
54
- }): Promise<number>;
55
- /**
56
- * Find alerts by property
57
- */
58
- findByProperty(propertyId: string, includeDeleted?: boolean): Promise<IAlertDocument[]>;
59
- /**
60
- * Find alerts by entity
61
- */
62
- findByEntity(entityId: string, entityType: EntityType, includeDeleted?: boolean): Promise<IAlertDocument[]>;
63
- /**
64
- * Find alerts by category
65
- */
66
- findByCategory(category: AlertCategory, includeDeleted?: boolean): Promise<IAlertDocument[]>;
67
- /**
68
- * Find alerts by severity
69
- */
70
- findBySeverity(severity: AlertSeverity, includeDeleted?: boolean): Promise<IAlertDocument[]>;
71
- /**
72
- * Find active alerts
73
- */
74
- findActive(includeDeleted?: boolean): Promise<IAlertDocument[]>;
75
- /**
76
- * Find unread alerts
77
- */
78
- findUnread(includeDeleted?: boolean): Promise<IAlertDocument[]>;
79
- /**
80
- * Find snoozed alerts
81
- */
82
- findSnoozed(includeDeleted?: boolean): Promise<IAlertDocument[]>;
83
- /**
84
- * Find expired snooze alerts
85
- */
86
- findExpiredSnooze(includeDeleted?: boolean): Promise<IAlertDocument[]>;
87
- /**
88
- * Get alert statistics
89
- */
90
- getStatistics(propertyId?: string): Promise<{
91
- total: number;
92
- active: number;
93
- unread: number;
94
- snoozed: number;
95
- bySeverity: Record<AlertSeverity, number>;
96
- byCategory: Record<AlertCategory, number>;
97
- }>;
98
- /**
99
- * Bulk update alerts
100
- */
101
- bulkUpdate(ids: string[], updateData: Partial<UpdateAlertData>): Promise<number>;
102
- /**
103
- * Bulk soft delete alerts
104
- */
105
- bulkSoftDelete(ids: string[], deletedBy: string): Promise<number>;
106
- }