@kohost/api-client 3.0.0-beta.10 → 3.0.0-beta.101

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 (281) 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} +1973 -624
  4. package/dist/cjs/Commands/CheckInReservationCommand.js +19 -0
  5. package/dist/cjs/Commands/CheckOutReservationCommand.js +20 -0
  6. package/dist/cjs/Commands/Command.js +34 -0
  7. package/dist/cjs/Commands/CreateImageUploadEndpointCommand.js +17 -0
  8. package/dist/cjs/Commands/CreateShortLinkCommand.js +20 -0
  9. package/dist/cjs/Commands/DiscoverCategoriesCommand.js +20 -0
  10. package/dist/cjs/Commands/DiscoverReservationSpaceCategoryAvailabilitiesCommand.js +20 -0
  11. package/dist/cjs/Commands/DiscoverReservationsCommand.js +20 -0
  12. package/dist/cjs/Commands/DiscoverRoomsCommand.js +37 -0
  13. package/dist/cjs/Commands/DiscoverUsersCommand.js +19 -0
  14. package/dist/cjs/Commands/GetMobileKeyCommand.js +24 -0
  15. package/dist/cjs/Commands/GetProductsCommand.js +17 -0
  16. package/dist/cjs/Commands/OCRDocumentCommand.js +15 -0
  17. package/dist/cjs/Commands/SellProductsCommand.js +17 -0
  18. package/dist/cjs/Commands/SendEmailCommand.js +24 -0
  19. package/dist/cjs/Commands/SendSMSCommand.js +22 -0
  20. package/dist/cjs/Commands/SetAlarmCommand.js +17 -0
  21. package/dist/cjs/Commands/SetCourtesyCommand.js +17 -0
  22. package/dist/cjs/Commands/SetDimmerCommand.js +17 -0
  23. package/dist/cjs/Commands/SetLockCommand.js +17 -0
  24. package/dist/cjs/Commands/SetMediaCommand.js +17 -0
  25. package/dist/cjs/Commands/SetSceneCommand.js +17 -0
  26. package/dist/cjs/Commands/SetSwitchCommand.js +17 -0
  27. package/dist/cjs/Commands/SetThermostatCommand.js +17 -0
  28. package/dist/cjs/Commands/SetWindowCoveringCommand.js +17 -0
  29. package/dist/cjs/Commands/UpdateReservationCommand.js +19 -0
  30. package/dist/cjs/Commands/UpdateUserCommand.js +41 -0
  31. package/dist/cjs/Commands/UploadImageCommand.js +17 -0
  32. package/dist/cjs/Commands/index.js +57 -0
  33. package/dist/cjs/Errors/AppError.js +8 -0
  34. package/dist/cjs/Errors/AuthenticationError.js +9 -0
  35. package/dist/cjs/Errors/AuthorizationError.js +9 -0
  36. package/dist/cjs/Errors/ConflictError.js +9 -0
  37. package/dist/cjs/Errors/DeviceCommError.js +9 -0
  38. package/dist/cjs/Errors/LoginError.js +9 -0
  39. package/dist/cjs/Errors/NotFoundError.js +9 -0
  40. package/dist/cjs/Errors/RequestError.js +9 -0
  41. package/dist/cjs/Errors/SystemCommError.js +9 -0
  42. package/dist/cjs/Errors/TokenExpiredError.js +9 -0
  43. package/dist/cjs/Errors/UnprocessableRequestError.js +9 -0
  44. package/dist/cjs/Errors/ValidationError.js +9 -0
  45. package/dist/cjs/Errors/index.js +16 -0
  46. package/dist/cjs/Events/ApplicationInUseEvent.js +25 -0
  47. package/dist/cjs/Events/ApplicationOutOfUseEvent.js +25 -0
  48. package/dist/cjs/Events/EmailEvent.js +18 -0
  49. package/dist/cjs/Events/Event.js +55 -0
  50. package/dist/cjs/Events/SMSEvent.js +18 -0
  51. package/dist/cjs/Events/SMSSentEvent.js +17 -0
  52. package/dist/cjs/Events/SceneSetEvent.js +17 -0
  53. package/dist/cjs/Events/ShortLinkCreatedEvent.js +17 -0
  54. package/dist/cjs/Events/SystemAlarmUpdatedEvent.js +17 -0
  55. package/dist/cjs/Events/SystemCameraUpdatedEvent.js +17 -0
  56. package/dist/cjs/Events/SystemCategoryUpdatedEvent.js +17 -0
  57. package/dist/cjs/Events/SystemCourtesyUpdatedEvent.js +17 -0
  58. package/dist/cjs/Events/SystemCredentialUpdatedEvent.js +17 -0
  59. package/dist/cjs/Events/SystemDimmerUpdatedEvent.js +17 -0
  60. package/dist/cjs/Events/SystemEntityDeletedEvent.js +17 -0
  61. package/dist/cjs/Events/SystemGatewayUpdatedEvent.js +17 -0
  62. package/dist/cjs/Events/SystemLockUpdatedEvent.js +17 -0
  63. package/dist/cjs/Events/SystemMediaSourceUpdatedEvent.js +17 -0
  64. package/dist/cjs/Events/SystemMotionSensorUpdatedEvent.js +17 -0
  65. package/dist/cjs/Events/SystemOrganizationUpdatedEvent.js +17 -0
  66. package/dist/cjs/Events/SystemProductUpdatedEvent.js +17 -0
  67. package/dist/cjs/Events/SystemPropertyUpdatedEvent.js +17 -0
  68. package/dist/cjs/Events/SystemReservationUpdatedEvent.js +17 -0
  69. package/dist/cjs/Events/SystemSceneControllerUpdatedEvent.js +17 -0
  70. package/dist/cjs/Events/SystemSpaceUpdatedEvent.js +17 -0
  71. package/dist/cjs/Events/SystemSwitchUpdatedEvent.js +17 -0
  72. package/dist/cjs/Events/SystemThermostatUpdatedEvent.js +17 -0
  73. package/dist/cjs/Events/SystemUserUpdatedEvent.js +17 -0
  74. package/dist/cjs/Events/SystemWindowCoveringUpdatedEvent.js +17 -0
  75. package/dist/cjs/Events/index.js +65 -0
  76. package/dist/cjs/Models/Alarm.js +35 -0
  77. package/dist/cjs/Models/Announcement.js +34 -0
  78. package/dist/cjs/Models/Camera.js +35 -0
  79. package/dist/cjs/Models/Category.js +36 -0
  80. package/dist/cjs/Models/Courtesy.js +39 -0
  81. package/dist/cjs/Models/Credential.js +35 -0
  82. package/dist/cjs/Models/DeviceRouter.js +36 -0
  83. package/dist/cjs/Models/Dimmer.js +61 -0
  84. package/dist/cjs/Models/DiscoveredDevice.js +36 -0
  85. package/dist/cjs/Models/EmailMessage.js +35 -0
  86. package/dist/cjs/Models/EnergyReport.js +35 -0
  87. package/dist/cjs/Models/EnergyReportShard.js +35 -0
  88. package/dist/cjs/Models/Entity.js +96 -0
  89. package/dist/cjs/Models/Gateway.js +35 -0
  90. package/dist/cjs/Models/Identification.js +38 -0
  91. package/dist/cjs/Models/Lock.js +39 -0
  92. package/dist/cjs/Models/MediaFile.js +48 -0
  93. package/dist/cjs/Models/MediaSource.js +35 -0
  94. package/dist/cjs/Models/MotionSensor.js +35 -0
  95. package/dist/cjs/Models/Order.js +97 -0
  96. package/dist/cjs/Models/Organization.js +34 -0
  97. package/dist/cjs/Models/Product.js +35 -0
  98. package/dist/cjs/Models/Property.js +34 -0
  99. package/dist/cjs/Models/Reservation.js +114 -0
  100. package/dist/cjs/Models/Room.js +217 -0
  101. package/dist/cjs/Models/Scene.js +169 -0
  102. package/dist/cjs/Models/ShortLink.js +35 -0
  103. package/dist/cjs/Models/SmsMessage.js +35 -0
  104. package/dist/cjs/Models/Space.js +97 -0
  105. package/dist/cjs/Models/Switch.js +39 -0
  106. package/dist/cjs/Models/SystemUser.js +55 -0
  107. package/dist/cjs/Models/Thermostat.js +86 -0
  108. package/dist/cjs/Models/Ticket.js +55 -0
  109. package/dist/cjs/Models/User.js +115 -0
  110. package/dist/cjs/Models/WindowCovering.js +55 -0
  111. package/dist/cjs/Models/index.js +77 -0
  112. package/dist/cjs/SocketIoClient/index.js +74 -0
  113. package/dist/cjs/defs/deviceTypes.js +15 -0
  114. package/dist/cjs/defs/formalDeviceTypes.js +6 -0
  115. package/dist/cjs/defs/index.js +11 -0
  116. package/dist/cjs/{index.cjs.js → index.js} +7 -1
  117. package/dist/cjs/schemas/AlarmSchema.d.ts +158 -0
  118. package/dist/cjs/schemas/AnnouncementSchema.d.ts +61 -0
  119. package/dist/cjs/schemas/CameraSchema.d.ts +149 -0
  120. package/dist/cjs/schemas/CategorySchema.d.ts +82 -0
  121. package/dist/cjs/schemas/CourtesySchema.d.ts +148 -0
  122. package/dist/cjs/schemas/CredentialSchema.d.ts +53 -0
  123. package/dist/cjs/schemas/DefinitionsSchema.d.ts +10 -0
  124. package/dist/cjs/schemas/DeviceRouterSchema.d.ts +23 -0
  125. package/dist/cjs/schemas/DimmerSchema.d.ts +147 -0
  126. package/dist/cjs/schemas/DiscoveredDeviceSchema.d.ts +43 -0
  127. package/dist/cjs/schemas/EmailMessageSchema.d.ts +49 -0
  128. package/dist/cjs/schemas/EnergyReportSchema.d.ts +57 -0
  129. package/dist/cjs/schemas/EnergyReportShardSchema.d.ts +61 -0
  130. package/dist/cjs/schemas/GatewaySchema.d.ts +145 -0
  131. package/dist/cjs/schemas/IdentificationSchema.d.ts +45 -0
  132. package/dist/cjs/schemas/LockSchema.d.ts +152 -0
  133. package/dist/cjs/schemas/MediaFileSchema.d.ts +43 -0
  134. package/dist/cjs/schemas/MediaSourceSchema.d.ts +244 -0
  135. package/dist/cjs/schemas/MotionSensorSchema.d.ts +143 -0
  136. package/dist/cjs/schemas/OrderSchema.d.ts +91 -0
  137. package/dist/cjs/schemas/OrganizationSchema.d.ts +34 -0
  138. package/dist/cjs/schemas/PaymentSchema.d.ts +33 -0
  139. package/dist/cjs/schemas/ProductSchema.d.ts +66 -0
  140. package/dist/cjs/schemas/PropertySchema.d.ts +144 -0
  141. package/dist/cjs/schemas/ReservationSchema.d.ts +119 -0
  142. package/dist/cjs/schemas/RoomSchema.d.ts +1103 -0
  143. package/dist/cjs/schemas/SceneSchema.d.ts +57 -0
  144. package/dist/cjs/schemas/ShortLinkSchema.d.ts +20 -0
  145. package/dist/cjs/schemas/SmsMessageSchema.d.ts +40 -0
  146. package/dist/cjs/schemas/SpaceSchema.d.ts +73 -0
  147. package/dist/cjs/schemas/SwitchSchema.d.ts +148 -0
  148. package/dist/cjs/schemas/SystemUserSchema.d.ts +194 -0
  149. package/dist/cjs/schemas/ThermostatSchema.d.ts +178 -0
  150. package/dist/cjs/schemas/TicketSchema.d.ts +90 -0
  151. package/dist/cjs/schemas/UserSchema.d.ts +287 -0
  152. package/dist/cjs/schemas/WindowCoveringSchema.d.ts +147 -0
  153. package/dist/cjs/schemas/alarm.json +81 -0
  154. package/dist/cjs/schemas/announcement.json +47 -0
  155. package/dist/cjs/schemas/camera.json +50 -0
  156. package/dist/cjs/schemas/category.json +42 -0
  157. package/dist/cjs/schemas/courtesy.json +48 -0
  158. package/dist/cjs/schemas/credential.json +51 -0
  159. package/dist/cjs/schemas/definitions.json +223 -0
  160. package/dist/cjs/schemas/deviceRouter.json +28 -0
  161. package/dist/cjs/schemas/dimmer.json +42 -0
  162. package/dist/cjs/schemas/discoveredDevice.json +35 -0
  163. package/dist/cjs/schemas/emailMessage.json +71 -0
  164. package/dist/cjs/schemas/energyReport.json +86 -0
  165. package/dist/cjs/schemas/energyReportShard.json +75 -0
  166. package/dist/cjs/schemas/gateway.json +34 -0
  167. package/dist/cjs/schemas/identification.json +61 -0
  168. package/dist/cjs/schemas/lock.json +50 -0
  169. package/dist/cjs/schemas/mediaFile.json +70 -0
  170. package/dist/cjs/schemas/mediaSource.json +187 -0
  171. package/dist/cjs/schemas/motionSensor.json +32 -0
  172. package/dist/cjs/schemas/order.json +182 -0
  173. package/dist/cjs/schemas/organization.json +40 -0
  174. package/dist/cjs/schemas/payment.json +47 -0
  175. package/dist/cjs/schemas/product.json +41 -0
  176. package/dist/cjs/schemas/property.json +347 -0
  177. package/dist/cjs/schemas/reservation.json +137 -0
  178. package/dist/cjs/schemas/room.json +98 -0
  179. package/dist/cjs/schemas/scene.json +121 -0
  180. package/dist/cjs/schemas/shortLink.json +30 -0
  181. package/dist/cjs/schemas/smsMessage.json +61 -0
  182. package/dist/cjs/schemas/space.json +129 -0
  183. package/dist/cjs/schemas/switch.json +44 -0
  184. package/dist/cjs/schemas/systemUser.json +98 -0
  185. package/dist/cjs/schemas/thermostat.json +150 -0
  186. package/dist/cjs/schemas/ticket.json +181 -0
  187. package/dist/cjs/schemas/user.json +170 -0
  188. package/dist/cjs/schemas/windowCovering.json +42 -0
  189. package/dist/cjs/utils/errorFactory.js +8 -0
  190. package/dist/cjs/utils/eventFactory.js +10 -0
  191. package/dist/cjs/utils/getDeviceTypes.js +7 -0
  192. package/dist/cjs/utils/getFormalDeviceType.js +5 -0
  193. package/dist/cjs/utils/index.js +11 -0
  194. package/dist/cjs/utils/schema.js +25 -0
  195. package/dist/esm/Client.js +2068 -652
  196. package/dist/esm/Client.js.map +4 -4
  197. package/dist/esm/Commands.js +519 -140
  198. package/dist/esm/Commands.js.map +3 -3
  199. package/dist/esm/Errors.js +73 -22
  200. package/dist/esm/Errors.js.map +3 -3
  201. package/dist/esm/Events.js +422 -73
  202. package/dist/esm/Events.js.map +3 -3
  203. package/dist/esm/Models.js +3407 -3923
  204. package/dist/esm/Models.js.map +4 -4
  205. package/dist/esm/SocketIoClient.js +4846 -0
  206. package/dist/esm/SocketIoClient.js.map +7 -0
  207. package/dist/esm/defs.js +168 -112
  208. package/dist/esm/defs.js.map +4 -4
  209. package/dist/esm/index.js +17 -10
  210. package/dist/esm/utils.js +451 -73
  211. package/dist/esm/utils.js.map +3 -3
  212. package/dist/useCases/AdminUpdateCustomer.js +1 -1
  213. package/dist/useCases/AssignSpaceToReservation.js +32 -0
  214. package/dist/useCases/{AdminCreateProperty.js → BatchNotifyCheckIn.js} +2 -2
  215. package/dist/useCases/{AdminCreateCustomer.js → BatchNotifyCheckOut.js} +2 -2
  216. package/dist/useCases/BatchNotifyMissedCheckOut.js +32 -0
  217. package/dist/useCases/{AdminUpdateProperty.js → CheckOutReservation.js} +3 -3
  218. package/dist/useCases/{AdminListCustomers.js → CreateAnnouncement.js} +3 -3
  219. package/dist/useCases/CreateCateory.js +32 -0
  220. package/dist/useCases/CreateImageUploadEndpoint.js +32 -0
  221. package/dist/useCases/CreateMediaSource.js +32 -0
  222. package/dist/useCases/CreateOrganization.js +32 -0
  223. package/dist/useCases/{AdminLoginUser.js → CreateProperty.js} +2 -2
  224. package/dist/useCases/DeleteAnnouncement.js +32 -0
  225. package/dist/useCases/DeleteCategory.js +32 -0
  226. package/dist/useCases/DeleteMediaFile.js +32 -0
  227. package/dist/useCases/DeleteMediaSource.js +32 -0
  228. package/dist/useCases/{AdminCreateAdminUser.js → DescribeAnnouncement.js} +4 -4
  229. package/dist/useCases/{ListIntegrations.js → DescribeCategory.js} +3 -3
  230. package/dist/useCases/DescribeLockCredential.js +32 -0
  231. package/dist/useCases/{AdminListAdminUsers.js → DescribeMediaSource.js} +3 -3
  232. package/dist/useCases/DescribeMyAccessCredentials.js +32 -0
  233. package/dist/useCases/{AdminDescribeCustomer.js → DescribeOrganization.js} +2 -2
  234. package/dist/useCases/{DescribeIntegration.js → DescribeProduct.js} +2 -2
  235. package/dist/useCases/DescribeProperty.js +32 -0
  236. package/dist/useCases/DescribeReservationEarlyCheckInProducts.js +32 -0
  237. package/dist/useCases/DescribeReservationLateCheckOutProducts.js +32 -0
  238. package/dist/useCases/{AdminDescribeProperty.js → DescribeReservationRoomUpgrades.js} +2 -2
  239. package/dist/useCases/{AdminRefreshToken.js → ListAnnouncements.js} +3 -3
  240. package/dist/useCases/ListCategories.js +32 -0
  241. package/dist/useCases/ListMediaSources.js +32 -0
  242. package/dist/useCases/{CreateSource.js → ListMyOrders.js} +4 -4
  243. package/dist/useCases/{AdminListProperties.js → ListMyTickets.js} +2 -2
  244. package/dist/useCases/ListOrders.js +32 -0
  245. package/dist/useCases/{DeleteIntegration.js → ListOrganizations.js} +3 -3
  246. package/dist/useCases/ListProperties.js +32 -0
  247. package/dist/useCases/ListScenes.js +32 -0
  248. package/dist/useCases/ListTeam.js +32 -0
  249. package/dist/useCases/ListUserOrders.js +32 -0
  250. package/dist/useCases/ListUserSpaces.js +32 -0
  251. package/dist/useCases/LogoutUser.js +32 -0
  252. package/dist/useCases/PurchaseReservationEarlyCheckInProducts.js +32 -0
  253. package/dist/useCases/PurchaseReservationLateCheckOutProducts.js +32 -0
  254. package/dist/useCases/{CreateIntegrationDeviceMapEntry.js → PurchaseReservationRoomUpgrades.js} +2 -2
  255. package/dist/useCases/RequestLoginLink.js +1 -1
  256. package/dist/useCases/{CreateIntegration.js → RequestMyKeyToken.js} +2 -2
  257. package/dist/useCases/RequestPWAToken.js +32 -0
  258. package/dist/useCases/SendCheckInSMS.js +32 -0
  259. package/dist/useCases/SendCheckOutSMS.js +32 -0
  260. package/dist/useCases/SendRoomControlSMS.js +32 -0
  261. package/dist/useCases/{DeleteSource.js → SetAlarm.js} +3 -3
  262. package/dist/useCases/{SetSource.js → SetDimmer.js} +2 -2
  263. package/dist/useCases/{DescribeSource.js → SetMediaSource.js} +3 -3
  264. package/dist/useCases/{UpdateSource.js → SetRoomScene.js} +3 -3
  265. package/dist/useCases/SetSpaceScene.js +32 -0
  266. package/dist/useCases/TipUser.js +32 -0
  267. package/dist/useCases/UpdateAnnouncement.js +32 -0
  268. package/dist/useCases/UpdateCategory.js +32 -0
  269. package/dist/useCases/{UpdateIntegration.js → UpdateMediaSource.js} +3 -3
  270. package/dist/useCases/UpdateProperty.js +32 -0
  271. package/dist/useCases/UpdateReservationExpectedArrivalTime.js +32 -0
  272. package/dist/useCases/{ListSources.js → UploadImage.js} +4 -4
  273. package/package.json +37 -14
  274. package/dist/cjs/Commands.js +0 -643
  275. package/dist/cjs/Errors.js +0 -176
  276. package/dist/cjs/Events.js +0 -387
  277. package/dist/cjs/Models.js +0 -3612
  278. package/dist/cjs/defs.js +0 -178
  279. package/dist/cjs/utils.js +0 -250
  280. package/dist/useCases/AdminRequestLoginLink.js +0 -32
  281. package/dist/useCases/DescribeReservationCheckinStatus.js +0 -32
@@ -0,0 +1,19 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class CheckInReservationCommand extends Command {
5
+ constructor({ id, ...rest }) {
6
+ if (!id) throw new RequestError("reservation id is required");
7
+ super({ id, ...rest });
8
+ }
9
+
10
+ get name() {
11
+ return "CheckInReservation";
12
+ }
13
+
14
+ get routingKey() {
15
+ return `reservation.${this.data.id}.checkin`;
16
+ }
17
+ }
18
+
19
+ module.exports = CheckInReservationCommand;
@@ -0,0 +1,20 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class CheckOutReservationCommand extends Command {
5
+ constructor({ reservationId, userId, ...rest }) {
6
+ if (!reservationId) throw new RequestError("reservation id is required");
7
+ if (!userId) throw new RequestError("user id is required");
8
+ super({ reservationId, userId, ...rest });
9
+ }
10
+
11
+ get name() {
12
+ return "CheckOutReservation";
13
+ }
14
+
15
+ get routingKey() {
16
+ return `reservation.${this.data.id}.checkout`;
17
+ }
18
+ }
19
+
20
+ module.exports = CheckOutReservationCommand;
@@ -0,0 +1,34 @@
1
+ class Command {
2
+ constructor(data) {
3
+ this.data = {};
4
+ if (!data) throw new Error("Command data is required");
5
+ if (typeof data !== "object")
6
+ throw new Error("Command data must be an object");
7
+
8
+ for (const key in data) {
9
+ this.data[key] = data[key];
10
+ }
11
+ }
12
+
13
+ get name() {
14
+ throw new Error("Command name is required");
15
+ }
16
+
17
+ get type() {
18
+ return "Command";
19
+ }
20
+
21
+ get routingKey() {
22
+ return "";
23
+ }
24
+
25
+ get exchange() {
26
+ return "Commands";
27
+ }
28
+
29
+ build() {
30
+ return { data: { ...this.data } };
31
+ }
32
+ }
33
+
34
+ module.exports = Command;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class CreateImageUploadEndpointCommand extends Command {
4
+ constructor({ id, expires, ...rest }) {
5
+ super({ id, expires, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "CreateImageUploadEndpoint";
10
+ }
11
+
12
+ get routingKey() {
13
+ return "image.createUploadEndpoint";
14
+ }
15
+ }
16
+
17
+ module.exports = CreateImageUploadEndpointCommand;
@@ -0,0 +1,20 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class CreateShortLinkCommand extends Command {
5
+ constructor({ title, destination, ...rest }) {
6
+ if (!title) throw new RequestError("title is required");
7
+ if (!destination) throw new RequestError("destination to is required");
8
+ super({ title, destination, ...rest });
9
+ }
10
+
11
+ get name() {
12
+ return "CreateShortLink";
13
+ }
14
+
15
+ get routingKey() {
16
+ return "comm.shortlink.create";
17
+ }
18
+ }
19
+
20
+ module.exports = CreateShortLinkCommand;
@@ -0,0 +1,20 @@
1
+ const Command = require("./Command");
2
+
3
+ class DiscoverCategoriesCommand extends Command {
4
+ constructor({ id, ...rest }) {
5
+ super({ id, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "DiscoverCategories";
10
+ }
11
+
12
+ get routingKey() {
13
+ if (typeof this.data.id === "string")
14
+ return `categories.${this.data.id}.get`;
15
+ if (Array.isArray(this.data.id)) return "categories.batch.get";
16
+ return "categories.get";
17
+ }
18
+ }
19
+
20
+ module.exports = DiscoverCategoriesCommand;
@@ -0,0 +1,20 @@
1
+ const { RequestError } = require("../Errors");
2
+ const Command = require("./Command");
3
+
4
+ class DiscoverReservationSpaceCategoryAvailabilitiesCommand extends Command {
5
+ constructor(options) {
6
+ if (!options) throw new RequestError("options are required");
7
+ const { id, ...rest } = options;
8
+ super({ id, ...rest });
9
+ }
10
+
11
+ get name() {
12
+ return "DiscoverReservationSpaceCategoryAvailabilities";
13
+ }
14
+
15
+ get routingKey() {
16
+ return "reservation.discoverRoomUpsells";
17
+ }
18
+ }
19
+
20
+ module.exports = DiscoverReservationSpaceCategoryAvailabilitiesCommand;
@@ -0,0 +1,20 @@
1
+ const { RequestError } = require("../Errors");
2
+ const Command = require("./Command");
3
+
4
+ class DiscoverReservationsCommand extends Command {
5
+ constructor(options) {
6
+ if (!options) throw new RequestError("options are required");
7
+ const { id, startDate, endDate, status, ...rest } = options;
8
+ super({ id, startDate, endDate, status, ...rest });
9
+ }
10
+
11
+ get name() {
12
+ return "DiscoverReservations";
13
+ }
14
+
15
+ get routingKey() {
16
+ return "reservation.discover";
17
+ }
18
+ }
19
+
20
+ module.exports = DiscoverReservationsCommand;
@@ -0,0 +1,37 @@
1
+ const Command = require("./Command");
2
+
3
+ class DiscoverRoomsCommand extends Command {
4
+ constructor({
5
+ id,
6
+ types,
7
+ categories,
8
+ startDate,
9
+ endDate,
10
+ serviceStatus,
11
+ housekeepingStatus,
12
+ ...rest
13
+ }) {
14
+ super({
15
+ id,
16
+ types,
17
+ categories,
18
+ startDate,
19
+ endDate,
20
+ serviceStatus,
21
+ housekeepingStatus,
22
+ ...rest,
23
+ });
24
+ }
25
+
26
+ get name() {
27
+ return "DiscoverRooms";
28
+ }
29
+
30
+ get routingKey() {
31
+ if (typeof this.data.id === "string") return `rooms.${this.data.id}.get`;
32
+ if (Array.isArray(this.data.id)) return "rooms.batch.get";
33
+ return "rooms.get";
34
+ }
35
+ }
36
+
37
+ module.exports = DiscoverRoomsCommand;
@@ -0,0 +1,19 @@
1
+ const Command = require("./Command");
2
+
3
+ class DiscoverUsersCommand extends Command {
4
+ constructor({ id, ...rest }) {
5
+ super({ id, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "DiscoverUsers";
10
+ }
11
+
12
+ get routingKey() {
13
+ if (typeof this.data.id === "string") return `users.${this.data.id}.get`;
14
+ if (Array.isArray(this.data.id)) return "users.batch.get";
15
+ return "users.get";
16
+ }
17
+ }
18
+
19
+ module.exports = DiscoverUsersCommand;
@@ -0,0 +1,24 @@
1
+ const Command = require("./Command");
2
+
3
+ class GetMobileKeyCommand extends Command {
4
+ constructor({
5
+ id,
6
+ phone,
7
+ beginDateTime,
8
+ endDateTime,
9
+ keyToReplace,
10
+ ...rest
11
+ }) {
12
+ super({ id, phone, beginDateTime, endDateTime, keyToReplace, ...rest });
13
+ }
14
+
15
+ get name() {
16
+ return "GetMobileKey";
17
+ }
18
+
19
+ get routingKey() {
20
+ return `lock.${this.data.id}.set`;
21
+ }
22
+ }
23
+
24
+ module.exports = GetMobileKeyCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class GetProductsCommand extends Command {
4
+ constructor({ id, externalSystemId, ...rest }) {
5
+ super({ id, externalSystemId, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "GetProducts";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `product.${this.data.id}.get`;
14
+ }
15
+ }
16
+
17
+ module.exports = GetProductsCommand;
@@ -0,0 +1,15 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class OCRDocumentCommand extends Command {
5
+ constructor({ type, image, ...rest }) {
6
+ if (!image) throw new RequestError("document image is required");
7
+ super({ type, image, ...rest });
8
+ }
9
+
10
+ get name() {
11
+ return "OCRDocument";
12
+ }
13
+ }
14
+
15
+ module.exports = OCRDocumentCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SellProductsCommand extends Command {
4
+ constructor({ reservationId, userId, products, ...rest }) {
5
+ super({ reservationId, userId, products, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SellProducts";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `product.${this.data.id}.sell`;
14
+ }
15
+ }
16
+
17
+ module.exports = SellProductsCommand;
@@ -0,0 +1,24 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class SendEmailCommand extends Command {
5
+ constructor({ text, html, to, from, subject, ...rest }) {
6
+ if (!to) throw new RequestError("email to is required");
7
+ if (!from) throw new RequestError("email from is required");
8
+ if (!subject) throw new RequestError("email subject is required");
9
+ if (!text && !html)
10
+ throw new RequestError("email text or html is required");
11
+
12
+ super({ text, html, to, from, subject, ...rest });
13
+ }
14
+
15
+ get name() {
16
+ return "SendEmail";
17
+ }
18
+
19
+ get routingKey() {
20
+ return "comm.email.send";
21
+ }
22
+ }
23
+
24
+ module.exports = SendEmailCommand;
@@ -0,0 +1,22 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class SendSMSCommand extends Command {
5
+ constructor({ id, body, to, from, media, ...rest }) {
6
+ if (!body && !media)
7
+ throw new RequestError("sms body or media is required");
8
+ if (!to) throw new RequestError("sms to is required");
9
+ if (!from) throw new RequestError("sms from is required");
10
+ super({ id, body, to, from, media, ...rest });
11
+ }
12
+
13
+ get name() {
14
+ return "SendSMS";
15
+ }
16
+
17
+ get routingKey() {
18
+ return "comm.sms.send";
19
+ }
20
+ }
21
+
22
+ module.exports = SendSMSCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetAlarmCommand extends Command {
4
+ constructor({ id, zones, areas, code, ...rest }) {
5
+ super({ id, zones, areas, code, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetAlarm";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `alarm.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetAlarmCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetCourtesyCommand extends Command {
4
+ constructor({ id, state, ...rest }) {
5
+ super({ id, state, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetCourtesy";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `courtesy.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetCourtesyCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetDimmerCommand extends Command {
4
+ constructor({ id, level, ...rest }) {
5
+ super({ id, level, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetDimmer";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `dimmer.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetDimmerCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetLockCommand extends Command {
4
+ constructor({ id, state, ...rest }) {
5
+ super({ id, state, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetLock";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `lock.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetLockCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetMediaCommand extends Command {
4
+ constructor({ id, command, ...rest }) {
5
+ super({ id, command, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetMedia";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `mediaSource.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetMediaCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetSceneCommand extends Command {
4
+ constructor({ id, devices, ...rest }) {
5
+ super({ id, devices, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetScene";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `scene.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetSceneCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetSwitchCommand extends Command {
4
+ constructor({ id, state, ...rest }) {
5
+ super({ id, state, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetSwitch";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `switch.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetSwitchCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetThermostatCommand extends Command {
4
+ constructor({ id, setpoints, hvacMode, fanMode, ...rest }) {
5
+ super({ id, setpoints, hvacMode, fanMode, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetThermostat";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `thermostat.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetThermostatCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class SetWindowCoveringCommand extends Command {
4
+ constructor({ id, position, ...rest }) {
5
+ super({ id, position, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "SetWindowCovering";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `windowCovering.${this.data.id}.set`;
14
+ }
15
+ }
16
+
17
+ module.exports = SetWindowCoveringCommand;
@@ -0,0 +1,19 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class UpdateReservationCommand extends Command {
5
+ constructor({ id, ...rest }) {
6
+ if (!id) throw new RequestError("document type is required");
7
+ super({ id, ...rest });
8
+ }
9
+
10
+ get name() {
11
+ return "UpdateReservation";
12
+ }
13
+
14
+ get routingKey() {
15
+ return `reservation.${this.data.id}.update`;
16
+ }
17
+ }
18
+
19
+ module.exports = UpdateReservationCommand;
@@ -0,0 +1,41 @@
1
+ const Command = require("./Command");
2
+ const RequestError = require("../Errors/RequestError");
3
+
4
+ class UpdateUserCommand extends Command {
5
+ constructor({
6
+ id,
7
+ email,
8
+ phone,
9
+ identification,
10
+ address,
11
+ note,
12
+ nationality,
13
+ file,
14
+ payment,
15
+ ...rest
16
+ }) {
17
+ if (!id) throw new RequestError("document type is required");
18
+ super({
19
+ id,
20
+ email,
21
+ phone,
22
+ identification,
23
+ address,
24
+ note,
25
+ nationality,
26
+ file,
27
+ payment,
28
+ ...rest,
29
+ });
30
+ }
31
+
32
+ get name() {
33
+ return "UpdateUser";
34
+ }
35
+
36
+ get routingKey() {
37
+ return `user.${this.data.id}.update`;
38
+ }
39
+ }
40
+
41
+ module.exports = UpdateUserCommand;
@@ -0,0 +1,17 @@
1
+ const Command = require("./Command");
2
+
3
+ class UploadImageCommand extends Command {
4
+ constructor({ id, url, file, ...rest }) {
5
+ super({ id, url, file, ...rest });
6
+ }
7
+
8
+ get name() {
9
+ return "UploadImage";
10
+ }
11
+
12
+ get routingKey() {
13
+ return `image.${this.data.id}.upload`;
14
+ }
15
+ }
16
+
17
+ module.exports = UploadImageCommand;
@@ -0,0 +1,57 @@
1
+ const SetSceneCommand = require("./SetSceneCommand");
2
+ const SetAlarmCommand = require("./SetAlarmCommand");
3
+ const SetDimmerCommand = require("./SetDimmerCommand");
4
+ const SetSwitchCommand = require("./SetSwitchCommand");
5
+ const SetThermostatCommand = require("./SetThermostatCommand");
6
+ const SetLockCommand = require("./SetLockCommand");
7
+ const SetWindowCoveringCommand = require("./SetWindowCoveringCommand");
8
+ const SetCourtesyCommand = require("./SetCourtesyCommand");
9
+ const SetMediaCommand = require("./SetMediaCommand");
10
+ const DiscoverUsersCommand = require("./DiscoverUsersCommand");
11
+ const OCRDocumentCommand = require("./OCRDocumentCommand");
12
+ const CheckInReservationCommand = require("./CheckInReservationCommand");
13
+ const CheckOutReservationCommand = require("./CheckOutReservationCommand");
14
+ const SendEmailCommand = require("./SendEmailCommand");
15
+ const SendSMSCommand = require("./SendSMSCommand");
16
+ const DiscoverReservationsCommand = require("./DiscoverReservationsCommand");
17
+ const DiscoverReservationSpaceCategoryAvailabilitiesCommand = require("./DiscoverReservationSpaceCategoryAvailabilitiesCommand");
18
+ const DiscoverRoomsCommand = require("./DiscoverRoomsCommand");
19
+ const DiscoverCategoriesCommand = require("./DiscoverCategoriesCommand");
20
+ const CreateShortLinkCommand = require("./CreateShortLinkCommand");
21
+ const UpdateReservationCommand = require("./UpdateReservationCommand");
22
+ const UpdateUserCommand = require("./UpdateUserCommand");
23
+ const GetMobileKeyCommand = require("./GetMobileKeyCommand");
24
+ const CreateImageUploadEndpointCommand = require("./CreateImageUploadEndpointCommand");
25
+ const UploadImageCommand = require("./UploadImageCommand");
26
+ const GetProductsCommand = require("./GetProductsCommand");
27
+ const SellProductsCommand = require("./SellProductsCommand");
28
+
29
+ module.exports = {
30
+ SetSceneCommand,
31
+ SetAlarmCommand,
32
+ SetDimmerCommand,
33
+ SetSwitchCommand,
34
+ SetThermostatCommand,
35
+ SetLockCommand,
36
+ SetWindowCoveringCommand,
37
+ SetCourtesyCommand,
38
+ SetMediaCommand,
39
+ OCRDocumentCommand,
40
+ DiscoverUsersCommand,
41
+ CheckInReservationCommand,
42
+ CheckOutReservationCommand,
43
+ SendSMSCommand,
44
+ SendEmailCommand,
45
+ DiscoverReservationsCommand,
46
+ DiscoverReservationSpaceCategoryAvailabilitiesCommand,
47
+ DiscoverRoomsCommand,
48
+ DiscoverCategoriesCommand,
49
+ CreateShortLinkCommand,
50
+ UpdateReservationCommand,
51
+ UpdateUserCommand,
52
+ GetMobileKeyCommand,
53
+ CreateImageUploadEndpointCommand,
54
+ UploadImageCommand,
55
+ GetProductsCommand,
56
+ SellProductsCommand,
57
+ };
@@ -0,0 +1,8 @@
1
+ module.exports = class AppError extends Error {
2
+ constructor(message = "Internal Server Error", options) {
3
+ super(message, options);
4
+ this.type = this.constructor.name;
5
+ this.statusCode = 500;
6
+ Object.setPrototypeOf(this, AppError.prototype);
7
+ }
8
+ };