@kohost/api-client 3.0.0-beta.8 → 3.0.0-beta.81

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 (265) hide show
  1. package/README.md +71 -0
  2. package/dist/cjs/AMQPClient/index.js +296 -0
  3. package/dist/cjs/{Client.js → Client/index.js} +1535 -586
  4. package/dist/cjs/Commands/CheckInReservationCommand.js +19 -0
  5. package/dist/cjs/Commands/Command.js +34 -0
  6. package/dist/cjs/Commands/CreateImageUploadEndpointCommand.js +17 -0
  7. package/dist/cjs/Commands/CreateShortLinkCommand.js +20 -0
  8. package/dist/cjs/Commands/DiscoverCategoriesCommand.js +20 -0
  9. package/dist/cjs/Commands/DiscoverReservationSpaceCategoryAvailabilitiesCommand.js +20 -0
  10. package/dist/cjs/Commands/DiscoverReservationsCommand.js +20 -0
  11. package/dist/cjs/Commands/DiscoverRoomsCommand.js +37 -0
  12. package/dist/cjs/Commands/DiscoverUsersCommand.js +19 -0
  13. package/dist/cjs/Commands/GetMobileKeyCommand.js +24 -0
  14. package/dist/cjs/Commands/GetProductsCommand.js +17 -0
  15. package/dist/cjs/Commands/OCRDocumentCommand.js +15 -0
  16. package/dist/cjs/Commands/SellProductsCommand.js +17 -0
  17. package/dist/cjs/Commands/SendEmailCommand.js +24 -0
  18. package/dist/cjs/Commands/SendSMSCommand.js +21 -0
  19. package/dist/cjs/Commands/SetAlarmCommand.js +17 -0
  20. package/dist/cjs/Commands/SetCourtesyCommand.js +17 -0
  21. package/dist/cjs/Commands/SetDimmerCommand.js +17 -0
  22. package/dist/cjs/Commands/SetLockCommand.js +17 -0
  23. package/dist/cjs/Commands/SetMediaCommand.js +17 -0
  24. package/dist/cjs/Commands/SetSceneCommand.js +17 -0
  25. package/dist/cjs/Commands/SetSwitchCommand.js +17 -0
  26. package/dist/cjs/Commands/SetThermostatCommand.js +17 -0
  27. package/dist/cjs/Commands/SetWindowCoveringCommand.js +17 -0
  28. package/dist/cjs/Commands/UpdateReservationCommand.js +19 -0
  29. package/dist/cjs/Commands/UpdateUserCommand.js +41 -0
  30. package/dist/cjs/Commands/UploadImageCommand.js +17 -0
  31. package/dist/cjs/Commands/index.js +55 -0
  32. package/dist/cjs/Errors/AppError.js +8 -0
  33. package/dist/cjs/Errors/AuthenticationError.js +9 -0
  34. package/dist/cjs/Errors/AuthorizationError.js +9 -0
  35. package/dist/cjs/Errors/ConflictError.js +9 -0
  36. package/dist/cjs/Errors/DeviceCommError.js +9 -0
  37. package/dist/cjs/Errors/LoginError.js +9 -0
  38. package/dist/cjs/Errors/NotFoundError.js +9 -0
  39. package/dist/cjs/Errors/RequestError.js +9 -0
  40. package/dist/cjs/Errors/SystemCommError.js +9 -0
  41. package/dist/cjs/Errors/TokenExpiredError.js +9 -0
  42. package/dist/cjs/Errors/UnprocessableRequestError.js +9 -0
  43. package/dist/cjs/Errors/ValidationError.js +9 -0
  44. package/dist/cjs/Errors/index.js +16 -0
  45. package/dist/cjs/Events/ApplicationInUseEvent.js +21 -0
  46. package/dist/cjs/Events/ApplicationOutOfUseEvent.js +21 -0
  47. package/dist/cjs/Events/EmailEvent.js +18 -0
  48. package/dist/cjs/Events/Event.js +55 -0
  49. package/dist/cjs/Events/SMSEvent.js +18 -0
  50. package/dist/cjs/Events/SMSSentEvent.js +17 -0
  51. package/dist/cjs/Events/SceneSetEvent.js +17 -0
  52. package/dist/cjs/Events/ShortLinkCreatedEvent.js +17 -0
  53. package/dist/cjs/Events/SystemAlarmUpdatedEvent.js +17 -0
  54. package/dist/cjs/Events/SystemCameraUpdatedEvent.js +17 -0
  55. package/dist/cjs/Events/SystemCategoryUpdatedEvent.js +17 -0
  56. package/dist/cjs/Events/SystemCourtesyUpdatedEvent.js +17 -0
  57. package/dist/cjs/Events/SystemCredentialUpdatedEvent.js +17 -0
  58. package/dist/cjs/Events/SystemDimmerUpdatedEvent.js +17 -0
  59. package/dist/cjs/Events/SystemEntityDeletedEvent.js +17 -0
  60. package/dist/cjs/Events/SystemGatewayUpdatedEvent.js +17 -0
  61. package/dist/cjs/Events/SystemLockUpdatedEvent.js +17 -0
  62. package/dist/cjs/Events/SystemMediaSourceUpdatedEvent.js +17 -0
  63. package/dist/cjs/Events/SystemMotionSensorUpdatedEvent.js +17 -0
  64. package/dist/cjs/Events/SystemOrganizationUpdatedEvent.js +17 -0
  65. package/dist/cjs/Events/SystemProductUpdatedEvent.js +17 -0
  66. package/dist/cjs/Events/SystemPropertyUpdatedEvent.js +17 -0
  67. package/dist/cjs/Events/SystemReservationUpdatedEvent.js +17 -0
  68. package/dist/cjs/Events/SystemSceneControllerUpdatedEvent.js +17 -0
  69. package/dist/cjs/Events/SystemSpaceUpdatedEvent.js +17 -0
  70. package/dist/cjs/Events/SystemSwitchUpdatedEvent.js +17 -0
  71. package/dist/cjs/Events/SystemThermostatUpdatedEvent.js +17 -0
  72. package/dist/cjs/Events/SystemUserUpdatedEvent.js +17 -0
  73. package/dist/cjs/Events/SystemWindowCoveringUpdatedEvent.js +17 -0
  74. package/dist/cjs/Events/index.js +65 -0
  75. package/dist/cjs/Models/Alarm.js +35 -0
  76. package/dist/cjs/Models/Camera.js +35 -0
  77. package/dist/cjs/Models/Category.js +36 -0
  78. package/dist/cjs/Models/Courtesy.js +39 -0
  79. package/dist/cjs/Models/Credential.js +35 -0
  80. package/dist/cjs/Models/Dimmer.js +61 -0
  81. package/dist/cjs/Models/DiscoveredDevice.js +36 -0
  82. package/dist/cjs/Models/EmailMessage.js +35 -0
  83. package/dist/cjs/Models/EnergyReport.js +35 -0
  84. package/dist/cjs/Models/EnergyReportShard.js +35 -0
  85. package/dist/cjs/Models/Gateway.js +35 -0
  86. package/dist/cjs/Models/Identification.js +38 -0
  87. package/dist/cjs/Models/Kohost.js +96 -0
  88. package/dist/cjs/Models/Lock.js +39 -0
  89. package/dist/cjs/Models/MediaFile.js +48 -0
  90. package/dist/cjs/Models/MediaSource.js +35 -0
  91. package/dist/cjs/Models/MotionSensor.js +35 -0
  92. package/dist/cjs/Models/Notification.js +34 -0
  93. package/dist/cjs/Models/Order.js +97 -0
  94. package/dist/cjs/Models/Organization.js +34 -0
  95. package/dist/cjs/Models/Product.js +35 -0
  96. package/dist/cjs/Models/Property.js +34 -0
  97. package/dist/cjs/Models/Reservation.js +114 -0
  98. package/dist/cjs/Models/Room.js +218 -0
  99. package/dist/cjs/Models/Scene.js +169 -0
  100. package/dist/cjs/Models/ShortLink.js +35 -0
  101. package/dist/cjs/Models/SmsMessage.js +35 -0
  102. package/dist/cjs/Models/Space.js +97 -0
  103. package/dist/cjs/Models/Switch.js +39 -0
  104. package/dist/cjs/Models/SystemUser.js +55 -0
  105. package/dist/cjs/Models/Thermostat.js +86 -0
  106. package/dist/cjs/Models/Ticket.js +112 -0
  107. package/dist/cjs/Models/User.js +115 -0
  108. package/dist/cjs/Models/WindowCovering.js +55 -0
  109. package/dist/cjs/Models/index.js +72 -0
  110. package/dist/cjs/SocketIoClient/index.js +74 -0
  111. package/dist/cjs/defs/deviceTypes.js +15 -0
  112. package/dist/cjs/defs/formalDeviceTypes.js +6 -0
  113. package/dist/cjs/defs/index.js +11 -0
  114. package/dist/cjs/{index.cjs.js → index.js} +7 -1
  115. package/dist/cjs/schemas/AlarmSchema.d.ts +152 -0
  116. package/dist/cjs/schemas/CameraSchema.d.ts +143 -0
  117. package/dist/cjs/schemas/CategorySchema.d.ts +82 -0
  118. package/dist/cjs/schemas/CourtesySchema.d.ts +142 -0
  119. package/dist/cjs/schemas/CredentialSchema.d.ts +52 -0
  120. package/dist/cjs/schemas/DefinitionsSchema.d.ts +10 -0
  121. package/dist/cjs/schemas/DimmerSchema.d.ts +142 -0
  122. package/dist/cjs/schemas/DiscoveredDeviceSchema.d.ts +39 -0
  123. package/dist/cjs/schemas/EmailMessageSchema.d.ts +49 -0
  124. package/dist/cjs/schemas/EnergyReportSchema.d.ts +57 -0
  125. package/dist/cjs/schemas/EnergyReportShardSchema.d.ts +61 -0
  126. package/dist/cjs/schemas/GatewaySchema.d.ts +139 -0
  127. package/dist/cjs/schemas/IdentificationSchema.d.ts +45 -0
  128. package/dist/cjs/schemas/LockSchema.d.ts +142 -0
  129. package/dist/cjs/schemas/MediaFileSchema.d.ts +43 -0
  130. package/dist/cjs/schemas/MediaSourceSchema.d.ts +238 -0
  131. package/dist/cjs/schemas/MotionSensorSchema.d.ts +137 -0
  132. package/dist/cjs/schemas/NotificationSchema.d.ts +54 -0
  133. package/dist/cjs/schemas/OrderSchema.d.ts +91 -0
  134. package/dist/cjs/schemas/OrganizationSchema.d.ts +34 -0
  135. package/dist/cjs/schemas/PaymentSchema.d.ts +33 -0
  136. package/dist/cjs/schemas/ProductSchema.d.ts +66 -0
  137. package/dist/cjs/schemas/PropertySchema.d.ts +144 -0
  138. package/dist/cjs/schemas/ReservationSchema.d.ts +118 -0
  139. package/dist/cjs/schemas/RoomSchema.d.ts +1076 -0
  140. package/dist/cjs/schemas/SceneSchema.d.ts +57 -0
  141. package/dist/cjs/schemas/ShortLinkSchema.d.ts +20 -0
  142. package/dist/cjs/schemas/SmsMessageSchema.d.ts +40 -0
  143. package/dist/cjs/schemas/SpaceSchema.d.ts +69 -0
  144. package/dist/cjs/schemas/SwitchSchema.d.ts +142 -0
  145. package/dist/cjs/schemas/SystemUserSchema.d.ts +193 -0
  146. package/dist/cjs/schemas/ThermostatSchema.d.ts +172 -0
  147. package/dist/cjs/schemas/TicketSchema.d.ts +88 -0
  148. package/dist/cjs/schemas/UserSchema.d.ts +286 -0
  149. package/dist/cjs/schemas/WindowCoveringSchema.d.ts +141 -0
  150. package/dist/cjs/schemas/alarm.json +81 -0
  151. package/dist/cjs/schemas/camera.json +50 -0
  152. package/dist/cjs/schemas/category.json +42 -0
  153. package/dist/cjs/schemas/courtesy.json +48 -0
  154. package/dist/cjs/schemas/credential.json +44 -0
  155. package/dist/cjs/schemas/definitions.json +218 -0
  156. package/dist/cjs/schemas/dimmer.json +45 -0
  157. package/dist/cjs/schemas/discoveredDevice.json +31 -0
  158. package/dist/cjs/schemas/emailMessage.json +71 -0
  159. package/dist/cjs/schemas/energyReport.json +86 -0
  160. package/dist/cjs/schemas/energyReportShard.json +75 -0
  161. package/dist/cjs/schemas/gateway.json +34 -0
  162. package/dist/cjs/schemas/identification.json +61 -0
  163. package/dist/cjs/schemas/lock.json +44 -0
  164. package/dist/cjs/schemas/mediaFile.json +70 -0
  165. package/dist/cjs/schemas/mediaSource.json +187 -0
  166. package/dist/cjs/schemas/motionSensor.json +32 -0
  167. package/dist/cjs/schemas/notification.json +29 -0
  168. package/dist/cjs/schemas/order.json +182 -0
  169. package/dist/cjs/schemas/organization.json +40 -0
  170. package/dist/cjs/schemas/payment.json +47 -0
  171. package/dist/cjs/schemas/product.json +41 -0
  172. package/dist/cjs/schemas/property.json +347 -0
  173. package/dist/cjs/schemas/reservation.json +137 -0
  174. package/dist/cjs/schemas/room.json +98 -0
  175. package/dist/cjs/schemas/scene.json +121 -0
  176. package/dist/cjs/schemas/shortLink.json +30 -0
  177. package/dist/cjs/schemas/smsMessage.json +61 -0
  178. package/dist/cjs/schemas/space.json +129 -0
  179. package/dist/cjs/schemas/switch.json +44 -0
  180. package/dist/cjs/schemas/systemUser.json +98 -0
  181. package/dist/cjs/schemas/thermostat.json +150 -0
  182. package/dist/cjs/schemas/ticket.json +141 -0
  183. package/dist/cjs/schemas/user.json +170 -0
  184. package/dist/cjs/schemas/windowCovering.json +42 -0
  185. package/dist/cjs/utils/errorFactory.js +8 -0
  186. package/dist/cjs/utils/eventFactory.js +10 -0
  187. package/dist/cjs/utils/getDeviceTypes.js +7 -0
  188. package/dist/cjs/utils/getFormalDeviceType.js +5 -0
  189. package/dist/cjs/utils/index.js +11 -0
  190. package/dist/cjs/utils/schema.js +25 -0
  191. package/dist/esm/Client.js +1632 -627
  192. package/dist/esm/Client.js.map +4 -4
  193. package/dist/esm/Commands.js +493 -116
  194. package/dist/esm/Commands.js.map +3 -3
  195. package/dist/esm/Errors.js +73 -22
  196. package/dist/esm/Errors.js.map +3 -3
  197. package/dist/esm/Events.js +414 -73
  198. package/dist/esm/Events.js.map +3 -3
  199. package/dist/esm/Models.js +3418 -1271
  200. package/dist/esm/Models.js.map +4 -4
  201. package/dist/esm/SocketIoClient.js +4846 -0
  202. package/dist/esm/SocketIoClient.js.map +7 -0
  203. package/dist/esm/defs.js +146 -101
  204. package/dist/esm/defs.js.map +4 -4
  205. package/dist/esm/index.js +17 -10
  206. package/dist/esm/utils.js +446 -73
  207. package/dist/esm/utils.js.map +3 -3
  208. package/dist/useCases/AdminUpdateCustomer.js +1 -1
  209. package/dist/useCases/AssignSpaceToReservation.js +32 -0
  210. package/dist/useCases/{AdminCreateProperty.js → BatchNotifyCheckIn.js} +2 -2
  211. package/dist/useCases/{AdminCreateCustomer.js → CreateCateory.js} +2 -2
  212. package/dist/useCases/CreateImageUploadEndpoint.js +32 -0
  213. package/dist/useCases/{DeleteIntegration.js → CreateMediaSource.js} +4 -4
  214. package/dist/useCases/{AdminListCustomers.js → CreateOrganization.js} +3 -3
  215. package/dist/useCases/{AdminLoginUser.js → CreateProperty.js} +2 -2
  216. package/dist/useCases/DeleteCategory.js +32 -0
  217. package/dist/useCases/DeleteMediaFile.js +32 -0
  218. package/dist/useCases/DeleteMediaSource.js +32 -0
  219. package/dist/useCases/{ListIntegrations.js → DescribeCategory.js} +3 -3
  220. package/dist/useCases/{DeleteSource.js → DescribeLockCredential.js} +3 -3
  221. package/dist/useCases/{AdminListAdminUsers.js → DescribeMediaSource.js} +3 -3
  222. package/dist/useCases/DescribeMyAccessCredentials.js +32 -0
  223. package/dist/useCases/{AdminCreateAdminUser.js → DescribeOrganization.js} +4 -4
  224. package/dist/useCases/{DescribeIntegration.js → DescribeProduct.js} +2 -2
  225. package/dist/useCases/{AdminDescribeCustomer.js → DescribeProperty.js} +2 -2
  226. package/dist/useCases/DescribeReservationEarlyCheckInProducts.js +32 -0
  227. package/dist/useCases/DescribeReservationLateCheckOutProducts.js +32 -0
  228. package/dist/useCases/{AdminDescribeProperty.js → DescribeReservationRoomUpgrades.js} +2 -2
  229. package/dist/useCases/ListCategories.js +32 -0
  230. package/dist/useCases/ListMediaSources.js +32 -0
  231. package/dist/useCases/{CreateSource.js → ListMyOrders.js} +4 -4
  232. package/dist/useCases/{AdminListProperties.js → ListMyTickets.js} +2 -2
  233. package/dist/useCases/ListOrders.js +32 -0
  234. package/dist/useCases/{AdminRefreshToken.js → ListOrganizations.js} +3 -3
  235. package/dist/useCases/ListProperties.js +32 -0
  236. package/dist/useCases/ListScenes.js +32 -0
  237. package/dist/useCases/ListTeam.js +32 -0
  238. package/dist/useCases/ListUserOrders.js +32 -0
  239. package/dist/useCases/ListUserSpaces.js +32 -0
  240. package/dist/useCases/LogoutUser.js +32 -0
  241. package/dist/useCases/PurchaseReservationEarlyCheckInProducts.js +32 -0
  242. package/dist/useCases/PurchaseReservationLateCheckOutProducts.js +32 -0
  243. package/dist/useCases/{CreateIntegrationDeviceMapEntry.js → PurchaseReservationRoomUpgrades.js} +2 -2
  244. package/dist/useCases/RequestLoginLink.js +1 -1
  245. package/dist/useCases/{CreateIntegration.js → RequestMyKeyToken.js} +2 -2
  246. package/dist/useCases/RequestPWAToken.js +32 -0
  247. package/dist/useCases/SendCheckInSMS.js +32 -0
  248. package/dist/useCases/{SetSource.js → SetDimmer.js} +2 -2
  249. package/dist/useCases/{DescribeSource.js → SetMediaSource.js} +3 -3
  250. package/dist/useCases/{UpdateSource.js → SetRoomScene.js} +3 -3
  251. package/dist/useCases/SetSpaceScene.js +32 -0
  252. package/dist/useCases/TipUser.js +32 -0
  253. package/dist/useCases/{AdminUpdateProperty.js → UpdateCategory.js} +2 -2
  254. package/dist/useCases/{UpdateIntegration.js → UpdateMediaSource.js} +3 -3
  255. package/dist/useCases/UpdateProperty.js +32 -0
  256. package/dist/useCases/UpdateReservationExpectedArrivalTime.js +32 -0
  257. package/dist/useCases/{ListSources.js → UploadImage.js} +4 -4
  258. package/package.json +38 -10
  259. package/dist/cjs/Commands.js +0 -616
  260. package/dist/cjs/Errors.js +0 -176
  261. package/dist/cjs/Events.js +0 -387
  262. package/dist/cjs/Models.js +0 -3612
  263. package/dist/cjs/defs.js +0 -178
  264. package/dist/cjs/utils.js +0 -250
  265. package/dist/useCases/AdminRequestLoginLink.js +0 -32
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class ConflictError extends AppError {
4
+ constructor(message = "Bad Request", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 409;
7
+ Object.setPrototypeOf(this, ConflictError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class DeviceCommError extends AppError {
4
+ constructor(message = "Device Communication Error", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 503;
7
+ Object.setPrototypeOf(this, DeviceCommError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class LoginError extends AppError {
4
+ constructor(message = "Invalid Login information provided", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 401;
7
+ Object.setPrototypeOf(this, LoginError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class NotFoundError extends AppError {
4
+ constructor(message = "Resource Not Found", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 404;
7
+ Object.setPrototypeOf(this, NotFoundError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class RequestError extends AppError {
4
+ constructor(message = "Bad Request", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 400;
7
+ Object.setPrototypeOf(this, RequestError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class SystemCommError extends AppError {
4
+ constructor(message = "System Communication Error", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 503;
7
+ Object.setPrototypeOf(this, SystemCommError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class TokenExpiredError extends AppError {
4
+ constructor(message = "Token Expired", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 401;
7
+ Object.setPrototypeOf(this, TokenExpiredError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class UnprocessableRequestError extends AppError {
4
+ constructor(message = "Unprocessable Request Error", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 422;
7
+ Object.setPrototypeOf(this, UnprocessableRequestError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,9 @@
1
+ const AppError = require("./AppError");
2
+
3
+ module.exports = class ValidationError extends AppError {
4
+ constructor(message = "Validation Error", options = {}) {
5
+ super(message, options);
6
+ this.statusCode = 400;
7
+ Object.setPrototypeOf(this, ValidationError.prototype);
8
+ }
9
+ };
@@ -0,0 +1,16 @@
1
+ const Errors = {
2
+ AppError: require("./AppError"),
3
+ AuthenticationError: require("./AuthenticationError"),
4
+ AuthorizationError: require("./AuthorizationError"),
5
+ ConflictError: require("./ConflictError"),
6
+ DeviceCommError: require("./DeviceCommError"),
7
+ LoginError: require("./LoginError"),
8
+ NotFoundError: require("./NotFoundError"),
9
+ RequestError: require("./RequestError"),
10
+ SystemCommError: require("./SystemCommError"),
11
+ TokenExpiredError: require("./TokenExpiredError"),
12
+ UnprocessableRequestError: require("./UnprocessableRequestError"),
13
+ ValidationError: require("./ValidationError"),
14
+ };
15
+
16
+ module.exports = Errors;
@@ -0,0 +1,21 @@
1
+ const Event = require("./Event");
2
+
3
+ class ApplicationInUseEvent extends Event {
4
+ constructor({ propertyId }) {
5
+ super({ propertyId });
6
+ }
7
+
8
+ get name() {
9
+ return "ApplicationInUse";
10
+ }
11
+
12
+ get exchange() {
13
+ return "AppEvents";
14
+ }
15
+
16
+ get routingKey() {
17
+ return `app.${this.data[0].propertyId}.inUse`;
18
+ }
19
+ }
20
+
21
+ module.exports = ApplicationInUseEvent;
@@ -0,0 +1,21 @@
1
+ const Event = require("./Event");
2
+
3
+ class ApplicationOutOfUseEvent extends Event {
4
+ constructor({ propertyId }) {
5
+ super({ propertyId });
6
+ }
7
+
8
+ get name() {
9
+ return "ApplicationOutOfUse";
10
+ }
11
+
12
+ get exchange() {
13
+ return "AppEvents";
14
+ }
15
+
16
+ get routingKey() {
17
+ return `app.${this.data[0].propertyId}.notInUse`;
18
+ }
19
+ }
20
+
21
+ module.exports = ApplicationOutOfUseEvent;
@@ -0,0 +1,18 @@
1
+ const Event = require("./Event");
2
+
3
+ class EmailEvent extends Event {
4
+ constructor(email, context) {
5
+ super(email, context);
6
+ this.status = email.status;
7
+ }
8
+
9
+ get name() {
10
+ return "EmailEvent";
11
+ }
12
+
13
+ get routingKey() {
14
+ return `comm.email.${this.status}`;
15
+ }
16
+ }
17
+
18
+ module.exports = EmailEvent;
@@ -0,0 +1,55 @@
1
+ class Event {
2
+ constructor(data, context) {
3
+ this.data = [];
4
+ this.context = {};
5
+ if (!data) throw new Error("Event data is required");
6
+ if (typeof data !== "object" && !Array.isArray(data))
7
+ throw new Error("Event data must be an object or array");
8
+
9
+ if (!Array.isArray(data)) this.data = [data];
10
+ else this.data = data;
11
+
12
+ this.data = this.data.map((d) => {
13
+ if (d.eventData) {
14
+ if (!d.eventData.timestamp) d.eventData.timestamp = new Date();
15
+ if (!d.eventData.name) d.eventData.name = this.name;
16
+ if (!d.eventData.type) d.eventData.type = this.type;
17
+ }
18
+ return d;
19
+ });
20
+
21
+ if (context) {
22
+ for (const key in context) {
23
+ this.context[key] = context[key];
24
+ }
25
+ }
26
+ }
27
+
28
+ get keyId() {
29
+ if (Array.isArray(this.data)) return "batch";
30
+ if (this.data.id) return this.data.id;
31
+ return "unknown";
32
+ }
33
+
34
+ get name() {
35
+ throw new Error("Event name is required");
36
+ }
37
+
38
+ get type() {
39
+ return "Event";
40
+ }
41
+
42
+ get routingKey() {
43
+ return "";
44
+ }
45
+
46
+ get exchange() {
47
+ return "DriverEvents";
48
+ }
49
+
50
+ build() {
51
+ return { data: { ...this.data } };
52
+ }
53
+ }
54
+
55
+ module.exports = Event;
@@ -0,0 +1,18 @@
1
+ const Event = require("./Event");
2
+
3
+ class SMSEvent extends Event {
4
+ constructor(sms, context) {
5
+ super(sms, context);
6
+ this.status = sms.status;
7
+ }
8
+
9
+ get name() {
10
+ return "SMSEvent";
11
+ }
12
+
13
+ get routingKey() {
14
+ return `comm.sms.${this.status}`;
15
+ }
16
+ }
17
+
18
+ module.exports = SMSEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SMSSentEvent extends Event {
4
+ constructor(sms, context) {
5
+ super(sms, context);
6
+ }
7
+
8
+ get name() {
9
+ return "SMSSent";
10
+ }
11
+
12
+ get routingKey() {
13
+ return "comm.sms.sent";
14
+ }
15
+ }
16
+
17
+ module.exports = SMSSentEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SceneSetEvent extends Event {
4
+ constructor(scene) {
5
+ super(scene);
6
+ }
7
+
8
+ get name() {
9
+ return "SceneSet";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `scene.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SceneSetEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class ShortLinkCreatedEvent extends Event {
4
+ constructor(shortLink, context) {
5
+ super(shortLink, context);
6
+ }
7
+
8
+ get name() {
9
+ return "ShortLinkCreated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `shortlink.${this.keyId}.created`;
14
+ }
15
+ }
16
+
17
+ module.exports = ShortLinkCreatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemAlarmUpdatedEvent extends Event {
4
+ constructor(alarm) {
5
+ super(alarm);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemAlarmUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `alarm.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemAlarmUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemCameraUpdatedEvent extends Event {
4
+ constructor(camera) {
5
+ super(camera);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemCameraUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `camera.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemCameraUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemCategoryUpdatedEvent extends Event {
4
+ constructor(space) {
5
+ super(space);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemCategoryUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `category.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemCategoryUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemCourtesyUpdatedEvent extends Event {
4
+ constructor(courtesy) {
5
+ super(courtesy);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemCourtesyUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `courtesy.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemCourtesyUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemCredentialUpdatedEvent extends Event {
4
+ constructor(data) {
5
+ super(data);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemCredentialUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `credential.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemCredentialUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemDimmerUpdatedEvent extends Event {
4
+ constructor(dimmer) {
5
+ super(dimmer);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemDimmerUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `dimmer.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemDimmerUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemEntityDeletedEvent extends Event {
4
+ constructor(data) {
5
+ super(data);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemEntityDeleted";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `entity.${this.keyId}.deleted`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemEntityDeletedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemGatewayUpdatedEvent extends Event {
4
+ constructor(space) {
5
+ super(space);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemGatewayUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `gateway.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemGatewayUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemLockUpdatedEvent extends Event {
4
+ constructor(lock) {
5
+ super(lock);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemLockUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `lock.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemLockUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemMediaSourceUpdatedEvent extends Event {
4
+ constructor(mediaSource) {
5
+ super(mediaSource);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemMediaSourceUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `mediaSource.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemMediaSourceUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemMotionSensorUpdatedEvent extends Event {
4
+ constructor(mediaSource) {
5
+ super(mediaSource);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemMotionSensorUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `mediaSource.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemMotionSensorUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemOrganizationUpdatedEvent extends Event {
4
+ constructor(organization) {
5
+ super(organization);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemOrganizationUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `organization.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemOrganizationUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemProductUpdatedEvent extends Event {
4
+ constructor(product) {
5
+ super(product);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemProductUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `product.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemProductUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemPropertyUpdatedEvent extends Event {
4
+ constructor(property) {
5
+ super(property);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemPropertyUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `property.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemPropertyUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemReservationUpdatedEvent extends Event {
4
+ constructor(reservation) {
5
+ super(reservation);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemReservationUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `reservation.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemReservationUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemSceneControllerUpdatedEvent extends Event {
4
+ constructor(sceneController) {
5
+ super(sceneController);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemSceneControllerUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `sceneController.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemSceneControllerUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemSpaceUpdatedEvent extends Event {
4
+ constructor(space) {
5
+ super(space);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemSpaceUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `space.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemSpaceUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemSwitchUpdatedEvent extends Event {
4
+ constructor(_switch) {
5
+ super(_switch);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemSwitchUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `switch.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemSwitchUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemThermostatUpdatedEvent extends Event {
4
+ constructor(thermostat) {
5
+ super(thermostat);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemThermostatUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `thermostat.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemThermostatUpdatedEvent;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemUserUpdatedEvent extends Event {
4
+ constructor(user) {
5
+ super(user);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemUserUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `user.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemUserUpdatedEvent;