@kohost/api-client 3.0.0-beta.5 → 3.0.0-beta.51

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 (211) hide show
  1. package/README.md +71 -0
  2. package/dist/cjs/AMQPClient/index.js +290 -0
  3. package/dist/cjs/{Client.js → Client/index.js} +1938 -986
  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/DiscoverReservationRoomTypeUpsellOptionsCommand.js +20 -0
  9. package/dist/cjs/Commands/DiscoverReservationsCommand.js +20 -0
  10. package/dist/cjs/Commands/DiscoverRoomTypesCommand.js +19 -0
  11. package/dist/cjs/Commands/DiscoverRoomsCommand.js +35 -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/DeviceCommError.js +9 -0
  36. package/dist/cjs/Errors/LoginError.js +9 -0
  37. package/dist/cjs/Errors/NotFoundError.js +9 -0
  38. package/dist/cjs/Errors/RequestError.js +9 -0
  39. package/dist/cjs/Errors/SystemCommError.js +9 -0
  40. package/dist/cjs/Errors/TokenExpiredError.js +9 -0
  41. package/dist/cjs/Errors/UnprocessableRequestError.js +9 -0
  42. package/dist/cjs/Errors/ValidationError.js +9 -0
  43. package/dist/cjs/Errors/index.js +15 -0
  44. package/dist/cjs/Events/ApplicationInUseEvent.js +17 -0
  45. package/dist/cjs/Events/ApplicationOutOfUseEvent.js +17 -0
  46. package/dist/cjs/Events/EmailEvent.js +18 -0
  47. package/dist/cjs/Events/Event.js +55 -0
  48. package/dist/cjs/Events/SMSEvent.js +18 -0
  49. package/dist/cjs/Events/SMSSentEvent.js +17 -0
  50. package/dist/cjs/Events/ShortLinkCreatedEvent.js +17 -0
  51. package/dist/cjs/Events/SystemAlarmUpdatedEvent.js +17 -0
  52. package/dist/cjs/Events/SystemCameraUpdatedEvent.js +17 -0
  53. package/dist/cjs/Events/SystemCourtesyUpdatedEvent.js +17 -0
  54. package/dist/cjs/Events/SystemDimmerUpdatedEvent.js +17 -0
  55. package/dist/cjs/Events/SystemGatewayUpdatedEvent.js +17 -0
  56. package/dist/cjs/Events/SystemLockUpdatedEvent.js +17 -0
  57. package/dist/cjs/Events/SystemMediaSourceUpdatedEvent.js +17 -0
  58. package/dist/cjs/Events/SystemMotionSensorUpdatedEvent.js +17 -0
  59. package/dist/cjs/Events/SystemProductUpdatedEvent.js +17 -0
  60. package/dist/cjs/Events/SystemReservationUpdatedEvent.js +17 -0
  61. package/dist/cjs/Events/SystemSceneControllerUpdatedEvent.js +17 -0
  62. package/dist/cjs/Events/SystemSpaceTypeUpdatedEvent.js +17 -0
  63. package/dist/cjs/Events/SystemSpaceUpdatedEvent.js +17 -0
  64. package/dist/cjs/Events/SystemSwitchUpdatedEvent.js +17 -0
  65. package/dist/cjs/Events/SystemThermostatUpdatedEvent.js +17 -0
  66. package/dist/cjs/Events/SystemUserUpdatedEvent.js +17 -0
  67. package/dist/cjs/Events/SystemWindowCoveringUpdatedEvent.js +17 -0
  68. package/dist/cjs/Events/index.js +51 -0
  69. package/dist/cjs/Models/Alarm.js +35 -0
  70. package/dist/cjs/Models/Camera.js +35 -0
  71. package/dist/cjs/Models/Courtesy.js +39 -0
  72. package/dist/cjs/Models/Credential.js +35 -0
  73. package/dist/cjs/Models/Dimmer.js +61 -0
  74. package/dist/cjs/Models/DiscoveredDevice.js +36 -0
  75. package/dist/cjs/Models/EmailMessage.js +35 -0
  76. package/dist/cjs/Models/EnergyReport.js +35 -0
  77. package/dist/cjs/Models/EnergyReportShard.js +35 -0
  78. package/dist/cjs/Models/Gateway.js +35 -0
  79. package/dist/cjs/Models/Identification.js +38 -0
  80. package/dist/cjs/Models/Kohost.js +96 -0
  81. package/dist/cjs/Models/Lock.js +39 -0
  82. package/dist/cjs/Models/MediaFile.js +47 -0
  83. package/dist/cjs/Models/MediaSource.js +35 -0
  84. package/dist/cjs/Models/MotionSensor.js +35 -0
  85. package/dist/cjs/Models/Organization.js +34 -0
  86. package/dist/cjs/Models/Product.js +35 -0
  87. package/dist/cjs/Models/Property.js +34 -0
  88. package/dist/cjs/Models/Reservation.js +104 -0
  89. package/dist/cjs/Models/Room.js +218 -0
  90. package/dist/cjs/Models/Scene.js +189 -0
  91. package/dist/cjs/Models/ShortLink.js +35 -0
  92. package/dist/cjs/Models/SmsMessage.js +35 -0
  93. package/dist/cjs/Models/Space.js +97 -0
  94. package/dist/cjs/Models/SpaceType.js +36 -0
  95. package/dist/cjs/Models/Switch.js +39 -0
  96. package/dist/cjs/Models/SystemUser.js +55 -0
  97. package/dist/cjs/Models/Thermostat.js +86 -0
  98. package/dist/cjs/Models/Ticket.js +111 -0
  99. package/dist/cjs/Models/User.js +79 -0
  100. package/dist/cjs/Models/WindowCovering.js +55 -0
  101. package/dist/cjs/Models/index.js +68 -0
  102. package/dist/cjs/SocketIoClient/index.js +74 -0
  103. package/dist/cjs/defs/deviceTypes.js +15 -0
  104. package/dist/cjs/defs/formalDeviceTypes.js +6 -0
  105. package/dist/cjs/defs/index.js +11 -0
  106. package/dist/cjs/{index.cjs.js → index.js} +7 -1
  107. package/dist/cjs/schemas/alarm.json +103 -0
  108. package/dist/cjs/schemas/camera.json +50 -0
  109. package/dist/cjs/schemas/courtesy.json +46 -0
  110. package/dist/cjs/schemas/credential.json +31 -0
  111. package/dist/cjs/schemas/definitions.json +191 -0
  112. package/dist/cjs/schemas/dimmer.json +43 -0
  113. package/dist/cjs/schemas/discoveredDevice.json +31 -0
  114. package/dist/cjs/schemas/emailMessage.json +71 -0
  115. package/dist/cjs/schemas/energyReport.json +86 -0
  116. package/dist/cjs/schemas/energyReportShard.json +75 -0
  117. package/dist/cjs/schemas/gateway.json +35 -0
  118. package/dist/cjs/schemas/identification.json +61 -0
  119. package/dist/cjs/schemas/lock.json +45 -0
  120. package/dist/cjs/schemas/mediaFile.json +67 -0
  121. package/dist/cjs/schemas/mediaSource.json +184 -0
  122. package/dist/cjs/schemas/motionSensor.json +32 -0
  123. package/dist/cjs/schemas/organization.json +36 -0
  124. package/dist/cjs/schemas/payment.json +47 -0
  125. package/dist/cjs/schemas/product.json +40 -0
  126. package/dist/cjs/schemas/property.json +246 -0
  127. package/dist/cjs/schemas/reservation.json +118 -0
  128. package/dist/cjs/schemas/room.json +98 -0
  129. package/dist/cjs/schemas/scene.json +121 -0
  130. package/dist/cjs/schemas/shortLink.json +30 -0
  131. package/dist/cjs/schemas/smsMessage.json +61 -0
  132. package/dist/cjs/schemas/space.json +120 -0
  133. package/dist/cjs/schemas/spaceType.json +30 -0
  134. package/dist/cjs/schemas/switch.json +42 -0
  135. package/dist/cjs/schemas/systemUser.json +95 -0
  136. package/dist/cjs/schemas/thermostat.json +153 -0
  137. package/dist/cjs/schemas/ticket.json +96 -0
  138. package/dist/cjs/schemas/user.json +152 -0
  139. package/dist/cjs/schemas/windowCovering.json +43 -0
  140. package/dist/cjs/utils/errorFactory.js +8 -0
  141. package/dist/cjs/utils/eventFactory.js +10 -0
  142. package/dist/cjs/utils/getDeviceTypes.js +7 -0
  143. package/dist/cjs/utils/getFormalDeviceType.js +5 -0
  144. package/dist/cjs/utils/index.js +11 -0
  145. package/dist/cjs/utils/schema.js +25 -0
  146. package/dist/esm/Client.js +2293 -1205
  147. package/dist/esm/Client.js.map +4 -4
  148. package/dist/esm/Commands.js +478 -73
  149. package/dist/esm/Commands.js.map +3 -3
  150. package/dist/esm/Errors.js +35 -0
  151. package/dist/esm/Errors.js.map +1 -1
  152. package/dist/esm/Events.js +290 -63
  153. package/dist/esm/Events.js.map +3 -3
  154. package/dist/esm/Models.js +3074 -880
  155. package/dist/esm/Models.js.map +4 -4
  156. package/dist/esm/SocketIoClient.js +4748 -0
  157. package/dist/esm/SocketIoClient.js.map +7 -0
  158. package/dist/esm/defs.js +407 -279
  159. package/dist/esm/defs.js.map +4 -4
  160. package/dist/esm/index.js +17 -10
  161. package/dist/esm/utils.js +742 -85
  162. package/dist/esm/utils.js.map +3 -3
  163. package/dist/useCases/{AdminUpdateProperty.js → AdminUpdateCustomer.js} +2 -2
  164. package/dist/useCases/AssignSpaceToReservation.js +32 -0
  165. package/dist/useCases/BatchNotifyCheckIn.js +32 -0
  166. package/dist/useCases/CreateImageUploadEndpoint.js +32 -0
  167. package/dist/useCases/{CreateSource.js → CreateMediaSource.js} +2 -2
  168. package/dist/useCases/{AdminListCustomers.js → CreateOrganization.js} +3 -3
  169. package/dist/useCases/{LoginGateway.js → CreateProperty.js} +2 -2
  170. package/dist/useCases/{AdminCreateProperty.js → CreateSpaceType.js} +2 -2
  171. package/dist/useCases/DeleteMediaFile.js +32 -0
  172. package/dist/useCases/{DeleteSource.js → DeleteMediaSource.js} +2 -2
  173. package/dist/useCases/DeleteSpaceType.js +32 -0
  174. package/dist/useCases/DescribeLockCredential.js +32 -0
  175. package/dist/useCases/{DescribeIntegration.js → DescribeMediaSource.js} +3 -3
  176. package/dist/useCases/DescribeMyAccessCredentials.js +32 -0
  177. package/dist/useCases/{AdminDescribeProperty.js → DescribeOrganization.js} +2 -2
  178. package/dist/useCases/DescribeProduct.js +32 -0
  179. package/dist/useCases/{ListIntegrations.js → DescribeProperty.js} +3 -3
  180. package/dist/useCases/DescribeReservationEarlyCheckInProducts.js +32 -0
  181. package/dist/useCases/DescribeReservationRoomUpgrades.js +32 -0
  182. package/dist/useCases/{DeleteIntegration.js → DescribeSpaceType.js} +2 -2
  183. package/dist/useCases/ListMediaSources.js +32 -0
  184. package/dist/useCases/{AdminListProperties.js → ListMyTickets.js} +2 -2
  185. package/dist/useCases/{UpdateIntegration.js → ListOrganizations.js} +4 -4
  186. package/dist/useCases/ListProperties.js +32 -0
  187. package/dist/useCases/ListScenes.js +32 -0
  188. package/dist/useCases/ListSpaceTypes.js +32 -0
  189. package/dist/useCases/ListTeam.js +32 -0
  190. package/dist/useCases/ListUserSpaces.js +32 -0
  191. package/dist/useCases/LogoutUser.js +32 -0
  192. package/dist/useCases/PurchaseReservationEarlyCheckInProducts.js +32 -0
  193. package/dist/useCases/{CreateIntegrationDeviceMapEntry.js → PurchaseReservationRoomUpgrades.js} +2 -2
  194. package/dist/useCases/RequestLoginLink.js +1 -1
  195. package/dist/useCases/{CreateIntegration.js → RequestMyKeyToken.js} +2 -2
  196. package/dist/useCases/SendCheckInSMS.js +32 -0
  197. package/dist/useCases/{SetSource.js → SetDimmer.js} +2 -2
  198. package/dist/useCases/{DescribeSource.js → SetMediaSource.js} +3 -3
  199. package/dist/useCases/{UpdateSource.js → SetRoomScene.js} +3 -3
  200. package/dist/useCases/SetSpaceScene.js +32 -0
  201. package/dist/useCases/UpdateMediaSource.js +32 -0
  202. package/dist/useCases/UpdateProperty.js +32 -0
  203. package/dist/useCases/UpdateSpaceType.js +32 -0
  204. package/dist/useCases/{ListSources.js → UploadImage.js} +4 -4
  205. package/package.json +36 -10
  206. package/dist/cjs/Commands.js +0 -568
  207. package/dist/cjs/Errors.js +0 -174
  208. package/dist/cjs/Events.js +0 -375
  209. package/dist/cjs/Models.js +0 -3582
  210. package/dist/cjs/defs.js +0 -175
  211. package/dist/cjs/utils.js +0 -246
@@ -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,15 @@
1
+ const Errors = {
2
+ AppError: require("./AppError"),
3
+ AuthenticationError: require("./AuthenticationError"),
4
+ AuthorizationError: require("./AuthorizationError"),
5
+ DeviceCommError: require("./DeviceCommError"),
6
+ LoginError: require("./LoginError"),
7
+ NotFoundError: require("./NotFoundError"),
8
+ RequestError: require("./RequestError"),
9
+ SystemCommError: require("./SystemCommError"),
10
+ TokenExpiredError: require("./TokenExpiredError"),
11
+ UnprocessableRequestError: require("./UnprocessableRequestError"),
12
+ ValidationError: require("./ValidationError"),
13
+ };
14
+
15
+ module.exports = Errors;
@@ -0,0 +1,17 @@
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 routingKey() {
13
+ return `app.${this.data[0].propertyId}.inUse`;
14
+ }
15
+ }
16
+
17
+ module.exports = ApplicationInUseEvent;
@@ -0,0 +1,17 @@
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 routingKey() {
13
+ return `app.${this.data[0].propertyId}.notInUse`;
14
+ }
15
+ }
16
+
17
+ 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 "Events";
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 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 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 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 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 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 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 SystemSpaceTypeUpdatedEvent extends Event {
4
+ constructor(space) {
5
+ super(space);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemSpaceTypeUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `spaceType.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemSpaceTypeUpdatedEvent;
@@ -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;
@@ -0,0 +1,17 @@
1
+ const Event = require("./Event");
2
+
3
+ class SystemWindowCoveringUpdatedEvent extends Event {
4
+ constructor(wc) {
5
+ super(wc);
6
+ }
7
+
8
+ get name() {
9
+ return "SystemWindowCoveringUpdated";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `windowCovering.${this.keyId}.updated`;
14
+ }
15
+ }
16
+
17
+ module.exports = SystemWindowCoveringUpdatedEvent;
@@ -0,0 +1,51 @@
1
+ const SystemGatewayUpdatedEvent = require("./SystemGatewayUpdatedEvent");
2
+ const SystemThermostatUpdatedEvent = require("./SystemThermostatUpdatedEvent");
3
+ const SystemDimmerUpdatedEvent = require("./SystemDimmerUpdatedEvent");
4
+ const SystemSwitchUpdatedEvent = require("./SystemSwitchUpdatedEvent");
5
+ const SystemLockUpdatedEvent = require("./SystemLockUpdatedEvent");
6
+ const SystemCameraUpdatedEvent = require("./SystemCameraUpdatedEvent");
7
+ const SystemSceneControllerUpdatedEvent = require("./SystemSceneControllerUpdatedEvent");
8
+ const SystemWindowCoveringUpdatedEvent = require("./SystemWindowCoveringUpdatedEvent");
9
+ const SystemMediaSourceUpdatedEvent = require("./SystemMediaSourceUpdatedEvent");
10
+ const SystemCourtesyUpdatedEvent = require("./SystemCourtesyUpdatedEvent");
11
+ const SystemAlarmUpdatedEvent = require("./SystemAlarmUpdatedEvent");
12
+ const SystemMotionSensorUpdatedEvent = require("./SystemMotionSensorUpdatedEvent");
13
+
14
+ const SystemUserUpdatedEvent = require("./SystemUserUpdatedEvent");
15
+ const SystemSpaceUpdatedEvent = require("./SystemSpaceUpdatedEvent");
16
+ const SystemSpaceTypeUpdatedEvent = require("./SystemSpaceTypeUpdatedEvent");
17
+ const SystemProductUpdatedEvent = require("./SystemProductUpdatedEvent");
18
+
19
+ const SystemReservationUpdatedEvent = require("./SystemReservationUpdatedEvent");
20
+
21
+ const SMSEvent = require("./SMSEvent");
22
+ const EmailEvent = require("./EmailEvent");
23
+ const ShortLinkCreatedEvent = require("./ShortLinkCreatedEvent");
24
+
25
+ const ApplicationInUseEvent = require("./ApplicationInUseEvent");
26
+ const ApplicationOutOfUseEvent = require("./ApplicationOutOfUseEvent");
27
+
28
+ module.exports = {
29
+ SystemAlarmUpdatedEvent,
30
+ SystemGatewayUpdatedEvent,
31
+ SystemThermostatUpdatedEvent,
32
+ SystemDimmerUpdatedEvent,
33
+ SystemSwitchUpdatedEvent,
34
+ SystemLockUpdatedEvent,
35
+ SystemCameraUpdatedEvent,
36
+ SystemSceneControllerUpdatedEvent,
37
+ SystemWindowCoveringUpdatedEvent,
38
+ SystemMediaSourceUpdatedEvent,
39
+ SystemMotionSensorUpdatedEvent,
40
+ SystemCourtesyUpdatedEvent,
41
+ SystemUserUpdatedEvent,
42
+ SystemSpaceUpdatedEvent,
43
+ SystemSpaceTypeUpdatedEvent,
44
+ SystemProductUpdatedEvent,
45
+ SystemReservationUpdatedEvent,
46
+ SMSEvent,
47
+ EmailEvent,
48
+ ShortLinkCreatedEvent,
49
+ ApplicationInUseEvent,
50
+ ApplicationOutOfUseEvent,
51
+ };
@@ -0,0 +1,35 @@
1
+ // create the Alarm Model
2
+ const schemas = require("../utils/schema");
3
+ const schema = require("../schemas/alarm.json");
4
+ const Kohost = require("./Kohost");
5
+
6
+ schemas.add(schema);
7
+ const validator = schemas.compile(schema);
8
+
9
+ class Alarm extends Kohost {
10
+ /**
11
+ * @typedef {import("../schemas/AlarmSchema").Alarm} AlarmType
12
+ * Create a Alarm instance.
13
+ * @constructor
14
+ * @param {AlarmType} alarm - The alarm object of type Alarm.
15
+ */
16
+ constructor(alarm) {
17
+ super(alarm);
18
+ }
19
+ }
20
+
21
+ Object.defineProperty(Alarm.prototype, "schema", {
22
+ value: schema,
23
+ });
24
+
25
+ Object.defineProperty(Alarm.prototype, "validator", {
26
+ get: function () {
27
+ return validator;
28
+ },
29
+ });
30
+
31
+ Object.defineProperty(Alarm, "validProperties", {
32
+ value: Object.keys(schema.properties),
33
+ });
34
+
35
+ module.exports = Alarm;