@kohost/api-client 4.5.4 → 4.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/amqpClient.cjs.map +1 -1
- package/dist/amqpClient.js +1 -1
- package/dist/{chunk-XV3KXIH2.js → chunk-2BGFVTK5.js} +1 -1
- package/dist/{chunk-ET6X74DQ.js → chunk-3KZCYHSF.js} +1 -1
- package/dist/{chunk-ET6X74DQ.js.map → chunk-3KZCYHSF.js.map} +1 -1
- package/dist/{chunk-BRZVBG7Y.js → chunk-4HA37GSM.js} +1 -1
- package/dist/{chunk-KJI445LX.js → chunk-6QIZNOTQ.js} +1 -1
- package/dist/{chunk-LNRGAGJF.js → chunk-74WBAGSV.js} +1 -1
- package/dist/chunk-7ABCCOVA.js +1 -0
- package/dist/{chunk-X2PHGWTM.js.map → chunk-7ABCCOVA.js.map} +1 -1
- package/dist/{chunk-K4X5REA5.js → chunk-7JLIE2YT.js} +1 -1
- package/dist/{chunk-7VS2JHRH.js → chunk-AKBP4ULH.js} +1 -1
- package/dist/{chunk-E7DC44YR.js → chunk-AVZIY77R.js} +1 -1
- package/dist/{chunk-BAIHVN4F.js → chunk-BW6WOT2G.js} +1 -1
- package/dist/{chunk-KD5V4VHT.js → chunk-CAALG6EM.js} +1 -1
- package/dist/{chunk-2ZHDK2LA.js → chunk-CBGDQUVP.js} +1 -1
- package/dist/{chunk-SIRKWUJR.js → chunk-CIIC5YSI.js} +1 -1
- package/dist/{chunk-G4JQYUAC.js → chunk-CL66AXXT.js} +1 -1
- package/dist/{chunk-ZR72266G.js → chunk-CQHD5IHT.js} +1 -1
- package/dist/chunk-CQHD5IHT.js.map +1 -0
- package/dist/{chunk-XORT6HQQ.js → chunk-EEWDLSCT.js} +1 -1
- package/dist/{chunk-GJIRL22D.js → chunk-EFVZZ3UR.js} +1 -1
- package/dist/{chunk-IP2J33M4.js → chunk-FIY4MTXC.js} +1 -1
- package/dist/{chunk-PHUGJKO5.js → chunk-FQWI5UT7.js} +1 -1
- package/dist/{chunk-ZARKTUMC.js → chunk-H4J6BULN.js} +1 -1
- package/dist/{chunk-ZARKTUMC.js.map → chunk-H4J6BULN.js.map} +1 -1
- package/dist/{chunk-EIKLORN2.js → chunk-HNKGUVQT.js} +1 -1
- package/dist/{chunk-J6NIJCBP.js → chunk-HQZCMOV5.js} +1 -1
- package/dist/{chunk-FJGHDCFU.js → chunk-HVRHXRP6.js} +1 -1
- package/dist/{chunk-6U3D7INH.js → chunk-I3T6UG4N.js} +1 -1
- package/dist/{chunk-ASUIVB2I.js → chunk-IDKLDYJM.js} +1 -1
- package/dist/{chunk-7OSTDOUM.js → chunk-IHVBHK4S.js} +1 -1
- package/dist/{chunk-KZGHAUI5.js → chunk-IOFW6KW3.js} +1 -1
- package/dist/chunk-J726LZFG.js +1 -0
- package/dist/chunk-J726LZFG.js.map +1 -0
- package/dist/{chunk-KVGMJRXC.js → chunk-KCHWGYJF.js} +1 -1
- package/dist/{chunk-3JKVMXXF.js → chunk-KUKQHDC5.js} +1 -1
- package/dist/{chunk-3JKVMXXF.js.map → chunk-KUKQHDC5.js.map} +1 -1
- package/dist/{chunk-MG2VQTNN.js → chunk-KW3HNS5S.js} +1 -1
- package/dist/{chunk-PBMLITMC.js → chunk-LZDFH4GB.js} +1 -1
- package/dist/{chunk-SW7K432L.js → chunk-O42G3HNO.js} +1 -1
- package/dist/{chunk-PWFIE4A4.js → chunk-OUOPHOS3.js} +1 -1
- package/dist/{chunk-T2E42CQF.js → chunk-PA6CL6LK.js} +1 -1
- package/dist/{chunk-XVQXZSHK.js → chunk-QHS6ZPJI.js} +1 -1
- package/dist/{chunk-AQVI4C4C.js → chunk-QOLVVEU5.js} +1 -1
- package/dist/{chunk-NFBNENWO.js → chunk-UKIG7GFX.js} +1 -1
- package/dist/{chunk-QE7MS5GE.js → chunk-UOSPZFQA.js} +1 -1
- package/dist/chunk-VLFQ27ZT.js +1 -0
- package/dist/chunk-VLFQ27ZT.js.map +1 -0
- package/dist/{chunk-P5SXOPMU.js → chunk-WHYNHNWY.js} +1 -1
- package/dist/{chunk-IKAINY4Q.js → chunk-WIZSIXXQ.js} +1 -1
- package/dist/{chunk-FTA53BGJ.js → chunk-WSBQZHQ5.js} +1 -1
- package/dist/{chunk-R2SDRMVZ.js → chunk-X4CIRNUQ.js} +1 -1
- package/dist/{chunk-NX5S46FI.js → chunk-XHPL3YQR.js} +1 -1
- package/dist/{chunk-UEVK66LP.js → chunk-Y767NEWB.js} +1 -1
- package/dist/{chunk-4JO2ZCI2.js → chunk-YAZ6Y4QK.js} +1 -1
- package/dist/{chunk-RQEWUMCP.js → chunk-YHALYQGQ.js} +1 -1
- package/dist/chunk-ZBNPXH3W.js +1 -0
- package/dist/{chunk-MKUF7EIW.js.map → chunk-ZBNPXH3W.js.map} +1 -1
- package/dist/commands/index.cjs.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/events/index.cjs.map +1 -1
- package/dist/events/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/models/alarm.cjs +1 -1
- package/dist/models/alarm.cjs.map +1 -1
- package/dist/models/alarm.js +1 -1
- package/dist/models/announcement.cjs +1 -1
- package/dist/models/announcement.cjs.map +1 -1
- package/dist/models/announcement.js +1 -1
- package/dist/models/automation.cjs +1 -1
- package/dist/models/automation.cjs.map +1 -1
- package/dist/models/automation.js +1 -1
- package/dist/models/camera.cjs +1 -1
- package/dist/models/camera.cjs.map +1 -1
- package/dist/models/camera.d.cts +7 -0
- package/dist/models/camera.d.ts +7 -0
- package/dist/models/camera.js +1 -1
- package/dist/models/category.cjs +1 -1
- package/dist/models/category.cjs.map +1 -1
- package/dist/models/category.js +1 -1
- package/dist/models/courtesy.cjs +1 -1
- package/dist/models/courtesy.cjs.map +1 -1
- package/dist/models/courtesy.js +1 -1
- package/dist/models/credential.cjs +1 -1
- package/dist/models/credential.cjs.map +1 -1
- package/dist/models/credential.js +1 -1
- package/dist/models/deviceRouter.cjs +1 -1
- package/dist/models/deviceRouter.cjs.map +1 -1
- package/dist/models/deviceRouter.js +1 -1
- package/dist/models/dimmer.cjs +1 -1
- package/dist/models/dimmer.cjs.map +1 -1
- package/dist/models/dimmer.js +1 -1
- package/dist/models/discoveredDevice.cjs +1 -1
- package/dist/models/discoveredDevice.cjs.map +1 -1
- package/dist/models/discoveredDevice.js +1 -1
- package/dist/models/emailMessage.cjs +1 -1
- package/dist/models/emailMessage.cjs.map +1 -1
- package/dist/models/emailMessage.js +1 -1
- package/dist/models/energyReport.cjs +1 -1
- package/dist/models/energyReport.cjs.map +1 -1
- package/dist/models/energyReport.js +1 -1
- package/dist/models/energyReportShard.cjs +1 -1
- package/dist/models/energyReportShard.cjs.map +1 -1
- package/dist/models/energyReportShard.js +1 -1
- package/dist/models/gateway.cjs +1 -1
- package/dist/models/gateway.cjs.map +1 -1
- package/dist/models/gateway.js +1 -1
- package/dist/models/identification.cjs +1 -1
- package/dist/models/identification.cjs.map +1 -1
- package/dist/models/identification.js +1 -1
- package/dist/models/index.cjs +1 -1
- package/dist/models/index.cjs.map +1 -1
- package/dist/models/index.js +1 -1
- package/dist/models/issue.cjs +1 -1
- package/dist/models/issue.cjs.map +1 -1
- package/dist/models/issue.js +1 -1
- package/dist/models/lock.cjs +1 -1
- package/dist/models/lock.cjs.map +1 -1
- package/dist/models/lock.js +1 -1
- package/dist/models/log.cjs +1 -1
- package/dist/models/log.cjs.map +1 -1
- package/dist/models/log.js +1 -1
- package/dist/models/mediaFile.cjs +1 -1
- package/dist/models/mediaFile.cjs.map +1 -1
- package/dist/models/mediaFile.js +1 -1
- package/dist/models/mediaSource.cjs +1 -1
- package/dist/models/mediaSource.cjs.map +1 -1
- package/dist/models/mediaSource.js +1 -1
- package/dist/models/motionSensor.cjs +1 -1
- package/dist/models/motionSensor.cjs.map +1 -1
- package/dist/models/motionSensor.js +1 -1
- package/dist/models/order.cjs +1 -1
- package/dist/models/order.cjs.map +1 -1
- package/dist/models/order.js +1 -1
- package/dist/models/organization.cjs +1 -1
- package/dist/models/organization.cjs.map +1 -1
- package/dist/models/organization.js +1 -1
- package/dist/models/payment.cjs +1 -1
- package/dist/models/payment.cjs.map +1 -1
- package/dist/models/payment.js +1 -1
- package/dist/models/policy.cjs +1 -1
- package/dist/models/policy.cjs.map +1 -1
- package/dist/models/policy.js +1 -1
- package/dist/models/product.cjs +1 -1
- package/dist/models/product.cjs.map +1 -1
- package/dist/models/product.js +1 -1
- package/dist/models/property.cjs +1 -1
- package/dist/models/property.cjs.map +1 -1
- package/dist/models/property.js +1 -1
- package/dist/models/reservation.cjs +1 -1
- package/dist/models/reservation.cjs.map +1 -1
- package/dist/models/reservation.js +1 -1
- package/dist/models/room.cjs +1 -1
- package/dist/models/room.cjs.map +1 -1
- package/dist/models/room.d.cts +3 -1
- package/dist/models/room.d.ts +3 -1
- package/dist/models/room.js +1 -1
- package/dist/models/scene.cjs +1 -1
- package/dist/models/scene.cjs.map +1 -1
- package/dist/models/scene.js +1 -1
- package/dist/models/shortLink.cjs +1 -1
- package/dist/models/shortLink.cjs.map +1 -1
- package/dist/models/shortLink.js +1 -1
- package/dist/models/smsMessage.cjs +1 -1
- package/dist/models/smsMessage.cjs.map +1 -1
- package/dist/models/smsMessage.js +1 -1
- package/dist/models/space.cjs +1 -1
- package/dist/models/space.cjs.map +1 -1
- package/dist/models/space.js +1 -1
- package/dist/models/switch.cjs +1 -1
- package/dist/models/switch.cjs.map +1 -1
- package/dist/models/switch.js +1 -1
- package/dist/models/systemUser.cjs +1 -1
- package/dist/models/systemUser.cjs.map +1 -1
- package/dist/models/systemUser.js +1 -1
- package/dist/models/thermostat.cjs +1 -1
- package/dist/models/thermostat.cjs.map +1 -1
- package/dist/models/thermostat.js +1 -1
- package/dist/models/ticket.cjs +1 -1
- package/dist/models/ticket.cjs.map +1 -1
- package/dist/models/ticket.js +1 -1
- package/dist/models/timeSheet.cjs +1 -1
- package/dist/models/timeSheet.cjs.map +1 -1
- package/dist/models/timeSheet.js +1 -1
- package/dist/models/user.cjs +1 -1
- package/dist/models/user.cjs.map +1 -1
- package/dist/models/user.js +1 -1
- package/dist/models/vendor.cjs +1 -1
- package/dist/models/vendor.cjs.map +1 -1
- package/dist/models/vendor.js +1 -1
- package/dist/models/windowCovering.cjs +1 -1
- package/dist/models/windowCovering.cjs.map +1 -1
- package/dist/models/windowCovering.js +1 -1
- package/dist/useCases/index.cjs.map +1 -1
- package/dist/useCases/index.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-DGMWQ4PP.js +0 -1
- package/dist/chunk-DGMWQ4PP.js.map +0 -1
- package/dist/chunk-H4CYVROE.js +0 -1
- package/dist/chunk-H4CYVROE.js.map +0 -1
- package/dist/chunk-MKUF7EIW.js +0 -1
- package/dist/chunk-X2PHGWTM.js +0 -1
- package/dist/chunk-ZR72266G.js.map +0 -1
- /package/dist/{chunk-XV3KXIH2.js.map → chunk-2BGFVTK5.js.map} +0 -0
- /package/dist/{chunk-BRZVBG7Y.js.map → chunk-4HA37GSM.js.map} +0 -0
- /package/dist/{chunk-KJI445LX.js.map → chunk-6QIZNOTQ.js.map} +0 -0
- /package/dist/{chunk-LNRGAGJF.js.map → chunk-74WBAGSV.js.map} +0 -0
- /package/dist/{chunk-K4X5REA5.js.map → chunk-7JLIE2YT.js.map} +0 -0
- /package/dist/{chunk-7VS2JHRH.js.map → chunk-AKBP4ULH.js.map} +0 -0
- /package/dist/{chunk-E7DC44YR.js.map → chunk-AVZIY77R.js.map} +0 -0
- /package/dist/{chunk-BAIHVN4F.js.map → chunk-BW6WOT2G.js.map} +0 -0
- /package/dist/{chunk-KD5V4VHT.js.map → chunk-CAALG6EM.js.map} +0 -0
- /package/dist/{chunk-2ZHDK2LA.js.map → chunk-CBGDQUVP.js.map} +0 -0
- /package/dist/{chunk-SIRKWUJR.js.map → chunk-CIIC5YSI.js.map} +0 -0
- /package/dist/{chunk-G4JQYUAC.js.map → chunk-CL66AXXT.js.map} +0 -0
- /package/dist/{chunk-XORT6HQQ.js.map → chunk-EEWDLSCT.js.map} +0 -0
- /package/dist/{chunk-GJIRL22D.js.map → chunk-EFVZZ3UR.js.map} +0 -0
- /package/dist/{chunk-IP2J33M4.js.map → chunk-FIY4MTXC.js.map} +0 -0
- /package/dist/{chunk-PHUGJKO5.js.map → chunk-FQWI5UT7.js.map} +0 -0
- /package/dist/{chunk-EIKLORN2.js.map → chunk-HNKGUVQT.js.map} +0 -0
- /package/dist/{chunk-J6NIJCBP.js.map → chunk-HQZCMOV5.js.map} +0 -0
- /package/dist/{chunk-FJGHDCFU.js.map → chunk-HVRHXRP6.js.map} +0 -0
- /package/dist/{chunk-6U3D7INH.js.map → chunk-I3T6UG4N.js.map} +0 -0
- /package/dist/{chunk-ASUIVB2I.js.map → chunk-IDKLDYJM.js.map} +0 -0
- /package/dist/{chunk-7OSTDOUM.js.map → chunk-IHVBHK4S.js.map} +0 -0
- /package/dist/{chunk-KZGHAUI5.js.map → chunk-IOFW6KW3.js.map} +0 -0
- /package/dist/{chunk-KVGMJRXC.js.map → chunk-KCHWGYJF.js.map} +0 -0
- /package/dist/{chunk-MG2VQTNN.js.map → chunk-KW3HNS5S.js.map} +0 -0
- /package/dist/{chunk-PBMLITMC.js.map → chunk-LZDFH4GB.js.map} +0 -0
- /package/dist/{chunk-SW7K432L.js.map → chunk-O42G3HNO.js.map} +0 -0
- /package/dist/{chunk-PWFIE4A4.js.map → chunk-OUOPHOS3.js.map} +0 -0
- /package/dist/{chunk-T2E42CQF.js.map → chunk-PA6CL6LK.js.map} +0 -0
- /package/dist/{chunk-XVQXZSHK.js.map → chunk-QHS6ZPJI.js.map} +0 -0
- /package/dist/{chunk-AQVI4C4C.js.map → chunk-QOLVVEU5.js.map} +0 -0
- /package/dist/{chunk-NFBNENWO.js.map → chunk-UKIG7GFX.js.map} +0 -0
- /package/dist/{chunk-QE7MS5GE.js.map → chunk-UOSPZFQA.js.map} +0 -0
- /package/dist/{chunk-P5SXOPMU.js.map → chunk-WHYNHNWY.js.map} +0 -0
- /package/dist/{chunk-IKAINY4Q.js.map → chunk-WIZSIXXQ.js.map} +0 -0
- /package/dist/{chunk-FTA53BGJ.js.map → chunk-WSBQZHQ5.js.map} +0 -0
- /package/dist/{chunk-R2SDRMVZ.js.map → chunk-X4CIRNUQ.js.map} +0 -0
- /package/dist/{chunk-NX5S46FI.js.map → chunk-XHPL3YQR.js.map} +0 -0
- /package/dist/{chunk-UEVK66LP.js.map → chunk-Y767NEWB.js.map} +0 -0
- /package/dist/{chunk-4JO2ZCI2.js.map → chunk-YAZ6Y4QK.js.map} +0 -0
- /package/dist/{chunk-RQEWUMCP.js.map → chunk-YHALYQGQ.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/useCases/index.js","../../src/useCases/assignSpaceToReservation.js","../../src/useCases/autoAssociateDiscoveredDevices.js","../../src/useCases/autoCloseTickets.js","../../src/useCases/batchNotifyCheckIn.js","../../src/useCases/batchNotifyCheckOut.js","../../src/useCases/batchNotifyMissedCheckOut.js","../../src/useCases/batchNotifyPreArrival.js","../../src/useCases/bulkUpdateIssue.js","../../src/useCases/checkInReservation.js","../../src/useCases/checkOutReservation.js","../../src/useCases/checkVerificationCode.js","../../src/useCases/createAlarm.js","../../src/useCases/createAnnouncement.js","../../src/useCases/createAutomation.js","../../src/useCases/createCamera.js","../../src/useCases/createCategory.js","../../src/useCases/createCourtesy.js","../../src/useCases/createDefaultScenes.js","../../src/useCases/createDimmer.js","../../src/useCases/createDiscoveredDevice.js","../../src/useCases/createDiscoveredDeviceAssociation.js","../../src/useCases/createDiscoveredDeviceAssociationMap.js","../../src/useCases/createImageUploadEndpoint.js","../../src/useCases/createIssue.js","../../src/useCases/createLock.js","../../src/useCases/createMediaSource.js","../../src/useCases/createOrganization.js","../../src/useCases/createPolicy.js","../../src/useCases/createProperty.js","../../src/useCases/createReservation.js","../../src/useCases/createRoom.js","../../src/useCases/createRoomInSpace.js","../../src/useCases/createScene.js","../../src/useCases/createSpace.js","../../src/useCases/createSwitch.js","../../src/useCases/createThermostat.js","../../src/useCases/createTicket.js","../../src/useCases/createTicketMessage.js","../../src/useCases/createTimeSheet.js","../../src/useCases/createTimeSheetTimeEntry.js","../../src/useCases/createUser.js","../../src/useCases/createUserMobileKey.js","../../src/useCases/createVendor.js","../../src/useCases/createWindowCovering.js","../../src/useCases/deleteAlarm.js","../../src/useCases/deleteAnnouncement.js","../../src/useCases/deleteAutomation.js","../../src/useCases/deleteCamera.js","../../src/useCases/deleteCategory.js","../../src/useCases/deleteCourtesy.js","../../src/useCases/deleteDimmer.js","../../src/useCases/deleteDiscoveredDevice.js","../../src/useCases/deleteIssue.js","../../src/useCases/deleteLock.js","../../src/useCases/deleteMediaFile.js","../../src/useCases/deleteMediaSource.js","../../src/useCases/deletePolicy.js","../../src/useCases/deleteReservation.js","../../src/useCases/deleteRoom.js","../../src/useCases/deleteSpace.js","../../src/useCases/deleteSwitch.js","../../src/useCases/deleteThermostat.js","../../src/useCases/deleteTicket.js","../../src/useCases/deleteTimeSheet.js","../../src/useCases/deleteTimeSheetTimeEntry.js","../../src/useCases/deleteUser.js","../../src/useCases/deleteUserCredential.js","../../src/useCases/deleteVendor.js","../../src/useCases/deleteWindowCovering.js","../../src/useCases/describeAlarm.js","../../src/useCases/describeAlarmConfig.js","../../src/useCases/describeAnnouncement.js","../../src/useCases/describeAutomation.js","../../src/useCases/describeCamera.js","../../src/useCases/describeCategory.js","../../src/useCases/describeCourtesy.js","../../src/useCases/describeDimmer.js","../../src/useCases/describeDiscoveredDevice.js","../../src/useCases/describeIssue.js","../../src/useCases/describeLock.js","../../src/useCases/describeLockCredential.js","../../src/useCases/describeMediaSource.js","../../src/useCases/describeMyAuth.js","../../src/useCases/describeMyMobileKeyApp.js","../../src/useCases/describeMyOrganization.js","../../src/useCases/describeMyPasskeyRegistrations.js","../../src/useCases/describeOrganization.js","../../src/useCases/describePolicy.js","../../src/useCases/describeProduct.js","../../src/useCases/describeProperty.js","../../src/useCases/describeReservation.js","../../src/useCases/describeReservationEarlyCheckInProducts.js","../../src/useCases/describeReservationLateCheckOutProducts.js","../../src/useCases/describeReservationPetProducts.js","../../src/useCases/describeReservationPromos.js","../../src/useCases/describeReservationRoomUpgrades.js","../../src/useCases/describeRoom.js","../../src/useCases/describeSOS.js","../../src/useCases/describeSelf.js","../../src/useCases/describeSpace.js","../../src/useCases/describeSwitch.js","../../src/useCases/describeThermostat.js","../../src/useCases/describeTicket.js","../../src/useCases/describeTicketFilters.js","../../src/useCases/describeTicketStats.js","../../src/useCases/describeTimeSheet.js","../../src/useCases/describeTimeSheetStats.js","../../src/useCases/describeUser.js","../../src/useCases/describeVendor.js","../../src/useCases/describeWindowCovering.js","../../src/useCases/discoverReservations.js","../../src/useCases/emailUserAccountSetup.js","../../src/useCases/finishRegisterPasskey.js","../../src/useCases/leaveTicket.js","../../src/useCases/listAlarms.js","../../src/useCases/listAnnouncements.js","../../src/useCases/listAutomations.js","../../src/useCases/listCameraStreamPreviews.js","../../src/useCases/listCameras.js","../../src/useCases/listCategories.js","../../src/useCases/listCourtesy.js","../../src/useCases/listDimmers.js","../../src/useCases/listDiscoveredDevices.js","../../src/useCases/listIssues.js","../../src/useCases/listLocks.js","../../src/useCases/listMediaSources.js","../../src/useCases/listMyOrders.js","../../src/useCases/listMyProperties.js","../../src/useCases/listMyReservations.js","../../src/useCases/listMySpaces.js","../../src/useCases/listMyTickets.js","../../src/useCases/listMyTimeSheets.js","../../src/useCases/listOrders.js","../../src/useCases/listOrganizations.js","../../src/useCases/listPolicies.js","../../src/useCases/listProducts.js","../../src/useCases/listProperties.js","../../src/useCases/listReservations.js","../../src/useCases/listRooms.js","../../src/useCases/listRoomsInSpace.js","../../src/useCases/listScenes.js","../../src/useCases/listSpaces.js","../../src/useCases/listSwitches.js","../../src/useCases/listTeam.js","../../src/useCases/listThermostats.js","../../src/useCases/listTicketLocations.js","../../src/useCases/listTickets.js","../../src/useCases/listTimeSheets.js","../../src/useCases/listUserMobileKeys.js","../../src/useCases/listUserOrders.js","../../src/useCases/listUserReservations.js","../../src/useCases/listUserSpaces.js","../../src/useCases/listUsers.js","../../src/useCases/listVendors.js","../../src/useCases/listWindowCoverings.js","../../src/useCases/loginFinish.js","../../src/useCases/loginStart.js","../../src/useCases/logoutSelf.js","../../src/useCases/logoutUser.js","../../src/useCases/matchUserIdentification.js","../../src/useCases/oCRDocument.js","../../src/useCases/purchaseReservationEarlyCheckInProducts.js","../../src/useCases/purchaseReservationLateCheckOutProducts.js","../../src/useCases/purchaseReservationPetProducts.js","../../src/useCases/purchaseReservationPromos.js","../../src/useCases/purchaseReservationRoomUpgrades.js","../../src/useCases/refreshToken.js","../../src/useCases/requestLoginToken.js","../../src/useCases/sendCheckInSMS.js","../../src/useCases/sendCheckOutSMS.js","../../src/useCases/sendPreArrivalEmail.js","../../src/useCases/sendPreArrivalSMS.js","../../src/useCases/sendRoomControlSMS.js","../../src/useCases/sendVerificationCode.js","../../src/useCases/setAlarm.js","../../src/useCases/setCamera.js","../../src/useCases/setCourtesy.js","../../src/useCases/setDimmer.js","../../src/useCases/setLock.js","../../src/useCases/setMediaSource.js","../../src/useCases/setRoomScene.js","../../src/useCases/setScene.js","../../src/useCases/setSpaceScene.js","../../src/useCases/setSwitch.js","../../src/useCases/setThermostat.js","../../src/useCases/setWindowCovering.js","../../src/useCases/startRegisterPasskey.js","../../src/useCases/startSOS.js","../../src/useCases/stopSOS.js","../../src/useCases/tipUser.js","../../src/useCases/updateAlarm.js","../../src/useCases/updateAnnouncement.js","../../src/useCases/updateAutomation.js","../../src/useCases/updateCamera.js","../../src/useCases/updateCategory.js","../../src/useCases/updateCourtesy.js","../../src/useCases/updateDimmer.js","../../src/useCases/updateDiscoveredDevice.js","../../src/useCases/updateIssue.js","../../src/useCases/updateLock.js","../../src/useCases/updateMediaSource.js","../../src/useCases/updateMessageReadStatus.js","../../src/useCases/updateOrganization.js","../../src/useCases/updatePolicy.js","../../src/useCases/updateProperty.js","../../src/useCases/updatePropertySettings.js","../../src/useCases/updateReservation.js","../../src/useCases/updateReservationExpectedArrivalTime.js","../../src/useCases/updateRoom.js","../../src/useCases/updateSelf.js","../../src/useCases/updateSpace.js","../../src/useCases/updateSwitch.js","../../src/useCases/updateThermostat.js","../../src/useCases/updateTicket.js","../../src/useCases/updateTicketStatus.js","../../src/useCases/updateTimeSheet.js","../../src/useCases/updateTimeSheetTimeEntry.js","../../src/useCases/updateUser.js","../../src/useCases/updateVendor.js","../../src/useCases/updateWindowCovering.js","../../src/useCases/uploadImage.js","../../src/useCases/upsertDiscoveredDevice.js"],"sourcesContent":["// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-17T21:50:38.425Z\n\nexport * from \"./assignSpaceToReservation\";\nexport * from \"./autoAssociateDiscoveredDevices\";\nexport * from \"./autoCloseTickets\";\nexport * from \"./batchNotifyCheckIn\";\nexport * from \"./batchNotifyCheckOut\";\nexport * from \"./batchNotifyMissedCheckOut\";\nexport * from \"./batchNotifyPreArrival\";\nexport * from \"./bulkUpdateIssue\";\nexport * from \"./checkInReservation\";\nexport * from \"./checkOutReservation\";\nexport * from \"./checkVerificationCode\";\nexport * from \"./createAlarm\";\nexport * from \"./createAnnouncement\";\nexport * from \"./createAutomation\";\nexport * from \"./createCamera\";\nexport * from \"./createCategory\";\nexport * from \"./createCourtesy\";\nexport * from \"./createDefaultScenes\";\nexport * from \"./createDimmer\";\nexport * from \"./createDiscoveredDevice\";\nexport * from \"./createDiscoveredDeviceAssociation\";\nexport * from \"./createDiscoveredDeviceAssociationMap\";\nexport * from \"./createImageUploadEndpoint\";\nexport * from \"./createIssue\";\nexport * from \"./createLock\";\nexport * from \"./createMediaSource\";\nexport * from \"./createOrganization\";\nexport * from \"./createPolicy\";\nexport * from \"./createProperty\";\nexport * from \"./createReservation\";\nexport * from \"./createRoom\";\nexport * from \"./createRoomInSpace\";\nexport * from \"./createScene\";\nexport * from \"./createSpace\";\nexport * from \"./createSwitch\";\nexport * from \"./createThermostat\";\nexport * from \"./createTicket\";\nexport * from \"./createTicketMessage\";\nexport * from \"./createTimeSheet\";\nexport * from \"./createTimeSheetTimeEntry\";\nexport * from \"./createUser\";\nexport * from \"./createUserMobileKey\";\nexport * from \"./createVendor\";\nexport * from \"./createWindowCovering\";\nexport * from \"./deleteAlarm\";\nexport * from \"./deleteAnnouncement\";\nexport * from \"./deleteAutomation\";\nexport * from \"./deleteCamera\";\nexport * from \"./deleteCategory\";\nexport * from \"./deleteCourtesy\";\nexport * from \"./deleteDimmer\";\nexport * from \"./deleteDiscoveredDevice\";\nexport * from \"./deleteIssue\";\nexport * from \"./deleteLock\";\nexport * from \"./deleteMediaFile\";\nexport * from \"./deleteMediaSource\";\nexport * from \"./deletePolicy\";\nexport * from \"./deleteReservation\";\nexport * from \"./deleteRoom\";\nexport * from \"./deleteSpace\";\nexport * from \"./deleteSwitch\";\nexport * from \"./deleteThermostat\";\nexport * from \"./deleteTicket\";\nexport * from \"./deleteTimeSheet\";\nexport * from \"./deleteTimeSheetTimeEntry\";\nexport * from \"./deleteUser\";\nexport * from \"./deleteUserCredential\";\nexport * from \"./deleteVendor\";\nexport * from \"./deleteWindowCovering\";\nexport * from \"./describeAlarm\";\nexport * from \"./describeAlarmConfig\";\nexport * from \"./describeAnnouncement\";\nexport * from \"./describeAutomation\";\nexport * from \"./describeCamera\";\nexport * from \"./describeCategory\";\nexport * from \"./describeCourtesy\";\nexport * from \"./describeDimmer\";\nexport * from \"./describeDiscoveredDevice\";\nexport * from \"./describeIssue\";\nexport * from \"./describeLock\";\nexport * from \"./describeLockCredential\";\nexport * from \"./describeMediaSource\";\nexport * from \"./describeMyAuth\";\nexport * from \"./describeMyMobileKeyApp\";\nexport * from \"./describeMyOrganization\";\nexport * from \"./describeMyPasskeyRegistrations\";\nexport * from \"./describeOrganization\";\nexport * from \"./describePolicy\";\nexport * from \"./describeProduct\";\nexport * from \"./describeProperty\";\nexport * from \"./describeReservation\";\nexport * from \"./describeReservationEarlyCheckInProducts\";\nexport * from \"./describeReservationLateCheckOutProducts\";\nexport * from \"./describeReservationPetProducts\";\nexport * from \"./describeReservationPromos\";\nexport * from \"./describeReservationRoomUpgrades\";\nexport * from \"./describeRoom\";\nexport * from \"./describeSOS\";\nexport * from \"./describeSelf\";\nexport * from \"./describeSpace\";\nexport * from \"./describeSwitch\";\nexport * from \"./describeThermostat\";\nexport * from \"./describeTicket\";\nexport * from \"./describeTicketFilters\";\nexport * from \"./describeTicketStats\";\nexport * from \"./describeTimeSheet\";\nexport * from \"./describeTimeSheetStats\";\nexport * from \"./describeUser\";\nexport * from \"./describeVendor\";\nexport * from \"./describeWindowCovering\";\nexport * from \"./discoverReservations\";\nexport * from \"./emailUserAccountSetup\";\nexport * from \"./finishRegisterPasskey\";\nexport * from \"./leaveTicket\";\nexport * from \"./listAlarms\";\nexport * from \"./listAnnouncements\";\nexport * from \"./listAutomations\";\nexport * from \"./listCameraStreamPreviews\";\nexport * from \"./listCameras\";\nexport * from \"./listCategories\";\nexport * from \"./listCourtesy\";\nexport * from \"./listDimmers\";\nexport * from \"./listDiscoveredDevices\";\nexport * from \"./listIssues\";\nexport * from \"./listLocks\";\nexport * from \"./listMediaSources\";\nexport * from \"./listMyOrders\";\nexport * from \"./listMyProperties\";\nexport * from \"./listMyReservations\";\nexport * from \"./listMySpaces\";\nexport * from \"./listMyTickets\";\nexport * from \"./listMyTimeSheets\";\nexport * from \"./listOrders\";\nexport * from \"./listOrganizations\";\nexport * from \"./listPolicies\";\nexport * from \"./listProducts\";\nexport * from \"./listProperties\";\nexport * from \"./listReservations\";\nexport * from \"./listRooms\";\nexport * from \"./listRoomsInSpace\";\nexport * from \"./listScenes\";\nexport * from \"./listSpaces\";\nexport * from \"./listSwitches\";\nexport * from \"./listTeam\";\nexport * from \"./listThermostats\";\nexport * from \"./listTicketLocations\";\nexport * from \"./listTickets\";\nexport * from \"./listTimeSheets\";\nexport * from \"./listUserMobileKeys\";\nexport * from \"./listUserOrders\";\nexport * from \"./listUserReservations\";\nexport * from \"./listUserSpaces\";\nexport * from \"./listUsers\";\nexport * from \"./listVendors\";\nexport * from \"./listWindowCoverings\";\nexport * from \"./loginFinish\";\nexport * from \"./loginStart\";\nexport * from \"./logoutSelf\";\nexport * from \"./logoutUser\";\nexport * from \"./matchUserIdentification\";\nexport * from \"./oCRDocument\";\nexport * from \"./purchaseReservationEarlyCheckInProducts\";\nexport * from \"./purchaseReservationLateCheckOutProducts\";\nexport * from \"./purchaseReservationPetProducts\";\nexport * from \"./purchaseReservationPromos\";\nexport * from \"./purchaseReservationRoomUpgrades\";\nexport * from \"./refreshToken\";\nexport * from \"./requestLoginToken\";\nexport * from \"./sendCheckInSMS\";\nexport * from \"./sendCheckOutSMS\";\nexport * from \"./sendPreArrivalEmail\";\nexport * from \"./sendPreArrivalSMS\";\nexport * from \"./sendRoomControlSMS\";\nexport * from \"./sendVerificationCode\";\nexport * from \"./setAlarm\";\nexport * from \"./setCamera\";\nexport * from \"./setCourtesy\";\nexport * from \"./setDimmer\";\nexport * from \"./setLock\";\nexport * from \"./setMediaSource\";\nexport * from \"./setRoomScene\";\nexport * from \"./setScene\";\nexport * from \"./setSpaceScene\";\nexport * from \"./setSwitch\";\nexport * from \"./setThermostat\";\nexport * from \"./setWindowCovering\";\nexport * from \"./startRegisterPasskey\";\nexport * from \"./startSOS\";\nexport * from \"./stopSOS\";\nexport * from \"./tipUser\";\nexport * from \"./updateAlarm\";\nexport * from \"./updateAnnouncement\";\nexport * from \"./updateAutomation\";\nexport * from \"./updateCamera\";\nexport * from \"./updateCategory\";\nexport * from \"./updateCourtesy\";\nexport * from \"./updateDimmer\";\nexport * from \"./updateDiscoveredDevice\";\nexport * from \"./updateIssue\";\nexport * from \"./updateLock\";\nexport * from \"./updateMediaSource\";\nexport * from \"./updateMessageReadStatus\";\nexport * from \"./updateOrganization\";\nexport * from \"./updatePolicy\";\nexport * from \"./updateProperty\";\nexport * from \"./updatePropertySettings\";\nexport * from \"./updateReservation\";\nexport * from \"./updateReservationExpectedArrivalTime\";\nexport * from \"./updateRoom\";\nexport * from \"./updateSelf\";\nexport * from \"./updateSpace\";\nexport * from \"./updateSwitch\";\nexport * from \"./updateThermostat\";\nexport * from \"./updateTicket\";\nexport * from \"./updateTicketStatus\";\nexport * from \"./updateTimeSheet\";\nexport * from \"./updateTimeSheetTimeEntry\";\nexport * from \"./updateUser\";\nexport * from \"./updateVendor\";\nexport * from \"./updateWindowCovering\";\nexport * from \"./uploadImage\";\nexport * from \"./upsertDiscoveredDevice\";","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class AssignSpaceToReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} AssignSpaceToReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {AssignSpaceToReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = AssignSpaceToReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = AssignSpaceToReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {AssignSpaceToReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {AssignSpaceToReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {AssignSpaceToReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: AssignSpaceToReservationCommandConfig[\"data\"] , params: AssignSpaceToReservationCommandConfig[\"query\"], headers: AssignSpaceToReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: AssignSpaceToReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/space\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class AutoAssociateDiscoveredDevicesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} AutoAssociateDiscoveredDevicesCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {AutoAssociateDiscoveredDevicesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = AutoAssociateDiscoveredDevicesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = AutoAssociateDiscoveredDevicesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {AutoAssociateDiscoveredDevicesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {AutoAssociateDiscoveredDevicesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {AutoAssociateDiscoveredDevicesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: AutoAssociateDiscoveredDevicesCommandConfig[\"data\"] , params: AutoAssociateDiscoveredDevicesCommandConfig[\"query\"], headers: AutoAssociateDiscoveredDevicesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: AutoAssociateDiscoveredDevicesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/autoAssociate\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class AutoCloseTicketsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} AutoCloseTicketsCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {AutoCloseTicketsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = AutoCloseTicketsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = AutoCloseTicketsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {AutoCloseTicketsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {AutoCloseTicketsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {AutoCloseTicketsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: AutoCloseTicketsCommandConfig[\"data\"] , params: AutoCloseTicketsCommandConfig[\"query\"], headers: AutoCloseTicketsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: AutoCloseTicketsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/autoClose\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyCheckInCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyCheckInCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyCheckInCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyCheckInCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyCheckInCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyCheckInCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyCheckInCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyCheckInCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyCheckInCommandConfig[\"data\"] , params: BatchNotifyCheckInCommandConfig[\"query\"], headers: BatchNotifyCheckInCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyCheckInCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyCheckOutCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyCheckOutCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyCheckOutCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyCheckOutCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyCheckOutCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyCheckOutCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyCheckOutCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyCheckOutCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyCheckOutCommandConfig[\"data\"] , params: BatchNotifyCheckOutCommandConfig[\"query\"], headers: BatchNotifyCheckOutCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyCheckOutCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyMissedCheckOutCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyMissedCheckOutCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyMissedCheckOutCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyMissedCheckOutCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyMissedCheckOutCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyMissedCheckOutCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyMissedCheckOutCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyMissedCheckOutCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyMissedCheckOutCommandConfig[\"data\"] , params: BatchNotifyMissedCheckOutCommandConfig[\"query\"], headers: BatchNotifyMissedCheckOutCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyMissedCheckOutCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyMissedCheckOut\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyPreArrivalCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyPreArrivalCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyPreArrivalCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyPreArrivalCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyPreArrivalCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyPreArrivalCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyPreArrivalCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyPreArrivalCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyPreArrivalCommandConfig[\"data\"] , params: BatchNotifyPreArrivalCommandConfig[\"query\"], headers: BatchNotifyPreArrivalCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyPreArrivalCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyPreArrival\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BulkUpdateIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BulkUpdateIssueCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BulkUpdateIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BulkUpdateIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BulkUpdateIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BulkUpdateIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BulkUpdateIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BulkUpdateIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: BulkUpdateIssueCommandConfig[\"data\"] , params: BulkUpdateIssueCommandConfig[\"query\"], headers: BulkUpdateIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BulkUpdateIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CheckInReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CheckInReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CheckInReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CheckInReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CheckInReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CheckInReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CheckInReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CheckInReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CheckInReservationCommandConfig[\"data\"] , params: CheckInReservationCommandConfig[\"query\"], headers: CheckInReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CheckInReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/checkin\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CheckOutReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CheckOutReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CheckOutReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CheckOutReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CheckOutReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CheckOutReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CheckOutReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CheckOutReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CheckOutReservationCommandConfig[\"data\"] , params: CheckOutReservationCommandConfig[\"query\"], headers: CheckOutReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CheckOutReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/checkout\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CheckVerificationCodeCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CheckVerificationCodeCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CheckVerificationCodeCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CheckVerificationCodeCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CheckVerificationCodeCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CheckVerificationCodeCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CheckVerificationCodeCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CheckVerificationCodeCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CheckVerificationCodeCommandConfig[\"data\"] , params: CheckVerificationCodeCommandConfig[\"query\"], headers: CheckVerificationCodeCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CheckVerificationCodeCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/checkVerificationCode\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateAlarmCommandConfig[\"data\"] , params: CreateAlarmCommandConfig[\"query\"], headers: CreateAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateAnnouncementCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateAnnouncementCommandConfig[\"data\"] , params: CreateAnnouncementCommandConfig[\"query\"], headers: CreateAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateAutomationCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateAutomationCommandConfig[\"data\"] , params: CreateAutomationCommandConfig[\"query\"], headers: CreateAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateCameraCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateCameraCommandConfig[\"data\"] , params: CreateCameraCommandConfig[\"query\"], headers: CreateCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateCategoryCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateCategoryCommandConfig[\"data\"] , params: CreateCategoryCommandConfig[\"query\"], headers: CreateCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateCourtesyCommandConfig[\"data\"] , params: CreateCourtesyCommandConfig[\"query\"], headers: CreateCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDefaultScenesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDefaultScenesCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDefaultScenesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDefaultScenesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDefaultScenesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDefaultScenesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDefaultScenesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDefaultScenesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDefaultScenesCommandConfig[\"data\"] , params: CreateDefaultScenesCommandConfig[\"query\"], headers: CreateDefaultScenesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDefaultScenesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes/default\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDimmerCommandConfig[\"data\"] , params: CreateDimmerCommandConfig[\"query\"], headers: CreateDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDiscoveredDeviceCommandConfig[\"data\"] , params: CreateDiscoveredDeviceCommandConfig[\"query\"], headers: CreateDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDiscoveredDeviceAssociationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDiscoveredDeviceAssociationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDiscoveredDeviceAssociationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDiscoveredDeviceAssociationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDiscoveredDeviceAssociationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDiscoveredDeviceAssociationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDiscoveredDeviceAssociationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDiscoveredDeviceAssociationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDiscoveredDeviceAssociationCommandConfig[\"data\"] , params: CreateDiscoveredDeviceAssociationCommandConfig[\"query\"], headers: CreateDiscoveredDeviceAssociationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDiscoveredDeviceAssociationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id/associate\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDiscoveredDeviceAssociationMapCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDiscoveredDeviceAssociationMapCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDiscoveredDeviceAssociationMapCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDiscoveredDeviceAssociationMapCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDiscoveredDeviceAssociationMapCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDiscoveredDeviceAssociationMapCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDiscoveredDeviceAssociationMapCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDiscoveredDeviceAssociationMapCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: CreateDiscoveredDeviceAssociationMapCommandConfig[\"data\"] , params: CreateDiscoveredDeviceAssociationMapCommandConfig[\"query\"], headers: CreateDiscoveredDeviceAssociationMapCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDiscoveredDeviceAssociationMapCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/associationMap\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateImageUploadEndpointCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateImageUploadEndpointCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateImageUploadEndpointCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateImageUploadEndpointCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateImageUploadEndpointCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateImageUploadEndpointCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateImageUploadEndpointCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateImageUploadEndpointCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateImageUploadEndpointCommandConfig[\"data\"] , params: CreateImageUploadEndpointCommandConfig[\"query\"], headers: CreateImageUploadEndpointCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateImageUploadEndpointCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/mediaFiles/imageUploadEndpoint\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateIssueCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateIssueCommandConfig[\"data\"] , params: CreateIssueCommandConfig[\"query\"], headers: CreateIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateLockCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateLockCommandConfig[\"data\"] , params: CreateLockCommandConfig[\"query\"], headers: CreateLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateMediaSourceCommandConfig[\"data\"] , params: CreateMediaSourceCommandConfig[\"query\"], headers: CreateMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateOrganizationCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateOrganizationCommandConfig[\"data\"] , params: CreateOrganizationCommandConfig[\"query\"], headers: CreateOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreatePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreatePolicyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreatePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreatePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreatePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreatePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreatePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreatePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreatePolicyCommandConfig[\"data\"] , params: CreatePolicyCommandConfig[\"query\"], headers: CreatePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreatePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreatePropertyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreatePropertyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreatePropertyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreatePropertyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreatePropertyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreatePropertyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreatePropertyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreatePropertyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreatePropertyCommandConfig[\"data\"] , params: CreatePropertyCommandConfig[\"query\"], headers: CreatePropertyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreatePropertyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateReservationCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateReservationCommandConfig[\"data\"] , params: CreateReservationCommandConfig[\"query\"], headers: CreateReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateRoomCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateRoomCommandConfig[\"data\"] , params: CreateRoomCommandConfig[\"query\"], headers: CreateRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateRoomInSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateRoomInSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateRoomInSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateRoomInSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateRoomInSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateRoomInSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateRoomInSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateRoomInSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateRoomInSpaceCommandConfig[\"data\"] , params: CreateRoomInSpaceCommandConfig[\"query\"], headers: CreateRoomInSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateRoomInSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateSceneCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateSceneCommandConfig[\"data\"] , params: CreateSceneCommandConfig[\"query\"], headers: CreateSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateSpaceCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateSpaceCommandConfig[\"data\"] , params: CreateSpaceCommandConfig[\"query\"], headers: CreateSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateSwitchCommandConfig[\"data\"] , params: CreateSwitchCommandConfig[\"query\"], headers: CreateSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateThermostatCommandConfig[\"data\"] , params: CreateThermostatCommandConfig[\"query\"], headers: CreateThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTicketCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTicketCommandConfig[\"data\"] , params: CreateTicketCommandConfig[\"query\"], headers: CreateTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTicketMessageCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTicketMessageCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTicketMessageCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTicketMessageCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTicketMessageCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTicketMessageCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTicketMessageCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTicketMessageCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTicketMessageCommandConfig[\"data\"] , params: CreateTicketMessageCommandConfig[\"query\"], headers: CreateTicketMessageCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTicketMessageCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/messages\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTimeSheetCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTimeSheetCommandConfig[\"data\"] , params: CreateTimeSheetCommandConfig[\"query\"], headers: CreateTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTimeSheetTimeEntryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTimeSheetTimeEntryCommandConfig\n * @property {{[key: string]: any, timeSheetId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTimeSheetTimeEntryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTimeSheetTimeEntryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTimeSheetTimeEntryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTimeSheetTimeEntryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTimeSheetTimeEntryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTimeSheetTimeEntryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTimeSheetTimeEntryCommandConfig[\"data\"] , params: CreateTimeSheetTimeEntryCommandConfig[\"query\"], headers: CreateTimeSheetTimeEntryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTimeSheetTimeEntryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"timeSheetId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:timeSheetId/timeEntries\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateUserCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateUserCommandConfig[\"data\"] , params: CreateUserCommandConfig[\"query\"], headers: CreateUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateUserMobileKeyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateUserMobileKeyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateUserMobileKeyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateUserMobileKeyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateUserMobileKeyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateUserMobileKeyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateUserMobileKeyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateUserMobileKeyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateUserMobileKeyCommandConfig[\"data\"] , params: CreateUserMobileKeyCommandConfig[\"query\"], headers: CreateUserMobileKeyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateUserMobileKeyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/mobileKeys\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateVendorCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateVendorCommandConfig[\"data\"] , params: CreateVendorCommandConfig[\"query\"], headers: CreateVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateWindowCoveringCommandConfig[\"data\"] , params: CreateWindowCoveringCommandConfig[\"query\"], headers: CreateWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteAlarmCommandConfig[\"data\"] , params: DeleteAlarmCommandConfig[\"query\"], headers: DeleteAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteAnnouncementCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteAnnouncementCommandConfig[\"data\"] , params: DeleteAnnouncementCommandConfig[\"query\"], headers: DeleteAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteAutomationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteAutomationCommandConfig[\"data\"] , params: DeleteAutomationCommandConfig[\"query\"], headers: DeleteAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteCameraCommandConfig[\"data\"] , params: DeleteCameraCommandConfig[\"query\"], headers: DeleteCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteCategoryCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteCategoryCommandConfig[\"data\"] , params: DeleteCategoryCommandConfig[\"query\"], headers: DeleteCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteCourtesyCommandConfig[\"data\"] , params: DeleteCourtesyCommandConfig[\"query\"], headers: DeleteCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteDimmerCommandConfig[\"data\"] , params: DeleteDimmerCommandConfig[\"query\"], headers: DeleteDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteDiscoveredDeviceCommandConfig[\"data\"] , params: DeleteDiscoveredDeviceCommandConfig[\"query\"], headers: DeleteDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteIssueCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteIssueCommandConfig[\"data\"] , params: DeleteIssueCommandConfig[\"query\"], headers: DeleteIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteLockCommandConfig[\"data\"] , params: DeleteLockCommandConfig[\"query\"], headers: DeleteLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteMediaFileCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteMediaFileCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteMediaFileCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteMediaFileCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteMediaFileCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteMediaFileCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteMediaFileCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteMediaFileCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteMediaFileCommandConfig[\"data\"] , params: DeleteMediaFileCommandConfig[\"query\"], headers: DeleteMediaFileCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteMediaFileCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/mediaFiles/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteMediaSourceCommandConfig[\"data\"] , params: DeleteMediaSourceCommandConfig[\"query\"], headers: DeleteMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeletePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeletePolicyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeletePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeletePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeletePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeletePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeletePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeletePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeletePolicyCommandConfig[\"data\"] , params: DeletePolicyCommandConfig[\"query\"], headers: DeletePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeletePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteReservationCommandConfig[\"data\"] , params: DeleteReservationCommandConfig[\"query\"], headers: DeleteReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteRoomCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteRoomCommandConfig[\"data\"] , params: DeleteRoomCommandConfig[\"query\"], headers: DeleteRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteSpaceCommandConfig[\"data\"] , params: DeleteSpaceCommandConfig[\"query\"], headers: DeleteSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteSwitchCommandConfig[\"data\"] , params: DeleteSwitchCommandConfig[\"query\"], headers: DeleteSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteThermostatCommandConfig[\"data\"] , params: DeleteThermostatCommandConfig[\"query\"], headers: DeleteThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteTicketCommandConfig[\"data\"] , params: DeleteTicketCommandConfig[\"query\"], headers: DeleteTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteTimeSheetCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteTimeSheetCommandConfig[\"data\"] , params: DeleteTimeSheetCommandConfig[\"query\"], headers: DeleteTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteTimeSheetTimeEntryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteTimeSheetTimeEntryCommandConfig\n * @property {{[key: string]: any, timeSheetId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteTimeSheetTimeEntryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteTimeSheetTimeEntryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteTimeSheetTimeEntryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteTimeSheetTimeEntryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteTimeSheetTimeEntryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteTimeSheetTimeEntryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteTimeSheetTimeEntryCommandConfig[\"data\"] , params: DeleteTimeSheetTimeEntryCommandConfig[\"query\"], headers: DeleteTimeSheetTimeEntryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteTimeSheetTimeEntryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"timeSheetId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:timeSheetId/timeEntries/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteUserCommandConfig[\"data\"] , params: DeleteUserCommandConfig[\"query\"], headers: DeleteUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteUserCredentialCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteUserCredentialCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteUserCredentialCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteUserCredentialCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteUserCredentialCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteUserCredentialCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteUserCredentialCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteUserCredentialCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteUserCredentialCommandConfig[\"data\"] , params: DeleteUserCredentialCommandConfig[\"query\"], headers: DeleteUserCredentialCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteUserCredentialCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me/accessCredentials/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteVendorCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteVendorCommandConfig[\"data\"] , params: DeleteVendorCommandConfig[\"query\"], headers: DeleteVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteWindowCoveringCommandConfig[\"data\"] , params: DeleteWindowCoveringCommandConfig[\"query\"], headers: DeleteWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAlarmCommandConfig[\"data\"] , params: DescribeAlarmCommandConfig[\"query\"], headers: DescribeAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAlarmConfigCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAlarmConfigCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAlarmConfigCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAlarmConfigCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAlarmConfigCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAlarmConfigCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAlarmConfigCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAlarmConfigCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAlarmConfigCommandConfig[\"data\"] , params: DescribeAlarmConfigCommandConfig[\"query\"], headers: DescribeAlarmConfigCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAlarmConfigCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id/config\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAnnouncementCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAnnouncementCommandConfig[\"data\"] , params: DescribeAnnouncementCommandConfig[\"query\"], headers: DescribeAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAutomationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAutomationCommandConfig[\"data\"] , params: DescribeAutomationCommandConfig[\"query\"], headers: DescribeAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeCameraCommandConfig[\"data\"] , params: DescribeCameraCommandConfig[\"query\"], headers: DescribeCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeCategoryCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeCategoryCommandConfig[\"data\"] , params: DescribeCategoryCommandConfig[\"query\"], headers: DescribeCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeCourtesyCommandConfig[\"data\"] , params: DescribeCourtesyCommandConfig[\"query\"], headers: DescribeCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeDimmerCommandConfig[\"data\"] , params: DescribeDimmerCommandConfig[\"query\"], headers: DescribeDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeDiscoveredDeviceCommandConfig[\"data\"] , params: DescribeDiscoveredDeviceCommandConfig[\"query\"], headers: DescribeDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeIssueCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeIssueCommandConfig[\"data\"] , params: DescribeIssueCommandConfig[\"query\"], headers: DescribeIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeLockCommandConfig[\"data\"] , params: DescribeLockCommandConfig[\"query\"], headers: DescribeLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeLockCredentialCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeLockCredentialCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeLockCredentialCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeLockCredentialCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeLockCredentialCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeLockCredentialCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeLockCredentialCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeLockCredentialCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: DescribeLockCredentialCommandConfig[\"data\"] , params: DescribeLockCredentialCommandConfig[\"query\"], headers: DescribeLockCredentialCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeLockCredentialCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id/credential\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMediaSourceCommandConfig[\"data\"] , params: DescribeMediaSourceCommandConfig[\"query\"], headers: DescribeMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyAuthCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyAuthCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyAuthCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyAuthCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyAuthCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyAuthCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyAuthCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyAuthCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyAuthCommandConfig[\"data\"] , params: DescribeMyAuthCommandConfig[\"query\"], headers: DescribeMyAuthCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyAuthCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/me\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyMobileKeyAppCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyMobileKeyAppCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyMobileKeyAppCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyMobileKeyAppCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyMobileKeyAppCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyMobileKeyAppCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyMobileKeyAppCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyMobileKeyAppCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyMobileKeyAppCommandConfig[\"data\"] , params: DescribeMyMobileKeyAppCommandConfig[\"query\"], headers: DescribeMyMobileKeyAppCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyMobileKeyAppCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me/accessCredentials\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyOrganizationCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyOrganizationCommandConfig[\"data\"] , params: DescribeMyOrganizationCommandConfig[\"query\"], headers: DescribeMyOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyPasskeyRegistrationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyPasskeyRegistrationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyPasskeyRegistrationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyPasskeyRegistrationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyPasskeyRegistrationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyPasskeyRegistrationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyPasskeyRegistrationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyPasskeyRegistrationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyPasskeyRegistrationsCommandConfig[\"data\"] , params: DescribeMyPasskeyRegistrationsCommandConfig[\"query\"], headers: DescribeMyPasskeyRegistrationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyPasskeyRegistrationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me/passkeyRegistrations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeOrganizationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeOrganizationCommandConfig[\"data\"] , params: DescribeOrganizationCommandConfig[\"query\"], headers: DescribeOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribePolicyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribePolicyCommandConfig[\"data\"] , params: DescribePolicyCommandConfig[\"query\"], headers: DescribePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeProductCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeProductCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeProductCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeProductCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeProductCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeProductCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeProductCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeProductCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeProductCommandConfig[\"data\"] , params: DescribeProductCommandConfig[\"query\"], headers: DescribeProductCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeProductCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/products/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribePropertyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribePropertyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribePropertyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribePropertyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribePropertyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribePropertyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribePropertyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribePropertyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribePropertyCommandConfig[\"data\"] , params: DescribePropertyCommandConfig[\"query\"], headers: DescribePropertyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribePropertyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationCommandConfig[\"data\"] , params: DescribeReservationCommandConfig[\"query\"], headers: DescribeReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationEarlyCheckInProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationEarlyCheckInProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationEarlyCheckInProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationEarlyCheckInProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationEarlyCheckInProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationEarlyCheckInProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationEarlyCheckInProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationEarlyCheckInProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationEarlyCheckInProductsCommandConfig[\"data\"] , params: DescribeReservationEarlyCheckInProductsCommandConfig[\"query\"], headers: DescribeReservationEarlyCheckInProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationEarlyCheckInProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/earlyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationLateCheckOutProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationLateCheckOutProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationLateCheckOutProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationLateCheckOutProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationLateCheckOutProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationLateCheckOutProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationLateCheckOutProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationLateCheckOutProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationLateCheckOutProductsCommandConfig[\"data\"] , params: DescribeReservationLateCheckOutProductsCommandConfig[\"query\"], headers: DescribeReservationLateCheckOutProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationLateCheckOutProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/lateCheckOut\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationPetProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationPetProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationPetProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationPetProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationPetProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationPetProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationPetProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationPetProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationPetProductsCommandConfig[\"data\"] , params: DescribeReservationPetProductsCommandConfig[\"query\"], headers: DescribeReservationPetProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationPetProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/pet\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationPromosCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationPromosCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationPromosCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationPromosCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationPromosCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationPromosCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationPromosCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationPromosCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationPromosCommandConfig[\"data\"] , params: DescribeReservationPromosCommandConfig[\"query\"], headers: DescribeReservationPromosCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationPromosCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/promo\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationRoomUpgradesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationRoomUpgradesCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationRoomUpgradesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationRoomUpgradesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationRoomUpgradesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationRoomUpgradesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationRoomUpgradesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationRoomUpgradesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationRoomUpgradesCommandConfig[\"data\"] , params: DescribeReservationRoomUpgradesCommandConfig[\"query\"], headers: DescribeReservationRoomUpgradesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationRoomUpgradesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/roomUpgrades\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeRoomCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeRoomCommandConfig[\"data\"] , params: DescribeRoomCommandConfig[\"query\"], headers: DescribeRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSOSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSOSCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSOSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSOSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSOSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSOSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSOSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSOSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSOSCommandConfig[\"data\"] , params: DescribeSOSCommandConfig[\"query\"], headers: DescribeSOSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSOSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/sos\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSelfCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSelfCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSelfCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSelfCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSelfCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSelfCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSelfCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSelfCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSelfCommandConfig[\"data\"] , params: DescribeSelfCommandConfig[\"query\"], headers: DescribeSelfCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSelfCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSpaceCommandConfig[\"data\"] , params: DescribeSpaceCommandConfig[\"query\"], headers: DescribeSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSwitchCommandConfig[\"data\"] , params: DescribeSwitchCommandConfig[\"query\"], headers: DescribeSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeThermostatCommandConfig[\"data\"] , params: DescribeThermostatCommandConfig[\"query\"], headers: DescribeThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTicketCommandConfig[\"data\"] , params: DescribeTicketCommandConfig[\"query\"], headers: DescribeTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTicketFiltersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTicketFiltersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTicketFiltersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTicketFiltersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTicketFiltersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTicketFiltersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTicketFiltersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTicketFiltersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTicketFiltersCommandConfig[\"data\"] , params: DescribeTicketFiltersCommandConfig[\"query\"], headers: DescribeTicketFiltersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTicketFiltersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/filters\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTicketStatsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTicketStatsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTicketStatsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTicketStatsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTicketStatsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTicketStatsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTicketStatsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTicketStatsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTicketStatsCommandConfig[\"data\"] , params: DescribeTicketStatsCommandConfig[\"query\"], headers: DescribeTicketStatsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTicketStatsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/stats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTimeSheetCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTimeSheetCommandConfig[\"data\"] , params: DescribeTimeSheetCommandConfig[\"query\"], headers: DescribeTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTimeSheetStatsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTimeSheetStatsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTimeSheetStatsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTimeSheetStatsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTimeSheetStatsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTimeSheetStatsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTimeSheetStatsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTimeSheetStatsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTimeSheetStatsCommandConfig[\"data\"] , params: DescribeTimeSheetStatsCommandConfig[\"query\"], headers: DescribeTimeSheetStatsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTimeSheetStatsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/stats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeUserCommandConfig[\"data\"] , params: DescribeUserCommandConfig[\"query\"], headers: DescribeUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeVendorCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeVendorCommandConfig[\"data\"] , params: DescribeVendorCommandConfig[\"query\"], headers: DescribeVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeWindowCoveringCommandConfig[\"data\"] , params: DescribeWindowCoveringCommandConfig[\"query\"], headers: DescribeWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DiscoverReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DiscoverReservationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DiscoverReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DiscoverReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DiscoverReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DiscoverReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DiscoverReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DiscoverReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DiscoverReservationsCommandConfig[\"data\"] , params: DiscoverReservationsCommandConfig[\"query\"], headers: DiscoverReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DiscoverReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/discover\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class EmailUserAccountSetupCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} EmailUserAccountSetupCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {EmailUserAccountSetupCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = EmailUserAccountSetupCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = EmailUserAccountSetupCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {EmailUserAccountSetupCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {EmailUserAccountSetupCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {EmailUserAccountSetupCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: EmailUserAccountSetupCommandConfig[\"data\"] , params: EmailUserAccountSetupCommandConfig[\"query\"], headers: EmailUserAccountSetupCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: EmailUserAccountSetupCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/email/setup\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class FinishRegisterPasskeyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} FinishRegisterPasskeyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {FinishRegisterPasskeyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = FinishRegisterPasskeyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = FinishRegisterPasskeyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {FinishRegisterPasskeyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {FinishRegisterPasskeyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {FinishRegisterPasskeyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: FinishRegisterPasskeyCommandConfig[\"data\"] , params: FinishRegisterPasskeyCommandConfig[\"query\"], headers: FinishRegisterPasskeyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: FinishRegisterPasskeyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/registerPasskey/finish\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LeaveTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LeaveTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LeaveTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LeaveTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LeaveTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LeaveTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LeaveTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LeaveTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LeaveTicketCommandConfig[\"data\"] , params: LeaveTicketCommandConfig[\"query\"], headers: LeaveTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LeaveTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/leave\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListAlarmsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListAlarmsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListAlarmsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListAlarmsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListAlarmsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListAlarmsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListAlarmsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListAlarmsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListAlarmsCommandConfig[\"data\"] , params: ListAlarmsCommandConfig[\"query\"], headers: ListAlarmsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListAlarmsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListAnnouncementsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListAnnouncementsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListAnnouncementsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListAnnouncementsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListAnnouncementsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListAnnouncementsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListAnnouncementsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListAnnouncementsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListAnnouncementsCommandConfig[\"data\"] , params: ListAnnouncementsCommandConfig[\"query\"], headers: ListAnnouncementsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListAnnouncementsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListAutomationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListAutomationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListAutomationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListAutomationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListAutomationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListAutomationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListAutomationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListAutomationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListAutomationsCommandConfig[\"data\"] , params: ListAutomationsCommandConfig[\"query\"], headers: ListAutomationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListAutomationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCameraStreamPreviewsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCameraStreamPreviewsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCameraStreamPreviewsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCameraStreamPreviewsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCameraStreamPreviewsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCameraStreamPreviewsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCameraStreamPreviewsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCameraStreamPreviewsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCameraStreamPreviewsCommandConfig[\"data\"] , params: ListCameraStreamPreviewsCommandConfig[\"query\"], headers: ListCameraStreamPreviewsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCameraStreamPreviewsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/stream-previews\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCamerasCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCamerasCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCamerasCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCamerasCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCamerasCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCamerasCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCamerasCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCamerasCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCamerasCommandConfig[\"data\"] , params: ListCamerasCommandConfig[\"query\"], headers: ListCamerasCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCamerasCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCategoriesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCategoriesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCategoriesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCategoriesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCategoriesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCategoriesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCategoriesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCategoriesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCategoriesCommandConfig[\"data\"] , params: ListCategoriesCommandConfig[\"query\"], headers: ListCategoriesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCategoriesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCourtesyCommandConfig[\"data\"] , params: ListCourtesyCommandConfig[\"query\"], headers: ListCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListDimmersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListDimmersCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListDimmersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListDimmersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListDimmersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListDimmersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListDimmersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListDimmersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListDimmersCommandConfig[\"data\"] , params: ListDimmersCommandConfig[\"query\"], headers: ListDimmersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListDimmersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListDiscoveredDevicesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListDiscoveredDevicesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListDiscoveredDevicesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListDiscoveredDevicesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListDiscoveredDevicesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListDiscoveredDevicesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListDiscoveredDevicesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListDiscoveredDevicesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListDiscoveredDevicesCommandConfig[\"data\"] , params: ListDiscoveredDevicesCommandConfig[\"query\"], headers: ListDiscoveredDevicesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListDiscoveredDevicesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListIssuesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListIssuesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListIssuesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListIssuesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListIssuesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListIssuesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListIssuesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListIssuesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListIssuesCommandConfig[\"data\"] , params: ListIssuesCommandConfig[\"query\"], headers: ListIssuesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListIssuesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListLocksCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListLocksCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListLocksCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListLocksCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListLocksCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListLocksCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListLocksCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListLocksCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListLocksCommandConfig[\"data\"] , params: ListLocksCommandConfig[\"query\"], headers: ListLocksCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListLocksCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMediaSourcesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMediaSourcesCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMediaSourcesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMediaSourcesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMediaSourcesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMediaSourcesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMediaSourcesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMediaSourcesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMediaSourcesCommandConfig[\"data\"] , params: ListMediaSourcesCommandConfig[\"query\"], headers: ListMediaSourcesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMediaSourcesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyOrdersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyOrdersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyOrdersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyOrdersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyOrdersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyOrdersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyOrdersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyOrdersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyOrdersCommandConfig[\"data\"] , params: ListMyOrdersCommandConfig[\"query\"], headers: ListMyOrdersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyOrdersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/orders/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyPropertiesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyPropertiesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyPropertiesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyPropertiesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyPropertiesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyPropertiesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyPropertiesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyPropertiesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyPropertiesCommandConfig[\"data\"] , params: ListMyPropertiesCommandConfig[\"query\"], headers: ListMyPropertiesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyPropertiesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyReservationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyReservationsCommandConfig[\"data\"] , params: ListMyReservationsCommandConfig[\"query\"], headers: ListMyReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMySpacesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMySpacesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMySpacesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMySpacesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMySpacesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMySpacesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMySpacesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMySpacesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMySpacesCommandConfig[\"data\"] , params: ListMySpacesCommandConfig[\"query\"], headers: ListMySpacesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMySpacesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyTicketsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyTicketsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyTicketsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyTicketsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyTicketsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyTicketsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyTicketsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyTicketsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyTicketsCommandConfig[\"data\"] , params: ListMyTicketsCommandConfig[\"query\"], headers: ListMyTicketsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyTicketsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyTimeSheetsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyTimeSheetsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyTimeSheetsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyTimeSheetsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyTimeSheetsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyTimeSheetsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyTimeSheetsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyTimeSheetsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyTimeSheetsCommandConfig[\"data\"] , params: ListMyTimeSheetsCommandConfig[\"query\"], headers: ListMyTimeSheetsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyTimeSheetsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListOrdersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListOrdersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListOrdersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListOrdersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListOrdersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListOrdersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListOrdersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListOrdersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListOrdersCommandConfig[\"data\"] , params: ListOrdersCommandConfig[\"query\"], headers: ListOrdersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListOrdersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/orders\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListOrganizationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListOrganizationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListOrganizationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListOrganizationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListOrganizationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListOrganizationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListOrganizationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListOrganizationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListOrganizationsCommandConfig[\"data\"] , params: ListOrganizationsCommandConfig[\"query\"], headers: ListOrganizationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListOrganizationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListPoliciesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListPoliciesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListPoliciesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListPoliciesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListPoliciesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListPoliciesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListPoliciesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListPoliciesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListPoliciesCommandConfig[\"data\"] , params: ListPoliciesCommandConfig[\"query\"], headers: ListPoliciesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListPoliciesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListProductsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListProductsCommandConfig[\"data\"] , params: ListProductsCommandConfig[\"query\"], headers: ListProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/products\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListPropertiesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListPropertiesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListPropertiesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListPropertiesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListPropertiesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListPropertiesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListPropertiesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListPropertiesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListPropertiesCommandConfig[\"data\"] , params: ListPropertiesCommandConfig[\"query\"], headers: ListPropertiesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListPropertiesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListReservationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListReservationsCommandConfig[\"data\"] , params: ListReservationsCommandConfig[\"query\"], headers: ListReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListRoomsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListRoomsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListRoomsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListRoomsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListRoomsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListRoomsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListRoomsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListRoomsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListRoomsCommandConfig[\"data\"] , params: ListRoomsCommandConfig[\"query\"], headers: ListRoomsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListRoomsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListRoomsInSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListRoomsInSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListRoomsInSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListRoomsInSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListRoomsInSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListRoomsInSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListRoomsInSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListRoomsInSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListRoomsInSpaceCommandConfig[\"data\"] , params: ListRoomsInSpaceCommandConfig[\"query\"], headers: ListRoomsInSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListRoomsInSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListScenesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListScenesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListScenesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListScenesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListScenesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListScenesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListScenesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListScenesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListScenesCommandConfig[\"data\"] , params: ListScenesCommandConfig[\"query\"], headers: ListScenesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListScenesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListSpacesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListSpacesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListSpacesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListSpacesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListSpacesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListSpacesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListSpacesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListSpacesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListSpacesCommandConfig[\"data\"] , params: ListSpacesCommandConfig[\"query\"], headers: ListSpacesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListSpacesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListSwitchesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListSwitchesCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListSwitchesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListSwitchesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListSwitchesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListSwitchesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListSwitchesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListSwitchesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListSwitchesCommandConfig[\"data\"] , params: ListSwitchesCommandConfig[\"query\"], headers: ListSwitchesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListSwitchesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTeamCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTeamCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTeamCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTeamCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTeamCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTeamCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTeamCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTeamCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTeamCommandConfig[\"data\"] , params: ListTeamCommandConfig[\"query\"], headers: ListTeamCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTeamCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/team\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListThermostatsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListThermostatsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListThermostatsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListThermostatsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListThermostatsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListThermostatsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListThermostatsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListThermostatsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListThermostatsCommandConfig[\"data\"] , params: ListThermostatsCommandConfig[\"query\"], headers: ListThermostatsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListThermostatsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTicketLocationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTicketLocationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTicketLocationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTicketLocationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTicketLocationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTicketLocationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTicketLocationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTicketLocationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTicketLocationsCommandConfig[\"data\"] , params: ListTicketLocationsCommandConfig[\"query\"], headers: ListTicketLocationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTicketLocationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/locations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTicketsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTicketsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTicketsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTicketsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTicketsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTicketsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTicketsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTicketsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTicketsCommandConfig[\"data\"] , params: ListTicketsCommandConfig[\"query\"], headers: ListTicketsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTicketsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTimeSheetsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTimeSheetsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTimeSheetsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTimeSheetsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTimeSheetsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTimeSheetsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTimeSheetsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTimeSheetsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTimeSheetsCommandConfig[\"data\"] , params: ListTimeSheetsCommandConfig[\"query\"], headers: ListTimeSheetsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTimeSheetsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserMobileKeysCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserMobileKeysCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserMobileKeysCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserMobileKeysCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserMobileKeysCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserMobileKeysCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserMobileKeysCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserMobileKeysCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserMobileKeysCommandConfig[\"data\"] , params: ListUserMobileKeysCommandConfig[\"query\"], headers: ListUserMobileKeysCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserMobileKeysCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/mobileKeys\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserOrdersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserOrdersCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserOrdersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserOrdersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserOrdersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserOrdersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserOrdersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserOrdersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserOrdersCommandConfig[\"data\"] , params: ListUserOrdersCommandConfig[\"query\"], headers: ListUserOrdersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserOrdersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/orders\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserReservationsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserReservationsCommandConfig[\"data\"] , params: ListUserReservationsCommandConfig[\"query\"], headers: ListUserReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/reservations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserSpacesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserSpacesCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserSpacesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserSpacesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserSpacesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserSpacesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserSpacesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserSpacesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserSpacesCommandConfig[\"data\"] , params: ListUserSpacesCommandConfig[\"query\"], headers: ListUserSpacesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserSpacesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/spaces\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUsersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUsersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUsersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUsersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUsersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUsersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUsersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUsersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUsersCommandConfig[\"data\"] , params: ListUsersCommandConfig[\"query\"], headers: ListUsersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUsersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListVendorsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListVendorsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListVendorsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListVendorsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListVendorsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListVendorsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListVendorsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListVendorsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListVendorsCommandConfig[\"data\"] , params: ListVendorsCommandConfig[\"query\"], headers: ListVendorsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListVendorsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListWindowCoveringsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListWindowCoveringsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListWindowCoveringsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListWindowCoveringsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListWindowCoveringsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListWindowCoveringsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListWindowCoveringsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListWindowCoveringsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListWindowCoveringsCommandConfig[\"data\"] , params: ListWindowCoveringsCommandConfig[\"query\"], headers: ListWindowCoveringsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListWindowCoveringsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LoginFinishCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LoginFinishCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LoginFinishCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LoginFinishCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LoginFinishCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LoginFinishCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LoginFinishCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LoginFinishCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LoginFinishCommandConfig[\"data\"] , params: LoginFinishCommandConfig[\"query\"], headers: LoginFinishCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LoginFinishCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/finish\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LoginStartCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LoginStartCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LoginStartCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LoginStartCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LoginStartCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LoginStartCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LoginStartCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LoginStartCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LoginStartCommandConfig[\"data\"] , params: LoginStartCommandConfig[\"query\"], headers: LoginStartCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LoginStartCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/start\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LogoutSelfCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LogoutSelfCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LogoutSelfCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LogoutSelfCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LogoutSelfCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LogoutSelfCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LogoutSelfCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LogoutSelfCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LogoutSelfCommandConfig[\"data\"] , params: LogoutSelfCommandConfig[\"query\"], headers: LogoutSelfCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LogoutSelfCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/user/me/logout\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LogoutUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LogoutUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LogoutUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LogoutUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LogoutUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LogoutUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LogoutUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LogoutUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LogoutUserCommandConfig[\"data\"] , params: LogoutUserCommandConfig[\"query\"], headers: LogoutUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LogoutUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/user/:id/logout\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class MatchUserIdentificationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} MatchUserIdentificationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {MatchUserIdentificationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = MatchUserIdentificationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = MatchUserIdentificationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {MatchUserIdentificationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {MatchUserIdentificationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {MatchUserIdentificationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: MatchUserIdentificationCommandConfig[\"data\"] , params: MatchUserIdentificationCommandConfig[\"query\"], headers: MatchUserIdentificationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: MatchUserIdentificationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/identifications/match\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class OCRDocumentCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} OCRDocumentCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {OCRDocumentCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = OCRDocumentCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = OCRDocumentCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {OCRDocumentCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {OCRDocumentCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {OCRDocumentCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: OCRDocumentCommandConfig[\"data\"] , params: OCRDocumentCommandConfig[\"query\"], headers: OCRDocumentCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: OCRDocumentCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/documents/ocr\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationEarlyCheckInProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationEarlyCheckInProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationEarlyCheckInProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationEarlyCheckInProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationEarlyCheckInProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationEarlyCheckInProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationEarlyCheckInProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationEarlyCheckInProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationEarlyCheckInProductsCommandConfig[\"data\"] , params: PurchaseReservationEarlyCheckInProductsCommandConfig[\"query\"], headers: PurchaseReservationEarlyCheckInProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationEarlyCheckInProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/earlyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationLateCheckOutProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationLateCheckOutProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationLateCheckOutProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationLateCheckOutProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationLateCheckOutProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationLateCheckOutProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationLateCheckOutProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationLateCheckOutProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationLateCheckOutProductsCommandConfig[\"data\"] , params: PurchaseReservationLateCheckOutProductsCommandConfig[\"query\"], headers: PurchaseReservationLateCheckOutProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationLateCheckOutProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/lateCheckOut\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationPetProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationPetProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationPetProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationPetProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationPetProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationPetProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationPetProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationPetProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationPetProductsCommandConfig[\"data\"] , params: PurchaseReservationPetProductsCommandConfig[\"query\"], headers: PurchaseReservationPetProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationPetProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/pet\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationPromosCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationPromosCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationPromosCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationPromosCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationPromosCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationPromosCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationPromosCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationPromosCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationPromosCommandConfig[\"data\"] , params: PurchaseReservationPromosCommandConfig[\"query\"], headers: PurchaseReservationPromosCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationPromosCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/promo\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationRoomUpgradesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationRoomUpgradesCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationRoomUpgradesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationRoomUpgradesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationRoomUpgradesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationRoomUpgradesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationRoomUpgradesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationRoomUpgradesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationRoomUpgradesCommandConfig[\"data\"] , params: PurchaseReservationRoomUpgradesCommandConfig[\"query\"], headers: PurchaseReservationRoomUpgradesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationRoomUpgradesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/roomUpgrades\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class RefreshTokenCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} RefreshTokenCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {RefreshTokenCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = RefreshTokenCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = RefreshTokenCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {RefreshTokenCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {RefreshTokenCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {RefreshTokenCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: RefreshTokenCommandConfig[\"data\"] , params: RefreshTokenCommandConfig[\"query\"], headers: RefreshTokenCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: RefreshTokenCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/refresh\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class RequestLoginTokenCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} RequestLoginTokenCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {RequestLoginTokenCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = RequestLoginTokenCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = RequestLoginTokenCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {RequestLoginTokenCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {RequestLoginTokenCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {RequestLoginTokenCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: RequestLoginTokenCommandConfig[\"data\"] , params: RequestLoginTokenCommandConfig[\"query\"], headers: RequestLoginTokenCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: RequestLoginTokenCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/loginToken\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendCheckInSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendCheckInSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendCheckInSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendCheckInSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendCheckInSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendCheckInSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendCheckInSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendCheckInSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendCheckInSMSCommandConfig[\"data\"] , params: SendCheckInSMSCommandConfig[\"query\"], headers: SendCheckInSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendCheckInSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendCheckInSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendCheckOutSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendCheckOutSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendCheckOutSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendCheckOutSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendCheckOutSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendCheckOutSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendCheckOutSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendCheckOutSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendCheckOutSMSCommandConfig[\"data\"] , params: SendCheckOutSMSCommandConfig[\"query\"], headers: SendCheckOutSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendCheckOutSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendCheckOutSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendPreArrivalEmailCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendPreArrivalEmailCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendPreArrivalEmailCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendPreArrivalEmailCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendPreArrivalEmailCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendPreArrivalEmailCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendPreArrivalEmailCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendPreArrivalEmailCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendPreArrivalEmailCommandConfig[\"data\"] , params: SendPreArrivalEmailCommandConfig[\"query\"], headers: SendPreArrivalEmailCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendPreArrivalEmailCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendPreArrivalEmail\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendPreArrivalSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendPreArrivalSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendPreArrivalSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendPreArrivalSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendPreArrivalSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendPreArrivalSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendPreArrivalSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendPreArrivalSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendPreArrivalSMSCommandConfig[\"data\"] , params: SendPreArrivalSMSCommandConfig[\"query\"], headers: SendPreArrivalSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendPreArrivalSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendPreArrivalSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendRoomControlSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendRoomControlSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendRoomControlSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendRoomControlSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendRoomControlSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendRoomControlSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendRoomControlSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendRoomControlSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendRoomControlSMSCommandConfig[\"data\"] , params: SendRoomControlSMSCommandConfig[\"query\"], headers: SendRoomControlSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendRoomControlSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendRoomControlSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendVerificationCodeCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendVerificationCodeCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendVerificationCodeCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendVerificationCodeCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendVerificationCodeCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendVerificationCodeCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendVerificationCodeCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendVerificationCodeCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendVerificationCodeCommandConfig[\"data\"] , params: SendVerificationCodeCommandConfig[\"query\"], headers: SendVerificationCodeCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendVerificationCodeCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/sendVerificationCode\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetAlarmCommandConfig[\"data\"] , params: SetAlarmCommandConfig[\"query\"], headers: SetAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetCameraCommandConfig[\"data\"] , params: SetCameraCommandConfig[\"query\"], headers: SetCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetCourtesyCommandConfig[\"data\"] , params: SetCourtesyCommandConfig[\"query\"], headers: SetCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetDimmerCommandConfig[\"data\"] , params: SetDimmerCommandConfig[\"query\"], headers: SetDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetLockCommandConfig[\"data\"] , params: SetLockCommandConfig[\"query\"], headers: SetLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetMediaSourceCommandConfig[\"data\"] , params: SetMediaSourceCommandConfig[\"query\"], headers: SetMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetRoomSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetRoomSceneCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetRoomSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetRoomSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetRoomSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetRoomSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetRoomSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetRoomSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetRoomSceneCommandConfig[\"data\"] , params: SetRoomSceneCommandConfig[\"query\"], headers: SetRoomSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetRoomSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/scenes/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetSceneCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetSceneCommandConfig[\"data\"] , params: SetSceneCommandConfig[\"query\"], headers: SetSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetSpaceSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetSpaceSceneCommandConfig\n * @property {{[key: string]: any, spaceId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetSpaceSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetSpaceSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetSpaceSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetSpaceSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetSpaceSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetSpaceSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetSpaceSceneCommandConfig[\"data\"] , params: SetSpaceSceneCommandConfig[\"query\"], headers: SetSpaceSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetSpaceSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"spaceId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:spaceId/scenes/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetSwitchCommandConfig[\"data\"] , params: SetSwitchCommandConfig[\"query\"], headers: SetSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetThermostatCommandConfig[\"data\"] , params: SetThermostatCommandConfig[\"query\"], headers: SetThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetWindowCoveringCommandConfig[\"data\"] , params: SetWindowCoveringCommandConfig[\"query\"], headers: SetWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class StartRegisterPasskeyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} StartRegisterPasskeyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {StartRegisterPasskeyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = StartRegisterPasskeyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = StartRegisterPasskeyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {StartRegisterPasskeyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {StartRegisterPasskeyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {StartRegisterPasskeyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: StartRegisterPasskeyCommandConfig[\"data\"] , params: StartRegisterPasskeyCommandConfig[\"query\"], headers: StartRegisterPasskeyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: StartRegisterPasskeyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/registerPasskey/start\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class StartSOSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} StartSOSCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {StartSOSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = StartSOSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = StartSOSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {StartSOSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {StartSOSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {StartSOSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: StartSOSCommandConfig[\"data\"] , params: StartSOSCommandConfig[\"query\"], headers: StartSOSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: StartSOSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/sos/start\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class StopSOSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} StopSOSCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {StopSOSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = StopSOSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = StopSOSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {StopSOSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {StopSOSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {StopSOSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: StopSOSCommandConfig[\"data\"] , params: StopSOSCommandConfig[\"query\"], headers: StopSOSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: StopSOSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/sos/stop\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class TipUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} TipUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {TipUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = TipUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = TipUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {TipUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {TipUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {TipUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: TipUserCommandConfig[\"data\"] , params: TipUserCommandConfig[\"query\"], headers: TipUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: TipUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/tip\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateAlarmCommandConfig[\"data\"] , params: UpdateAlarmCommandConfig[\"query\"], headers: UpdateAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateAnnouncementCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateAnnouncementCommandConfig[\"data\"] , params: UpdateAnnouncementCommandConfig[\"query\"], headers: UpdateAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateAutomationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateAutomationCommandConfig[\"data\"] , params: UpdateAutomationCommandConfig[\"query\"], headers: UpdateAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateCameraCommandConfig[\"data\"] , params: UpdateCameraCommandConfig[\"query\"], headers: UpdateCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateCategoryCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateCategoryCommandConfig[\"data\"] , params: UpdateCategoryCommandConfig[\"query\"], headers: UpdateCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateCourtesyCommandConfig[\"data\"] , params: UpdateCourtesyCommandConfig[\"query\"], headers: UpdateCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateDimmerCommandConfig[\"data\"] , params: UpdateDimmerCommandConfig[\"query\"], headers: UpdateDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateDiscoveredDeviceCommandConfig[\"data\"] , params: UpdateDiscoveredDeviceCommandConfig[\"query\"], headers: UpdateDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateIssueCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateIssueCommandConfig[\"data\"] , params: UpdateIssueCommandConfig[\"query\"], headers: UpdateIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateLockCommandConfig[\"data\"] , params: UpdateLockCommandConfig[\"query\"], headers: UpdateLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateMediaSourceCommandConfig[\"data\"] , params: UpdateMediaSourceCommandConfig[\"query\"], headers: UpdateMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateMessageReadStatusCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateMessageReadStatusCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateMessageReadStatusCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateMessageReadStatusCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateMessageReadStatusCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateMessageReadStatusCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateMessageReadStatusCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateMessageReadStatusCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: UpdateMessageReadStatusCommandConfig[\"data\"] , params: UpdateMessageReadStatusCommandConfig[\"query\"], headers: UpdateMessageReadStatusCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateMessageReadStatusCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/readAll\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateOrganizationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateOrganizationCommandConfig[\"data\"] , params: UpdateOrganizationCommandConfig[\"query\"], headers: UpdateOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdatePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdatePolicyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdatePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdatePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdatePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdatePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdatePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdatePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdatePolicyCommandConfig[\"data\"] , params: UpdatePolicyCommandConfig[\"query\"], headers: UpdatePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdatePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdatePropertyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdatePropertyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdatePropertyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdatePropertyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdatePropertyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdatePropertyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdatePropertyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdatePropertyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdatePropertyCommandConfig[\"data\"] , params: UpdatePropertyCommandConfig[\"query\"], headers: UpdatePropertyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdatePropertyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdatePropertySettingsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdatePropertySettingsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdatePropertySettingsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdatePropertySettingsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdatePropertySettingsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdatePropertySettingsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdatePropertySettingsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdatePropertySettingsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdatePropertySettingsCommandConfig[\"data\"] , params: UpdatePropertySettingsCommandConfig[\"query\"], headers: UpdatePropertySettingsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdatePropertySettingsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/:id/settings\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateReservationCommandConfig[\"data\"] , params: UpdateReservationCommandConfig[\"query\"], headers: UpdateReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateReservationExpectedArrivalTimeCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateReservationExpectedArrivalTimeCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateReservationExpectedArrivalTimeCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateReservationExpectedArrivalTimeCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateReservationExpectedArrivalTimeCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateReservationExpectedArrivalTimeCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateReservationExpectedArrivalTimeCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateReservationExpectedArrivalTimeCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateReservationExpectedArrivalTimeCommandConfig[\"data\"] , params: UpdateReservationExpectedArrivalTimeCommandConfig[\"query\"], headers: UpdateReservationExpectedArrivalTimeCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateReservationExpectedArrivalTimeCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/expectedArrivalTime\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateRoomCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateRoomCommandConfig[\"data\"] , params: UpdateRoomCommandConfig[\"query\"], headers: UpdateRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateSelfCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateSelfCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateSelfCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateSelfCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateSelfCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateSelfCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateSelfCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateSelfCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateSelfCommandConfig[\"data\"] , params: UpdateSelfCommandConfig[\"query\"], headers: UpdateSelfCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateSelfCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateSpaceCommandConfig[\"data\"] , params: UpdateSpaceCommandConfig[\"query\"], headers: UpdateSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateSwitchCommandConfig[\"data\"] , params: UpdateSwitchCommandConfig[\"query\"], headers: UpdateSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateThermostatCommandConfig[\"data\"] , params: UpdateThermostatCommandConfig[\"query\"], headers: UpdateThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTicketCommandConfig[\"data\"] , params: UpdateTicketCommandConfig[\"query\"], headers: UpdateTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTicketStatusCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTicketStatusCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTicketStatusCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTicketStatusCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTicketStatusCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTicketStatusCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTicketStatusCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTicketStatusCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTicketStatusCommandConfig[\"data\"] , params: UpdateTicketStatusCommandConfig[\"query\"], headers: UpdateTicketStatusCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTicketStatusCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/status\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTimeSheetCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTimeSheetCommandConfig[\"data\"] , params: UpdateTimeSheetCommandConfig[\"query\"], headers: UpdateTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTimeSheetTimeEntryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTimeSheetTimeEntryCommandConfig\n * @property {{[key: string]: any, timeSheetId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTimeSheetTimeEntryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTimeSheetTimeEntryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTimeSheetTimeEntryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTimeSheetTimeEntryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTimeSheetTimeEntryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTimeSheetTimeEntryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTimeSheetTimeEntryCommandConfig[\"data\"] , params: UpdateTimeSheetTimeEntryCommandConfig[\"query\"], headers: UpdateTimeSheetTimeEntryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTimeSheetTimeEntryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"timeSheetId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:timeSheetId/timeEntries/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateUserCommandConfig[\"data\"] , params: UpdateUserCommandConfig[\"query\"], headers: UpdateUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateVendorCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateVendorCommandConfig[\"data\"] , params: UpdateVendorCommandConfig[\"query\"], headers: UpdateVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateWindowCoveringCommandConfig[\"data\"] , params: UpdateWindowCoveringCommandConfig[\"query\"], headers: UpdateWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UploadImageCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UploadImageCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UploadImageCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UploadImageCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UploadImageCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UploadImageCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UploadImageCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UploadImageCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: UploadImageCommandConfig[\"data\"] , params: UploadImageCommandConfig[\"query\"], headers: UploadImageCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UploadImageCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/mediaFiles/uploadImage\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpsertDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpsertDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpsertDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpsertDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpsertDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpsertDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpsertDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpsertDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: UpsertDiscoveredDeviceCommandConfig[\"data\"] , params: UpsertDiscoveredDeviceCommandConfig[\"query\"], headers: UpsertDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpsertDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/upsert\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,kCAAN,MAAM,iCAAgC;AAAA,EAH7C,OAG6C;AAA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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/useCases/index.js","../../src/useCases/assignSpaceToReservation.js","../../src/useCases/autoAssociateDiscoveredDevices.js","../../src/useCases/autoCloseTickets.js","../../src/useCases/batchNotifyCheckIn.js","../../src/useCases/batchNotifyCheckOut.js","../../src/useCases/batchNotifyMissedCheckOut.js","../../src/useCases/batchNotifyPreArrival.js","../../src/useCases/bulkUpdateIssue.js","../../src/useCases/checkInReservation.js","../../src/useCases/checkOutReservation.js","../../src/useCases/checkVerificationCode.js","../../src/useCases/createAlarm.js","../../src/useCases/createAnnouncement.js","../../src/useCases/createAutomation.js","../../src/useCases/createCamera.js","../../src/useCases/createCategory.js","../../src/useCases/createCourtesy.js","../../src/useCases/createDefaultScenes.js","../../src/useCases/createDimmer.js","../../src/useCases/createDiscoveredDevice.js","../../src/useCases/createDiscoveredDeviceAssociation.js","../../src/useCases/createDiscoveredDeviceAssociationMap.js","../../src/useCases/createImageUploadEndpoint.js","../../src/useCases/createIssue.js","../../src/useCases/createLock.js","../../src/useCases/createMediaSource.js","../../src/useCases/createOrganization.js","../../src/useCases/createPolicy.js","../../src/useCases/createProperty.js","../../src/useCases/createReservation.js","../../src/useCases/createRoom.js","../../src/useCases/createRoomInSpace.js","../../src/useCases/createScene.js","../../src/useCases/createSpace.js","../../src/useCases/createSwitch.js","../../src/useCases/createThermostat.js","../../src/useCases/createTicket.js","../../src/useCases/createTicketMessage.js","../../src/useCases/createTimeSheet.js","../../src/useCases/createTimeSheetTimeEntry.js","../../src/useCases/createUser.js","../../src/useCases/createUserMobileKey.js","../../src/useCases/createVendor.js","../../src/useCases/createWindowCovering.js","../../src/useCases/deleteAlarm.js","../../src/useCases/deleteAnnouncement.js","../../src/useCases/deleteAutomation.js","../../src/useCases/deleteCamera.js","../../src/useCases/deleteCategory.js","../../src/useCases/deleteCourtesy.js","../../src/useCases/deleteDimmer.js","../../src/useCases/deleteDiscoveredDevice.js","../../src/useCases/deleteIssue.js","../../src/useCases/deleteLock.js","../../src/useCases/deleteMediaFile.js","../../src/useCases/deleteMediaSource.js","../../src/useCases/deletePolicy.js","../../src/useCases/deleteReservation.js","../../src/useCases/deleteRoom.js","../../src/useCases/deleteSpace.js","../../src/useCases/deleteSwitch.js","../../src/useCases/deleteThermostat.js","../../src/useCases/deleteTicket.js","../../src/useCases/deleteTimeSheet.js","../../src/useCases/deleteTimeSheetTimeEntry.js","../../src/useCases/deleteUser.js","../../src/useCases/deleteUserCredential.js","../../src/useCases/deleteVendor.js","../../src/useCases/deleteWindowCovering.js","../../src/useCases/describeAlarm.js","../../src/useCases/describeAlarmConfig.js","../../src/useCases/describeAnnouncement.js","../../src/useCases/describeAutomation.js","../../src/useCases/describeCamera.js","../../src/useCases/describeCategory.js","../../src/useCases/describeCourtesy.js","../../src/useCases/describeDimmer.js","../../src/useCases/describeDiscoveredDevice.js","../../src/useCases/describeIssue.js","../../src/useCases/describeLock.js","../../src/useCases/describeLockCredential.js","../../src/useCases/describeMediaSource.js","../../src/useCases/describeMyAuth.js","../../src/useCases/describeMyMobileKeyApp.js","../../src/useCases/describeMyOrganization.js","../../src/useCases/describeMyPasskeyRegistrations.js","../../src/useCases/describeOrganization.js","../../src/useCases/describePolicy.js","../../src/useCases/describeProduct.js","../../src/useCases/describeProperty.js","../../src/useCases/describeReservation.js","../../src/useCases/describeReservationEarlyCheckInProducts.js","../../src/useCases/describeReservationLateCheckOutProducts.js","../../src/useCases/describeReservationPetProducts.js","../../src/useCases/describeReservationPromos.js","../../src/useCases/describeReservationRoomUpgrades.js","../../src/useCases/describeRoom.js","../../src/useCases/describeSOS.js","../../src/useCases/describeSelf.js","../../src/useCases/describeSpace.js","../../src/useCases/describeSwitch.js","../../src/useCases/describeThermostat.js","../../src/useCases/describeTicket.js","../../src/useCases/describeTicketFilters.js","../../src/useCases/describeTicketStats.js","../../src/useCases/describeTimeSheet.js","../../src/useCases/describeTimeSheetStats.js","../../src/useCases/describeUser.js","../../src/useCases/describeVendor.js","../../src/useCases/describeWindowCovering.js","../../src/useCases/discoverReservations.js","../../src/useCases/emailUserAccountSetup.js","../../src/useCases/finishRegisterPasskey.js","../../src/useCases/leaveTicket.js","../../src/useCases/listAlarms.js","../../src/useCases/listAnnouncements.js","../../src/useCases/listAutomations.js","../../src/useCases/listCameraStreamPreviews.js","../../src/useCases/listCameras.js","../../src/useCases/listCategories.js","../../src/useCases/listCourtesy.js","../../src/useCases/listDimmers.js","../../src/useCases/listDiscoveredDevices.js","../../src/useCases/listIssues.js","../../src/useCases/listLocks.js","../../src/useCases/listMediaSources.js","../../src/useCases/listMyOrders.js","../../src/useCases/listMyProperties.js","../../src/useCases/listMyReservations.js","../../src/useCases/listMySpaces.js","../../src/useCases/listMyTickets.js","../../src/useCases/listMyTimeSheets.js","../../src/useCases/listOrders.js","../../src/useCases/listOrganizations.js","../../src/useCases/listPolicies.js","../../src/useCases/listProducts.js","../../src/useCases/listProperties.js","../../src/useCases/listReservations.js","../../src/useCases/listRooms.js","../../src/useCases/listRoomsInSpace.js","../../src/useCases/listScenes.js","../../src/useCases/listSpaces.js","../../src/useCases/listSwitches.js","../../src/useCases/listTeam.js","../../src/useCases/listThermostats.js","../../src/useCases/listTicketLocations.js","../../src/useCases/listTickets.js","../../src/useCases/listTimeSheets.js","../../src/useCases/listUserMobileKeys.js","../../src/useCases/listUserOrders.js","../../src/useCases/listUserReservations.js","../../src/useCases/listUserSpaces.js","../../src/useCases/listUsers.js","../../src/useCases/listVendors.js","../../src/useCases/listWindowCoverings.js","../../src/useCases/loginFinish.js","../../src/useCases/loginStart.js","../../src/useCases/logoutSelf.js","../../src/useCases/logoutUser.js","../../src/useCases/matchUserIdentification.js","../../src/useCases/oCRDocument.js","../../src/useCases/purchaseReservationEarlyCheckInProducts.js","../../src/useCases/purchaseReservationLateCheckOutProducts.js","../../src/useCases/purchaseReservationPetProducts.js","../../src/useCases/purchaseReservationPromos.js","../../src/useCases/purchaseReservationRoomUpgrades.js","../../src/useCases/refreshToken.js","../../src/useCases/requestLoginToken.js","../../src/useCases/sendCheckInSMS.js","../../src/useCases/sendCheckOutSMS.js","../../src/useCases/sendPreArrivalEmail.js","../../src/useCases/sendPreArrivalSMS.js","../../src/useCases/sendRoomControlSMS.js","../../src/useCases/sendVerificationCode.js","../../src/useCases/setAlarm.js","../../src/useCases/setCamera.js","../../src/useCases/setCourtesy.js","../../src/useCases/setDimmer.js","../../src/useCases/setLock.js","../../src/useCases/setMediaSource.js","../../src/useCases/setRoomScene.js","../../src/useCases/setScene.js","../../src/useCases/setSpaceScene.js","../../src/useCases/setSwitch.js","../../src/useCases/setThermostat.js","../../src/useCases/setWindowCovering.js","../../src/useCases/startRegisterPasskey.js","../../src/useCases/startSOS.js","../../src/useCases/stopSOS.js","../../src/useCases/tipUser.js","../../src/useCases/updateAlarm.js","../../src/useCases/updateAnnouncement.js","../../src/useCases/updateAutomation.js","../../src/useCases/updateCamera.js","../../src/useCases/updateCategory.js","../../src/useCases/updateCourtesy.js","../../src/useCases/updateDimmer.js","../../src/useCases/updateDiscoveredDevice.js","../../src/useCases/updateIssue.js","../../src/useCases/updateLock.js","../../src/useCases/updateMediaSource.js","../../src/useCases/updateMessageReadStatus.js","../../src/useCases/updateOrganization.js","../../src/useCases/updatePolicy.js","../../src/useCases/updateProperty.js","../../src/useCases/updatePropertySettings.js","../../src/useCases/updateReservation.js","../../src/useCases/updateReservationExpectedArrivalTime.js","../../src/useCases/updateRoom.js","../../src/useCases/updateSelf.js","../../src/useCases/updateSpace.js","../../src/useCases/updateSwitch.js","../../src/useCases/updateThermostat.js","../../src/useCases/updateTicket.js","../../src/useCases/updateTicketStatus.js","../../src/useCases/updateTimeSheet.js","../../src/useCases/updateTimeSheetTimeEntry.js","../../src/useCases/updateUser.js","../../src/useCases/updateVendor.js","../../src/useCases/updateWindowCovering.js","../../src/useCases/uploadImage.js","../../src/useCases/upsertDiscoveredDevice.js"],"sourcesContent":["// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-20T14:07:48.538Z\n\nexport * from \"./assignSpaceToReservation\";\nexport * from \"./autoAssociateDiscoveredDevices\";\nexport * from \"./autoCloseTickets\";\nexport * from \"./batchNotifyCheckIn\";\nexport * from \"./batchNotifyCheckOut\";\nexport * from \"./batchNotifyMissedCheckOut\";\nexport * from \"./batchNotifyPreArrival\";\nexport * from \"./bulkUpdateIssue\";\nexport * from \"./checkInReservation\";\nexport * from \"./checkOutReservation\";\nexport * from \"./checkVerificationCode\";\nexport * from \"./createAlarm\";\nexport * from \"./createAnnouncement\";\nexport * from \"./createAutomation\";\nexport * from \"./createCamera\";\nexport * from \"./createCategory\";\nexport * from \"./createCourtesy\";\nexport * from \"./createDefaultScenes\";\nexport * from \"./createDimmer\";\nexport * from \"./createDiscoveredDevice\";\nexport * from \"./createDiscoveredDeviceAssociation\";\nexport * from \"./createDiscoveredDeviceAssociationMap\";\nexport * from \"./createImageUploadEndpoint\";\nexport * from \"./createIssue\";\nexport * from \"./createLock\";\nexport * from \"./createMediaSource\";\nexport * from \"./createOrganization\";\nexport * from \"./createPolicy\";\nexport * from \"./createProperty\";\nexport * from \"./createReservation\";\nexport * from \"./createRoom\";\nexport * from \"./createRoomInSpace\";\nexport * from \"./createScene\";\nexport * from \"./createSpace\";\nexport * from \"./createSwitch\";\nexport * from \"./createThermostat\";\nexport * from \"./createTicket\";\nexport * from \"./createTicketMessage\";\nexport * from \"./createTimeSheet\";\nexport * from \"./createTimeSheetTimeEntry\";\nexport * from \"./createUser\";\nexport * from \"./createUserMobileKey\";\nexport * from \"./createVendor\";\nexport * from \"./createWindowCovering\";\nexport * from \"./deleteAlarm\";\nexport * from \"./deleteAnnouncement\";\nexport * from \"./deleteAutomation\";\nexport * from \"./deleteCamera\";\nexport * from \"./deleteCategory\";\nexport * from \"./deleteCourtesy\";\nexport * from \"./deleteDimmer\";\nexport * from \"./deleteDiscoveredDevice\";\nexport * from \"./deleteIssue\";\nexport * from \"./deleteLock\";\nexport * from \"./deleteMediaFile\";\nexport * from \"./deleteMediaSource\";\nexport * from \"./deletePolicy\";\nexport * from \"./deleteReservation\";\nexport * from \"./deleteRoom\";\nexport * from \"./deleteSpace\";\nexport * from \"./deleteSwitch\";\nexport * from \"./deleteThermostat\";\nexport * from \"./deleteTicket\";\nexport * from \"./deleteTimeSheet\";\nexport * from \"./deleteTimeSheetTimeEntry\";\nexport * from \"./deleteUser\";\nexport * from \"./deleteUserCredential\";\nexport * from \"./deleteVendor\";\nexport * from \"./deleteWindowCovering\";\nexport * from \"./describeAlarm\";\nexport * from \"./describeAlarmConfig\";\nexport * from \"./describeAnnouncement\";\nexport * from \"./describeAutomation\";\nexport * from \"./describeCamera\";\nexport * from \"./describeCategory\";\nexport * from \"./describeCourtesy\";\nexport * from \"./describeDimmer\";\nexport * from \"./describeDiscoveredDevice\";\nexport * from \"./describeIssue\";\nexport * from \"./describeLock\";\nexport * from \"./describeLockCredential\";\nexport * from \"./describeMediaSource\";\nexport * from \"./describeMyAuth\";\nexport * from \"./describeMyMobileKeyApp\";\nexport * from \"./describeMyOrganization\";\nexport * from \"./describeMyPasskeyRegistrations\";\nexport * from \"./describeOrganization\";\nexport * from \"./describePolicy\";\nexport * from \"./describeProduct\";\nexport * from \"./describeProperty\";\nexport * from \"./describeReservation\";\nexport * from \"./describeReservationEarlyCheckInProducts\";\nexport * from \"./describeReservationLateCheckOutProducts\";\nexport * from \"./describeReservationPetProducts\";\nexport * from \"./describeReservationPromos\";\nexport * from \"./describeReservationRoomUpgrades\";\nexport * from \"./describeRoom\";\nexport * from \"./describeSOS\";\nexport * from \"./describeSelf\";\nexport * from \"./describeSpace\";\nexport * from \"./describeSwitch\";\nexport * from \"./describeThermostat\";\nexport * from \"./describeTicket\";\nexport * from \"./describeTicketFilters\";\nexport * from \"./describeTicketStats\";\nexport * from \"./describeTimeSheet\";\nexport * from \"./describeTimeSheetStats\";\nexport * from \"./describeUser\";\nexport * from \"./describeVendor\";\nexport * from \"./describeWindowCovering\";\nexport * from \"./discoverReservations\";\nexport * from \"./emailUserAccountSetup\";\nexport * from \"./finishRegisterPasskey\";\nexport * from \"./leaveTicket\";\nexport * from \"./listAlarms\";\nexport * from \"./listAnnouncements\";\nexport * from \"./listAutomations\";\nexport * from \"./listCameraStreamPreviews\";\nexport * from \"./listCameras\";\nexport * from \"./listCategories\";\nexport * from \"./listCourtesy\";\nexport * from \"./listDimmers\";\nexport * from \"./listDiscoveredDevices\";\nexport * from \"./listIssues\";\nexport * from \"./listLocks\";\nexport * from \"./listMediaSources\";\nexport * from \"./listMyOrders\";\nexport * from \"./listMyProperties\";\nexport * from \"./listMyReservations\";\nexport * from \"./listMySpaces\";\nexport * from \"./listMyTickets\";\nexport * from \"./listMyTimeSheets\";\nexport * from \"./listOrders\";\nexport * from \"./listOrganizations\";\nexport * from \"./listPolicies\";\nexport * from \"./listProducts\";\nexport * from \"./listProperties\";\nexport * from \"./listReservations\";\nexport * from \"./listRooms\";\nexport * from \"./listRoomsInSpace\";\nexport * from \"./listScenes\";\nexport * from \"./listSpaces\";\nexport * from \"./listSwitches\";\nexport * from \"./listTeam\";\nexport * from \"./listThermostats\";\nexport * from \"./listTicketLocations\";\nexport * from \"./listTickets\";\nexport * from \"./listTimeSheets\";\nexport * from \"./listUserMobileKeys\";\nexport * from \"./listUserOrders\";\nexport * from \"./listUserReservations\";\nexport * from \"./listUserSpaces\";\nexport * from \"./listUsers\";\nexport * from \"./listVendors\";\nexport * from \"./listWindowCoverings\";\nexport * from \"./loginFinish\";\nexport * from \"./loginStart\";\nexport * from \"./logoutSelf\";\nexport * from \"./logoutUser\";\nexport * from \"./matchUserIdentification\";\nexport * from \"./oCRDocument\";\nexport * from \"./purchaseReservationEarlyCheckInProducts\";\nexport * from \"./purchaseReservationLateCheckOutProducts\";\nexport * from \"./purchaseReservationPetProducts\";\nexport * from \"./purchaseReservationPromos\";\nexport * from \"./purchaseReservationRoomUpgrades\";\nexport * from \"./refreshToken\";\nexport * from \"./requestLoginToken\";\nexport * from \"./sendCheckInSMS\";\nexport * from \"./sendCheckOutSMS\";\nexport * from \"./sendPreArrivalEmail\";\nexport * from \"./sendPreArrivalSMS\";\nexport * from \"./sendRoomControlSMS\";\nexport * from \"./sendVerificationCode\";\nexport * from \"./setAlarm\";\nexport * from \"./setCamera\";\nexport * from \"./setCourtesy\";\nexport * from \"./setDimmer\";\nexport * from \"./setLock\";\nexport * from \"./setMediaSource\";\nexport * from \"./setRoomScene\";\nexport * from \"./setScene\";\nexport * from \"./setSpaceScene\";\nexport * from \"./setSwitch\";\nexport * from \"./setThermostat\";\nexport * from \"./setWindowCovering\";\nexport * from \"./startRegisterPasskey\";\nexport * from \"./startSOS\";\nexport * from \"./stopSOS\";\nexport * from \"./tipUser\";\nexport * from \"./updateAlarm\";\nexport * from \"./updateAnnouncement\";\nexport * from \"./updateAutomation\";\nexport * from \"./updateCamera\";\nexport * from \"./updateCategory\";\nexport * from \"./updateCourtesy\";\nexport * from \"./updateDimmer\";\nexport * from \"./updateDiscoveredDevice\";\nexport * from \"./updateIssue\";\nexport * from \"./updateLock\";\nexport * from \"./updateMediaSource\";\nexport * from \"./updateMessageReadStatus\";\nexport * from \"./updateOrganization\";\nexport * from \"./updatePolicy\";\nexport * from \"./updateProperty\";\nexport * from \"./updatePropertySettings\";\nexport * from \"./updateReservation\";\nexport * from \"./updateReservationExpectedArrivalTime\";\nexport * from \"./updateRoom\";\nexport * from \"./updateSelf\";\nexport * from \"./updateSpace\";\nexport * from \"./updateSwitch\";\nexport * from \"./updateThermostat\";\nexport * from \"./updateTicket\";\nexport * from \"./updateTicketStatus\";\nexport * from \"./updateTimeSheet\";\nexport * from \"./updateTimeSheetTimeEntry\";\nexport * from \"./updateUser\";\nexport * from \"./updateVendor\";\nexport * from \"./updateWindowCovering\";\nexport * from \"./uploadImage\";\nexport * from \"./upsertDiscoveredDevice\";","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class AssignSpaceToReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} AssignSpaceToReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {AssignSpaceToReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = AssignSpaceToReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = AssignSpaceToReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {AssignSpaceToReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {AssignSpaceToReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {AssignSpaceToReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: AssignSpaceToReservationCommandConfig[\"data\"] , params: AssignSpaceToReservationCommandConfig[\"query\"], headers: AssignSpaceToReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: AssignSpaceToReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/space\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class AutoAssociateDiscoveredDevicesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} AutoAssociateDiscoveredDevicesCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {AutoAssociateDiscoveredDevicesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = AutoAssociateDiscoveredDevicesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = AutoAssociateDiscoveredDevicesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {AutoAssociateDiscoveredDevicesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {AutoAssociateDiscoveredDevicesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {AutoAssociateDiscoveredDevicesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: AutoAssociateDiscoveredDevicesCommandConfig[\"data\"] , params: AutoAssociateDiscoveredDevicesCommandConfig[\"query\"], headers: AutoAssociateDiscoveredDevicesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: AutoAssociateDiscoveredDevicesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/autoAssociate\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class AutoCloseTicketsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} AutoCloseTicketsCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {AutoCloseTicketsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = AutoCloseTicketsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = AutoCloseTicketsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {AutoCloseTicketsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {AutoCloseTicketsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {AutoCloseTicketsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: AutoCloseTicketsCommandConfig[\"data\"] , params: AutoCloseTicketsCommandConfig[\"query\"], headers: AutoCloseTicketsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: AutoCloseTicketsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/autoClose\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyCheckInCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyCheckInCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyCheckInCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyCheckInCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyCheckInCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyCheckInCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyCheckInCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyCheckInCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyCheckInCommandConfig[\"data\"] , params: BatchNotifyCheckInCommandConfig[\"query\"], headers: BatchNotifyCheckInCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyCheckInCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyCheckOutCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyCheckOutCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyCheckOutCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyCheckOutCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyCheckOutCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyCheckOutCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyCheckOutCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyCheckOutCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyCheckOutCommandConfig[\"data\"] , params: BatchNotifyCheckOutCommandConfig[\"query\"], headers: BatchNotifyCheckOutCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyCheckOutCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyMissedCheckOutCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyMissedCheckOutCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyMissedCheckOutCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyMissedCheckOutCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyMissedCheckOutCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyMissedCheckOutCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyMissedCheckOutCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyMissedCheckOutCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyMissedCheckOutCommandConfig[\"data\"] , params: BatchNotifyMissedCheckOutCommandConfig[\"query\"], headers: BatchNotifyMissedCheckOutCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyMissedCheckOutCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyMissedCheckOut\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BatchNotifyPreArrivalCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BatchNotifyPreArrivalCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BatchNotifyPreArrivalCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BatchNotifyPreArrivalCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BatchNotifyPreArrivalCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BatchNotifyPreArrivalCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BatchNotifyPreArrivalCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BatchNotifyPreArrivalCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: BatchNotifyPreArrivalCommandConfig[\"data\"] , params: BatchNotifyPreArrivalCommandConfig[\"query\"], headers: BatchNotifyPreArrivalCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BatchNotifyPreArrivalCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/batchNotifyPreArrival\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class BulkUpdateIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} BulkUpdateIssueCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {BulkUpdateIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = BulkUpdateIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = BulkUpdateIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {BulkUpdateIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {BulkUpdateIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {BulkUpdateIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: BulkUpdateIssueCommandConfig[\"data\"] , params: BulkUpdateIssueCommandConfig[\"query\"], headers: BulkUpdateIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: BulkUpdateIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CheckInReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CheckInReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CheckInReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CheckInReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CheckInReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CheckInReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CheckInReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CheckInReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CheckInReservationCommandConfig[\"data\"] , params: CheckInReservationCommandConfig[\"query\"], headers: CheckInReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CheckInReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/checkin\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CheckOutReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CheckOutReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CheckOutReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CheckOutReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CheckOutReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CheckOutReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CheckOutReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CheckOutReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CheckOutReservationCommandConfig[\"data\"] , params: CheckOutReservationCommandConfig[\"query\"], headers: CheckOutReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CheckOutReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/checkout\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CheckVerificationCodeCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CheckVerificationCodeCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CheckVerificationCodeCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CheckVerificationCodeCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CheckVerificationCodeCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CheckVerificationCodeCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CheckVerificationCodeCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CheckVerificationCodeCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CheckVerificationCodeCommandConfig[\"data\"] , params: CheckVerificationCodeCommandConfig[\"query\"], headers: CheckVerificationCodeCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CheckVerificationCodeCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/checkVerificationCode\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateAlarmCommandConfig[\"data\"] , params: CreateAlarmCommandConfig[\"query\"], headers: CreateAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateAnnouncementCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateAnnouncementCommandConfig[\"data\"] , params: CreateAnnouncementCommandConfig[\"query\"], headers: CreateAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateAutomationCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateAutomationCommandConfig[\"data\"] , params: CreateAutomationCommandConfig[\"query\"], headers: CreateAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateCameraCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateCameraCommandConfig[\"data\"] , params: CreateCameraCommandConfig[\"query\"], headers: CreateCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateCategoryCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateCategoryCommandConfig[\"data\"] , params: CreateCategoryCommandConfig[\"query\"], headers: CreateCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateCourtesyCommandConfig[\"data\"] , params: CreateCourtesyCommandConfig[\"query\"], headers: CreateCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDefaultScenesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDefaultScenesCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDefaultScenesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDefaultScenesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDefaultScenesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDefaultScenesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDefaultScenesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDefaultScenesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDefaultScenesCommandConfig[\"data\"] , params: CreateDefaultScenesCommandConfig[\"query\"], headers: CreateDefaultScenesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDefaultScenesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes/default\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDimmerCommandConfig[\"data\"] , params: CreateDimmerCommandConfig[\"query\"], headers: CreateDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDiscoveredDeviceCommandConfig[\"data\"] , params: CreateDiscoveredDeviceCommandConfig[\"query\"], headers: CreateDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDiscoveredDeviceAssociationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDiscoveredDeviceAssociationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDiscoveredDeviceAssociationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDiscoveredDeviceAssociationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDiscoveredDeviceAssociationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDiscoveredDeviceAssociationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDiscoveredDeviceAssociationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDiscoveredDeviceAssociationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateDiscoveredDeviceAssociationCommandConfig[\"data\"] , params: CreateDiscoveredDeviceAssociationCommandConfig[\"query\"], headers: CreateDiscoveredDeviceAssociationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDiscoveredDeviceAssociationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id/associate\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateDiscoveredDeviceAssociationMapCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateDiscoveredDeviceAssociationMapCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateDiscoveredDeviceAssociationMapCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateDiscoveredDeviceAssociationMapCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateDiscoveredDeviceAssociationMapCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateDiscoveredDeviceAssociationMapCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateDiscoveredDeviceAssociationMapCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateDiscoveredDeviceAssociationMapCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: CreateDiscoveredDeviceAssociationMapCommandConfig[\"data\"] , params: CreateDiscoveredDeviceAssociationMapCommandConfig[\"query\"], headers: CreateDiscoveredDeviceAssociationMapCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateDiscoveredDeviceAssociationMapCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/associationMap\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateImageUploadEndpointCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateImageUploadEndpointCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateImageUploadEndpointCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateImageUploadEndpointCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateImageUploadEndpointCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateImageUploadEndpointCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateImageUploadEndpointCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateImageUploadEndpointCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateImageUploadEndpointCommandConfig[\"data\"] , params: CreateImageUploadEndpointCommandConfig[\"query\"], headers: CreateImageUploadEndpointCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateImageUploadEndpointCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/mediaFiles/imageUploadEndpoint\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateIssueCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateIssueCommandConfig[\"data\"] , params: CreateIssueCommandConfig[\"query\"], headers: CreateIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateLockCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateLockCommandConfig[\"data\"] , params: CreateLockCommandConfig[\"query\"], headers: CreateLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateMediaSourceCommandConfig[\"data\"] , params: CreateMediaSourceCommandConfig[\"query\"], headers: CreateMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateOrganizationCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateOrganizationCommandConfig[\"data\"] , params: CreateOrganizationCommandConfig[\"query\"], headers: CreateOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreatePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreatePolicyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreatePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreatePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreatePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreatePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreatePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreatePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreatePolicyCommandConfig[\"data\"] , params: CreatePolicyCommandConfig[\"query\"], headers: CreatePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreatePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreatePropertyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreatePropertyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreatePropertyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreatePropertyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreatePropertyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreatePropertyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreatePropertyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreatePropertyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreatePropertyCommandConfig[\"data\"] , params: CreatePropertyCommandConfig[\"query\"], headers: CreatePropertyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreatePropertyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateReservationCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateReservationCommandConfig[\"data\"] , params: CreateReservationCommandConfig[\"query\"], headers: CreateReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateRoomCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateRoomCommandConfig[\"data\"] , params: CreateRoomCommandConfig[\"query\"], headers: CreateRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateRoomInSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateRoomInSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateRoomInSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateRoomInSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateRoomInSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateRoomInSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateRoomInSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateRoomInSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateRoomInSpaceCommandConfig[\"data\"] , params: CreateRoomInSpaceCommandConfig[\"query\"], headers: CreateRoomInSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateRoomInSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateSceneCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateSceneCommandConfig[\"data\"] , params: CreateSceneCommandConfig[\"query\"], headers: CreateSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateSpaceCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateSpaceCommandConfig[\"data\"] , params: CreateSpaceCommandConfig[\"query\"], headers: CreateSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateSwitchCommandConfig[\"data\"] , params: CreateSwitchCommandConfig[\"query\"], headers: CreateSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateThermostatCommandConfig[\"data\"] , params: CreateThermostatCommandConfig[\"query\"], headers: CreateThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTicketCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTicketCommandConfig[\"data\"] , params: CreateTicketCommandConfig[\"query\"], headers: CreateTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTicketMessageCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTicketMessageCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTicketMessageCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTicketMessageCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTicketMessageCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTicketMessageCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTicketMessageCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTicketMessageCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTicketMessageCommandConfig[\"data\"] , params: CreateTicketMessageCommandConfig[\"query\"], headers: CreateTicketMessageCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTicketMessageCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/messages\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTimeSheetCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTimeSheetCommandConfig[\"data\"] , params: CreateTimeSheetCommandConfig[\"query\"], headers: CreateTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateTimeSheetTimeEntryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateTimeSheetTimeEntryCommandConfig\n * @property {{[key: string]: any, timeSheetId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateTimeSheetTimeEntryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateTimeSheetTimeEntryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateTimeSheetTimeEntryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateTimeSheetTimeEntryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateTimeSheetTimeEntryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateTimeSheetTimeEntryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateTimeSheetTimeEntryCommandConfig[\"data\"] , params: CreateTimeSheetTimeEntryCommandConfig[\"query\"], headers: CreateTimeSheetTimeEntryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateTimeSheetTimeEntryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"timeSheetId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:timeSheetId/timeEntries\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateUserCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateUserCommandConfig[\"data\"] , params: CreateUserCommandConfig[\"query\"], headers: CreateUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateUserMobileKeyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateUserMobileKeyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateUserMobileKeyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateUserMobileKeyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateUserMobileKeyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateUserMobileKeyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateUserMobileKeyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateUserMobileKeyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateUserMobileKeyCommandConfig[\"data\"] , params: CreateUserMobileKeyCommandConfig[\"query\"], headers: CreateUserMobileKeyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateUserMobileKeyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/mobileKeys\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateVendorCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateVendorCommandConfig[\"data\"] , params: CreateVendorCommandConfig[\"query\"], headers: CreateVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class CreateWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} CreateWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {CreateWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = CreateWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = CreateWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {CreateWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {CreateWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {CreateWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: CreateWindowCoveringCommandConfig[\"data\"] , params: CreateWindowCoveringCommandConfig[\"query\"], headers: CreateWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: CreateWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteAlarmCommandConfig[\"data\"] , params: DeleteAlarmCommandConfig[\"query\"], headers: DeleteAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteAnnouncementCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteAnnouncementCommandConfig[\"data\"] , params: DeleteAnnouncementCommandConfig[\"query\"], headers: DeleteAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteAutomationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteAutomationCommandConfig[\"data\"] , params: DeleteAutomationCommandConfig[\"query\"], headers: DeleteAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteCameraCommandConfig[\"data\"] , params: DeleteCameraCommandConfig[\"query\"], headers: DeleteCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteCategoryCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteCategoryCommandConfig[\"data\"] , params: DeleteCategoryCommandConfig[\"query\"], headers: DeleteCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteCourtesyCommandConfig[\"data\"] , params: DeleteCourtesyCommandConfig[\"query\"], headers: DeleteCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteDimmerCommandConfig[\"data\"] , params: DeleteDimmerCommandConfig[\"query\"], headers: DeleteDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteDiscoveredDeviceCommandConfig[\"data\"] , params: DeleteDiscoveredDeviceCommandConfig[\"query\"], headers: DeleteDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteIssueCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteIssueCommandConfig[\"data\"] , params: DeleteIssueCommandConfig[\"query\"], headers: DeleteIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteLockCommandConfig[\"data\"] , params: DeleteLockCommandConfig[\"query\"], headers: DeleteLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteMediaFileCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteMediaFileCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteMediaFileCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteMediaFileCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteMediaFileCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteMediaFileCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteMediaFileCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteMediaFileCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteMediaFileCommandConfig[\"data\"] , params: DeleteMediaFileCommandConfig[\"query\"], headers: DeleteMediaFileCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteMediaFileCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/mediaFiles/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteMediaSourceCommandConfig[\"data\"] , params: DeleteMediaSourceCommandConfig[\"query\"], headers: DeleteMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeletePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeletePolicyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeletePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeletePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeletePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeletePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeletePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeletePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeletePolicyCommandConfig[\"data\"] , params: DeletePolicyCommandConfig[\"query\"], headers: DeletePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeletePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteReservationCommandConfig[\"data\"] , params: DeleteReservationCommandConfig[\"query\"], headers: DeleteReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteRoomCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteRoomCommandConfig[\"data\"] , params: DeleteRoomCommandConfig[\"query\"], headers: DeleteRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteSpaceCommandConfig[\"data\"] , params: DeleteSpaceCommandConfig[\"query\"], headers: DeleteSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteSwitchCommandConfig[\"data\"] , params: DeleteSwitchCommandConfig[\"query\"], headers: DeleteSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteThermostatCommandConfig[\"data\"] , params: DeleteThermostatCommandConfig[\"query\"], headers: DeleteThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteTicketCommandConfig[\"data\"] , params: DeleteTicketCommandConfig[\"query\"], headers: DeleteTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteTimeSheetCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteTimeSheetCommandConfig[\"data\"] , params: DeleteTimeSheetCommandConfig[\"query\"], headers: DeleteTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteTimeSheetTimeEntryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteTimeSheetTimeEntryCommandConfig\n * @property {{[key: string]: any, timeSheetId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteTimeSheetTimeEntryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteTimeSheetTimeEntryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteTimeSheetTimeEntryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteTimeSheetTimeEntryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteTimeSheetTimeEntryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteTimeSheetTimeEntryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteTimeSheetTimeEntryCommandConfig[\"data\"] , params: DeleteTimeSheetTimeEntryCommandConfig[\"query\"], headers: DeleteTimeSheetTimeEntryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteTimeSheetTimeEntryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"timeSheetId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:timeSheetId/timeEntries/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteUserCommandConfig[\"data\"] , params: DeleteUserCommandConfig[\"query\"], headers: DeleteUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteUserCredentialCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteUserCredentialCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteUserCredentialCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteUserCredentialCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteUserCredentialCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteUserCredentialCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteUserCredentialCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteUserCredentialCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteUserCredentialCommandConfig[\"data\"] , params: DeleteUserCredentialCommandConfig[\"query\"], headers: DeleteUserCredentialCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteUserCredentialCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me/accessCredentials/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteVendorCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteVendorCommandConfig[\"data\"] , params: DeleteVendorCommandConfig[\"query\"], headers: DeleteVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DeleteWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DeleteWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DeleteWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DeleteWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DeleteWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DeleteWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DeleteWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DeleteWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"delete\" , data: DeleteWindowCoveringCommandConfig[\"data\"] , params: DeleteWindowCoveringCommandConfig[\"query\"], headers: DeleteWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DeleteWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"delete\"}\n */\n static method = \"delete\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAlarmCommandConfig[\"data\"] , params: DescribeAlarmCommandConfig[\"query\"], headers: DescribeAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAlarmConfigCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAlarmConfigCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAlarmConfigCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAlarmConfigCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAlarmConfigCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAlarmConfigCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAlarmConfigCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAlarmConfigCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAlarmConfigCommandConfig[\"data\"] , params: DescribeAlarmConfigCommandConfig[\"query\"], headers: DescribeAlarmConfigCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAlarmConfigCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id/config\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAnnouncementCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAnnouncementCommandConfig[\"data\"] , params: DescribeAnnouncementCommandConfig[\"query\"], headers: DescribeAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeAutomationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeAutomationCommandConfig[\"data\"] , params: DescribeAutomationCommandConfig[\"query\"], headers: DescribeAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeCameraCommandConfig[\"data\"] , params: DescribeCameraCommandConfig[\"query\"], headers: DescribeCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeCategoryCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeCategoryCommandConfig[\"data\"] , params: DescribeCategoryCommandConfig[\"query\"], headers: DescribeCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeCourtesyCommandConfig[\"data\"] , params: DescribeCourtesyCommandConfig[\"query\"], headers: DescribeCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeDimmerCommandConfig[\"data\"] , params: DescribeDimmerCommandConfig[\"query\"], headers: DescribeDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeDiscoveredDeviceCommandConfig[\"data\"] , params: DescribeDiscoveredDeviceCommandConfig[\"query\"], headers: DescribeDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeIssueCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeIssueCommandConfig[\"data\"] , params: DescribeIssueCommandConfig[\"query\"], headers: DescribeIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeLockCommandConfig[\"data\"] , params: DescribeLockCommandConfig[\"query\"], headers: DescribeLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeLockCredentialCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeLockCredentialCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeLockCredentialCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeLockCredentialCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeLockCredentialCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeLockCredentialCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeLockCredentialCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeLockCredentialCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: DescribeLockCredentialCommandConfig[\"data\"] , params: DescribeLockCredentialCommandConfig[\"query\"], headers: DescribeLockCredentialCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeLockCredentialCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id/credential\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMediaSourceCommandConfig[\"data\"] , params: DescribeMediaSourceCommandConfig[\"query\"], headers: DescribeMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyAuthCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyAuthCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyAuthCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyAuthCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyAuthCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyAuthCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyAuthCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyAuthCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyAuthCommandConfig[\"data\"] , params: DescribeMyAuthCommandConfig[\"query\"], headers: DescribeMyAuthCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyAuthCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/me\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyMobileKeyAppCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyMobileKeyAppCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyMobileKeyAppCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyMobileKeyAppCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyMobileKeyAppCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyMobileKeyAppCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyMobileKeyAppCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyMobileKeyAppCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyMobileKeyAppCommandConfig[\"data\"] , params: DescribeMyMobileKeyAppCommandConfig[\"query\"], headers: DescribeMyMobileKeyAppCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyMobileKeyAppCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me/accessCredentials\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyOrganizationCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyOrganizationCommandConfig[\"data\"] , params: DescribeMyOrganizationCommandConfig[\"query\"], headers: DescribeMyOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeMyPasskeyRegistrationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeMyPasskeyRegistrationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeMyPasskeyRegistrationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeMyPasskeyRegistrationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeMyPasskeyRegistrationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeMyPasskeyRegistrationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeMyPasskeyRegistrationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeMyPasskeyRegistrationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeMyPasskeyRegistrationsCommandConfig[\"data\"] , params: DescribeMyPasskeyRegistrationsCommandConfig[\"query\"], headers: DescribeMyPasskeyRegistrationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeMyPasskeyRegistrationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me/passkeyRegistrations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeOrganizationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeOrganizationCommandConfig[\"data\"] , params: DescribeOrganizationCommandConfig[\"query\"], headers: DescribeOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribePolicyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribePolicyCommandConfig[\"data\"] , params: DescribePolicyCommandConfig[\"query\"], headers: DescribePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeProductCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeProductCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeProductCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeProductCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeProductCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeProductCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeProductCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeProductCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeProductCommandConfig[\"data\"] , params: DescribeProductCommandConfig[\"query\"], headers: DescribeProductCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeProductCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/products/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribePropertyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribePropertyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribePropertyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribePropertyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribePropertyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribePropertyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribePropertyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribePropertyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribePropertyCommandConfig[\"data\"] , params: DescribePropertyCommandConfig[\"query\"], headers: DescribePropertyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribePropertyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationCommandConfig[\"data\"] , params: DescribeReservationCommandConfig[\"query\"], headers: DescribeReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationEarlyCheckInProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationEarlyCheckInProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationEarlyCheckInProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationEarlyCheckInProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationEarlyCheckInProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationEarlyCheckInProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationEarlyCheckInProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationEarlyCheckInProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationEarlyCheckInProductsCommandConfig[\"data\"] , params: DescribeReservationEarlyCheckInProductsCommandConfig[\"query\"], headers: DescribeReservationEarlyCheckInProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationEarlyCheckInProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/earlyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationLateCheckOutProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationLateCheckOutProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationLateCheckOutProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationLateCheckOutProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationLateCheckOutProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationLateCheckOutProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationLateCheckOutProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationLateCheckOutProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationLateCheckOutProductsCommandConfig[\"data\"] , params: DescribeReservationLateCheckOutProductsCommandConfig[\"query\"], headers: DescribeReservationLateCheckOutProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationLateCheckOutProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/lateCheckOut\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationPetProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationPetProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationPetProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationPetProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationPetProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationPetProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationPetProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationPetProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationPetProductsCommandConfig[\"data\"] , params: DescribeReservationPetProductsCommandConfig[\"query\"], headers: DescribeReservationPetProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationPetProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/pet\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationPromosCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationPromosCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationPromosCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationPromosCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationPromosCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationPromosCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationPromosCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationPromosCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationPromosCommandConfig[\"data\"] , params: DescribeReservationPromosCommandConfig[\"query\"], headers: DescribeReservationPromosCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationPromosCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/promo\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeReservationRoomUpgradesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeReservationRoomUpgradesCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeReservationRoomUpgradesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeReservationRoomUpgradesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeReservationRoomUpgradesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeReservationRoomUpgradesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeReservationRoomUpgradesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeReservationRoomUpgradesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeReservationRoomUpgradesCommandConfig[\"data\"] , params: DescribeReservationRoomUpgradesCommandConfig[\"query\"], headers: DescribeReservationRoomUpgradesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeReservationRoomUpgradesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/roomUpgrades\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeRoomCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeRoomCommandConfig[\"data\"] , params: DescribeRoomCommandConfig[\"query\"], headers: DescribeRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSOSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSOSCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSOSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSOSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSOSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSOSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSOSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSOSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSOSCommandConfig[\"data\"] , params: DescribeSOSCommandConfig[\"query\"], headers: DescribeSOSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSOSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/sos\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSelfCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSelfCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSelfCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSelfCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSelfCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSelfCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSelfCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSelfCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSelfCommandConfig[\"data\"] , params: DescribeSelfCommandConfig[\"query\"], headers: DescribeSelfCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSelfCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSpaceCommandConfig[\"data\"] , params: DescribeSpaceCommandConfig[\"query\"], headers: DescribeSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeSwitchCommandConfig[\"data\"] , params: DescribeSwitchCommandConfig[\"query\"], headers: DescribeSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeThermostatCommandConfig[\"data\"] , params: DescribeThermostatCommandConfig[\"query\"], headers: DescribeThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTicketCommandConfig[\"data\"] , params: DescribeTicketCommandConfig[\"query\"], headers: DescribeTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTicketFiltersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTicketFiltersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTicketFiltersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTicketFiltersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTicketFiltersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTicketFiltersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTicketFiltersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTicketFiltersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTicketFiltersCommandConfig[\"data\"] , params: DescribeTicketFiltersCommandConfig[\"query\"], headers: DescribeTicketFiltersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTicketFiltersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/filters\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTicketStatsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTicketStatsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTicketStatsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTicketStatsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTicketStatsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTicketStatsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTicketStatsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTicketStatsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTicketStatsCommandConfig[\"data\"] , params: DescribeTicketStatsCommandConfig[\"query\"], headers: DescribeTicketStatsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTicketStatsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/stats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTimeSheetCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTimeSheetCommandConfig[\"data\"] , params: DescribeTimeSheetCommandConfig[\"query\"], headers: DescribeTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeTimeSheetStatsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeTimeSheetStatsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeTimeSheetStatsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeTimeSheetStatsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeTimeSheetStatsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeTimeSheetStatsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeTimeSheetStatsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeTimeSheetStatsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeTimeSheetStatsCommandConfig[\"data\"] , params: DescribeTimeSheetStatsCommandConfig[\"query\"], headers: DescribeTimeSheetStatsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeTimeSheetStatsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/stats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeUserCommandConfig[\"data\"] , params: DescribeUserCommandConfig[\"query\"], headers: DescribeUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeVendorCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeVendorCommandConfig[\"data\"] , params: DescribeVendorCommandConfig[\"query\"], headers: DescribeVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DescribeWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DescribeWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DescribeWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DescribeWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DescribeWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DescribeWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DescribeWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DescribeWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DescribeWindowCoveringCommandConfig[\"data\"] , params: DescribeWindowCoveringCommandConfig[\"query\"], headers: DescribeWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DescribeWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class DiscoverReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} DiscoverReservationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {DiscoverReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = DiscoverReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = DiscoverReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {DiscoverReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {DiscoverReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {DiscoverReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: DiscoverReservationsCommandConfig[\"data\"] , params: DiscoverReservationsCommandConfig[\"query\"], headers: DiscoverReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: DiscoverReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/discover\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class EmailUserAccountSetupCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} EmailUserAccountSetupCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {EmailUserAccountSetupCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = EmailUserAccountSetupCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = EmailUserAccountSetupCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {EmailUserAccountSetupCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {EmailUserAccountSetupCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {EmailUserAccountSetupCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: EmailUserAccountSetupCommandConfig[\"data\"] , params: EmailUserAccountSetupCommandConfig[\"query\"], headers: EmailUserAccountSetupCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: EmailUserAccountSetupCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/email/setup\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class FinishRegisterPasskeyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} FinishRegisterPasskeyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {FinishRegisterPasskeyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = FinishRegisterPasskeyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = FinishRegisterPasskeyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {FinishRegisterPasskeyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {FinishRegisterPasskeyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {FinishRegisterPasskeyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: FinishRegisterPasskeyCommandConfig[\"data\"] , params: FinishRegisterPasskeyCommandConfig[\"query\"], headers: FinishRegisterPasskeyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: FinishRegisterPasskeyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/registerPasskey/finish\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LeaveTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LeaveTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LeaveTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LeaveTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LeaveTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LeaveTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LeaveTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LeaveTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LeaveTicketCommandConfig[\"data\"] , params: LeaveTicketCommandConfig[\"query\"], headers: LeaveTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LeaveTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/leave\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListAlarmsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListAlarmsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListAlarmsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListAlarmsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListAlarmsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListAlarmsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListAlarmsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListAlarmsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListAlarmsCommandConfig[\"data\"] , params: ListAlarmsCommandConfig[\"query\"], headers: ListAlarmsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListAlarmsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListAnnouncementsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListAnnouncementsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListAnnouncementsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListAnnouncementsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListAnnouncementsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListAnnouncementsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListAnnouncementsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListAnnouncementsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListAnnouncementsCommandConfig[\"data\"] , params: ListAnnouncementsCommandConfig[\"query\"], headers: ListAnnouncementsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListAnnouncementsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListAutomationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListAutomationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListAutomationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListAutomationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListAutomationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListAutomationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListAutomationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListAutomationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListAutomationsCommandConfig[\"data\"] , params: ListAutomationsCommandConfig[\"query\"], headers: ListAutomationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListAutomationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCameraStreamPreviewsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCameraStreamPreviewsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCameraStreamPreviewsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCameraStreamPreviewsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCameraStreamPreviewsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCameraStreamPreviewsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCameraStreamPreviewsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCameraStreamPreviewsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCameraStreamPreviewsCommandConfig[\"data\"] , params: ListCameraStreamPreviewsCommandConfig[\"query\"], headers: ListCameraStreamPreviewsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCameraStreamPreviewsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/stream-previews\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCamerasCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCamerasCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCamerasCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCamerasCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCamerasCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCamerasCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCamerasCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCamerasCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCamerasCommandConfig[\"data\"] , params: ListCamerasCommandConfig[\"query\"], headers: ListCamerasCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCamerasCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCategoriesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCategoriesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCategoriesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCategoriesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCategoriesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCategoriesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCategoriesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCategoriesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCategoriesCommandConfig[\"data\"] , params: ListCategoriesCommandConfig[\"query\"], headers: ListCategoriesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCategoriesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListCourtesyCommandConfig[\"data\"] , params: ListCourtesyCommandConfig[\"query\"], headers: ListCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListDimmersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListDimmersCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListDimmersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListDimmersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListDimmersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListDimmersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListDimmersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListDimmersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListDimmersCommandConfig[\"data\"] , params: ListDimmersCommandConfig[\"query\"], headers: ListDimmersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListDimmersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListDiscoveredDevicesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListDiscoveredDevicesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListDiscoveredDevicesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListDiscoveredDevicesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListDiscoveredDevicesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListDiscoveredDevicesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListDiscoveredDevicesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListDiscoveredDevicesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListDiscoveredDevicesCommandConfig[\"data\"] , params: ListDiscoveredDevicesCommandConfig[\"query\"], headers: ListDiscoveredDevicesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListDiscoveredDevicesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListIssuesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListIssuesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListIssuesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListIssuesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListIssuesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListIssuesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListIssuesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListIssuesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListIssuesCommandConfig[\"data\"] , params: ListIssuesCommandConfig[\"query\"], headers: ListIssuesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListIssuesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListLocksCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListLocksCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListLocksCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListLocksCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListLocksCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListLocksCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListLocksCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListLocksCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListLocksCommandConfig[\"data\"] , params: ListLocksCommandConfig[\"query\"], headers: ListLocksCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListLocksCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMediaSourcesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMediaSourcesCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMediaSourcesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMediaSourcesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMediaSourcesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMediaSourcesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMediaSourcesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMediaSourcesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMediaSourcesCommandConfig[\"data\"] , params: ListMediaSourcesCommandConfig[\"query\"], headers: ListMediaSourcesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMediaSourcesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyOrdersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyOrdersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyOrdersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyOrdersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyOrdersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyOrdersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyOrdersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyOrdersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyOrdersCommandConfig[\"data\"] , params: ListMyOrdersCommandConfig[\"query\"], headers: ListMyOrdersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyOrdersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/orders/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyPropertiesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyPropertiesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyPropertiesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyPropertiesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyPropertiesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyPropertiesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyPropertiesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyPropertiesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyPropertiesCommandConfig[\"data\"] , params: ListMyPropertiesCommandConfig[\"query\"], headers: ListMyPropertiesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyPropertiesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyReservationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyReservationsCommandConfig[\"data\"] , params: ListMyReservationsCommandConfig[\"query\"], headers: ListMyReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMySpacesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMySpacesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMySpacesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMySpacesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMySpacesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMySpacesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMySpacesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMySpacesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMySpacesCommandConfig[\"data\"] , params: ListMySpacesCommandConfig[\"query\"], headers: ListMySpacesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMySpacesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyTicketsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyTicketsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyTicketsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyTicketsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyTicketsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyTicketsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyTicketsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyTicketsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyTicketsCommandConfig[\"data\"] , params: ListMyTicketsCommandConfig[\"query\"], headers: ListMyTicketsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyTicketsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListMyTimeSheetsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListMyTimeSheetsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListMyTimeSheetsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListMyTimeSheetsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListMyTimeSheetsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListMyTimeSheetsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListMyTimeSheetsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListMyTimeSheetsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListMyTimeSheetsCommandConfig[\"data\"] , params: ListMyTimeSheetsCommandConfig[\"query\"], headers: ListMyTimeSheetsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListMyTimeSheetsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/mine\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListOrdersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListOrdersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListOrdersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListOrdersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListOrdersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListOrdersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListOrdersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListOrdersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListOrdersCommandConfig[\"data\"] , params: ListOrdersCommandConfig[\"query\"], headers: ListOrdersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListOrdersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/orders\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListOrganizationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListOrganizationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListOrganizationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListOrganizationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListOrganizationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListOrganizationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListOrganizationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListOrganizationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListOrganizationsCommandConfig[\"data\"] , params: ListOrganizationsCommandConfig[\"query\"], headers: ListOrganizationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListOrganizationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListPoliciesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListPoliciesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListPoliciesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListPoliciesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListPoliciesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListPoliciesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListPoliciesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListPoliciesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListPoliciesCommandConfig[\"data\"] , params: ListPoliciesCommandConfig[\"query\"], headers: ListPoliciesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListPoliciesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListProductsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListProductsCommandConfig[\"data\"] , params: ListProductsCommandConfig[\"query\"], headers: ListProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/products\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListPropertiesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListPropertiesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListPropertiesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListPropertiesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListPropertiesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListPropertiesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListPropertiesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListPropertiesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListPropertiesCommandConfig[\"data\"] , params: ListPropertiesCommandConfig[\"query\"], headers: ListPropertiesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListPropertiesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListReservationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListReservationsCommandConfig[\"data\"] , params: ListReservationsCommandConfig[\"query\"], headers: ListReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListRoomsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListRoomsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListRoomsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListRoomsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListRoomsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListRoomsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListRoomsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListRoomsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListRoomsCommandConfig[\"data\"] , params: ListRoomsCommandConfig[\"query\"], headers: ListRoomsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListRoomsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListRoomsInSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListRoomsInSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListRoomsInSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListRoomsInSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListRoomsInSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListRoomsInSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListRoomsInSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListRoomsInSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListRoomsInSpaceCommandConfig[\"data\"] , params: ListRoomsInSpaceCommandConfig[\"query\"], headers: ListRoomsInSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListRoomsInSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id/rooms\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListScenesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListScenesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListScenesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListScenesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListScenesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListScenesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListScenesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListScenesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListScenesCommandConfig[\"data\"] , params: ListScenesCommandConfig[\"query\"], headers: ListScenesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListScenesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListSpacesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListSpacesCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListSpacesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListSpacesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListSpacesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListSpacesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListSpacesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListSpacesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListSpacesCommandConfig[\"data\"] , params: ListSpacesCommandConfig[\"query\"], headers: ListSpacesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListSpacesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListSwitchesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListSwitchesCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListSwitchesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListSwitchesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListSwitchesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListSwitchesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListSwitchesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListSwitchesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListSwitchesCommandConfig[\"data\"] , params: ListSwitchesCommandConfig[\"query\"], headers: ListSwitchesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListSwitchesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTeamCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTeamCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTeamCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTeamCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTeamCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTeamCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTeamCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTeamCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTeamCommandConfig[\"data\"] , params: ListTeamCommandConfig[\"query\"], headers: ListTeamCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTeamCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/team\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListThermostatsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListThermostatsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListThermostatsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListThermostatsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListThermostatsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListThermostatsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListThermostatsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListThermostatsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListThermostatsCommandConfig[\"data\"] , params: ListThermostatsCommandConfig[\"query\"], headers: ListThermostatsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListThermostatsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTicketLocationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTicketLocationsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTicketLocationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTicketLocationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTicketLocationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTicketLocationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTicketLocationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTicketLocationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTicketLocationsCommandConfig[\"data\"] , params: ListTicketLocationsCommandConfig[\"query\"], headers: ListTicketLocationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTicketLocationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/locations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTicketsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTicketsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTicketsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTicketsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTicketsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTicketsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTicketsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTicketsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTicketsCommandConfig[\"data\"] , params: ListTicketsCommandConfig[\"query\"], headers: ListTicketsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTicketsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListTimeSheetsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListTimeSheetsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListTimeSheetsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListTimeSheetsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListTimeSheetsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListTimeSheetsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListTimeSheetsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListTimeSheetsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListTimeSheetsCommandConfig[\"data\"] , params: ListTimeSheetsCommandConfig[\"query\"], headers: ListTimeSheetsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListTimeSheetsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserMobileKeysCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserMobileKeysCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserMobileKeysCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserMobileKeysCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserMobileKeysCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserMobileKeysCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserMobileKeysCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserMobileKeysCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserMobileKeysCommandConfig[\"data\"] , params: ListUserMobileKeysCommandConfig[\"query\"], headers: ListUserMobileKeysCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserMobileKeysCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/mobileKeys\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserOrdersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserOrdersCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserOrdersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserOrdersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserOrdersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserOrdersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserOrdersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserOrdersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserOrdersCommandConfig[\"data\"] , params: ListUserOrdersCommandConfig[\"query\"], headers: ListUserOrdersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserOrdersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/orders\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserReservationsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserReservationsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserReservationsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserReservationsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserReservationsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserReservationsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserReservationsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserReservationsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserReservationsCommandConfig[\"data\"] , params: ListUserReservationsCommandConfig[\"query\"], headers: ListUserReservationsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserReservationsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/reservations\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUserSpacesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUserSpacesCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUserSpacesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUserSpacesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUserSpacesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUserSpacesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUserSpacesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUserSpacesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUserSpacesCommandConfig[\"data\"] , params: ListUserSpacesCommandConfig[\"query\"], headers: ListUserSpacesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUserSpacesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/spaces\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListUsersCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListUsersCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListUsersCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListUsersCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListUsersCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListUsersCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListUsersCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListUsersCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListUsersCommandConfig[\"data\"] , params: ListUsersCommandConfig[\"query\"], headers: ListUsersCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListUsersCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListVendorsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListVendorsCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListVendorsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListVendorsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListVendorsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListVendorsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListVendorsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListVendorsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListVendorsCommandConfig[\"data\"] , params: ListVendorsCommandConfig[\"query\"], headers: ListVendorsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListVendorsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class ListWindowCoveringsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} ListWindowCoveringsCommandConfig\n * @property {{[key: string]: any, roomId: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {ListWindowCoveringsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = ListWindowCoveringsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = ListWindowCoveringsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {ListWindowCoveringsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {ListWindowCoveringsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {ListWindowCoveringsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: ListWindowCoveringsCommandConfig[\"data\"] , params: ListWindowCoveringsCommandConfig[\"query\"], headers: ListWindowCoveringsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: ListWindowCoveringsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LoginFinishCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LoginFinishCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LoginFinishCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LoginFinishCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LoginFinishCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LoginFinishCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LoginFinishCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LoginFinishCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LoginFinishCommandConfig[\"data\"] , params: LoginFinishCommandConfig[\"query\"], headers: LoginFinishCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LoginFinishCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/finish\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LoginStartCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LoginStartCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LoginStartCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LoginStartCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LoginStartCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LoginStartCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LoginStartCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LoginStartCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LoginStartCommandConfig[\"data\"] , params: LoginStartCommandConfig[\"query\"], headers: LoginStartCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LoginStartCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/start\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LogoutSelfCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LogoutSelfCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LogoutSelfCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LogoutSelfCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LogoutSelfCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LogoutSelfCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LogoutSelfCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LogoutSelfCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LogoutSelfCommandConfig[\"data\"] , params: LogoutSelfCommandConfig[\"query\"], headers: LogoutSelfCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LogoutSelfCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/user/me/logout\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class LogoutUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} LogoutUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {LogoutUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = LogoutUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = LogoutUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {LogoutUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {LogoutUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {LogoutUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: LogoutUserCommandConfig[\"data\"] , params: LogoutUserCommandConfig[\"query\"], headers: LogoutUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: LogoutUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/user/:id/logout\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class MatchUserIdentificationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} MatchUserIdentificationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {MatchUserIdentificationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = MatchUserIdentificationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = MatchUserIdentificationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {MatchUserIdentificationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {MatchUserIdentificationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {MatchUserIdentificationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: MatchUserIdentificationCommandConfig[\"data\"] , params: MatchUserIdentificationCommandConfig[\"query\"], headers: MatchUserIdentificationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: MatchUserIdentificationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/identifications/match\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class OCRDocumentCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} OCRDocumentCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {OCRDocumentCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = OCRDocumentCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = OCRDocumentCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {OCRDocumentCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {OCRDocumentCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {OCRDocumentCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: OCRDocumentCommandConfig[\"data\"] , params: OCRDocumentCommandConfig[\"query\"], headers: OCRDocumentCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: OCRDocumentCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/documents/ocr\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationEarlyCheckInProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationEarlyCheckInProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationEarlyCheckInProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationEarlyCheckInProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationEarlyCheckInProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationEarlyCheckInProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationEarlyCheckInProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationEarlyCheckInProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationEarlyCheckInProductsCommandConfig[\"data\"] , params: PurchaseReservationEarlyCheckInProductsCommandConfig[\"query\"], headers: PurchaseReservationEarlyCheckInProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationEarlyCheckInProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/earlyCheckIn\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationLateCheckOutProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationLateCheckOutProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationLateCheckOutProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationLateCheckOutProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationLateCheckOutProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationLateCheckOutProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationLateCheckOutProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationLateCheckOutProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationLateCheckOutProductsCommandConfig[\"data\"] , params: PurchaseReservationLateCheckOutProductsCommandConfig[\"query\"], headers: PurchaseReservationLateCheckOutProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationLateCheckOutProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/lateCheckOut\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationPetProductsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationPetProductsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationPetProductsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationPetProductsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationPetProductsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationPetProductsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationPetProductsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationPetProductsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationPetProductsCommandConfig[\"data\"] , params: PurchaseReservationPetProductsCommandConfig[\"query\"], headers: PurchaseReservationPetProductsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationPetProductsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/pet\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationPromosCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationPromosCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationPromosCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationPromosCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationPromosCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationPromosCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationPromosCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationPromosCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationPromosCommandConfig[\"data\"] , params: PurchaseReservationPromosCommandConfig[\"query\"], headers: PurchaseReservationPromosCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationPromosCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/promo\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class PurchaseReservationRoomUpgradesCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} PurchaseReservationRoomUpgradesCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {PurchaseReservationRoomUpgradesCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = PurchaseReservationRoomUpgradesCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = PurchaseReservationRoomUpgradesCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {PurchaseReservationRoomUpgradesCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {PurchaseReservationRoomUpgradesCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {PurchaseReservationRoomUpgradesCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: PurchaseReservationRoomUpgradesCommandConfig[\"data\"] , params: PurchaseReservationRoomUpgradesCommandConfig[\"query\"], headers: PurchaseReservationRoomUpgradesCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: PurchaseReservationRoomUpgradesCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/products/roomUpgrades\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class RefreshTokenCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} RefreshTokenCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {RefreshTokenCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = RefreshTokenCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = RefreshTokenCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {RefreshTokenCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {RefreshTokenCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {RefreshTokenCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: RefreshTokenCommandConfig[\"data\"] , params: RefreshTokenCommandConfig[\"query\"], headers: RefreshTokenCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: RefreshTokenCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/refresh\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class RequestLoginTokenCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} RequestLoginTokenCommandConfig\n * @property {null} [data] - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {RequestLoginTokenCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = RequestLoginTokenCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = RequestLoginTokenCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {RequestLoginTokenCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {RequestLoginTokenCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {RequestLoginTokenCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"get\" , data: RequestLoginTokenCommandConfig[\"data\"] , params: RequestLoginTokenCommandConfig[\"query\"], headers: RequestLoginTokenCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: RequestLoginTokenCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/loginToken\";\n\n /**\n * The HTTP method for the use case\n * @type {\"get\"}\n */\n static method = \"get\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendCheckInSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendCheckInSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendCheckInSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendCheckInSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendCheckInSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendCheckInSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendCheckInSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendCheckInSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendCheckInSMSCommandConfig[\"data\"] , params: SendCheckInSMSCommandConfig[\"query\"], headers: SendCheckInSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendCheckInSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendCheckInSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendCheckOutSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendCheckOutSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendCheckOutSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendCheckOutSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendCheckOutSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendCheckOutSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendCheckOutSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendCheckOutSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendCheckOutSMSCommandConfig[\"data\"] , params: SendCheckOutSMSCommandConfig[\"query\"], headers: SendCheckOutSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendCheckOutSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendCheckOutSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendPreArrivalEmailCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendPreArrivalEmailCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendPreArrivalEmailCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendPreArrivalEmailCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendPreArrivalEmailCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendPreArrivalEmailCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendPreArrivalEmailCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendPreArrivalEmailCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendPreArrivalEmailCommandConfig[\"data\"] , params: SendPreArrivalEmailCommandConfig[\"query\"], headers: SendPreArrivalEmailCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendPreArrivalEmailCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendPreArrivalEmail\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendPreArrivalSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendPreArrivalSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendPreArrivalSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendPreArrivalSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendPreArrivalSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendPreArrivalSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendPreArrivalSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendPreArrivalSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendPreArrivalSMSCommandConfig[\"data\"] , params: SendPreArrivalSMSCommandConfig[\"query\"], headers: SendPreArrivalSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendPreArrivalSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendPreArrivalSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendRoomControlSMSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendRoomControlSMSCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendRoomControlSMSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendRoomControlSMSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendRoomControlSMSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendRoomControlSMSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendRoomControlSMSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendRoomControlSMSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendRoomControlSMSCommandConfig[\"data\"] , params: SendRoomControlSMSCommandConfig[\"query\"], headers: SendRoomControlSMSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendRoomControlSMSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/sendRoomControlSMS\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SendVerificationCodeCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SendVerificationCodeCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SendVerificationCodeCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SendVerificationCodeCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SendVerificationCodeCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SendVerificationCodeCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SendVerificationCodeCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SendVerificationCodeCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SendVerificationCodeCommandConfig[\"data\"] , params: SendVerificationCodeCommandConfig[\"query\"], headers: SendVerificationCodeCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SendVerificationCodeCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/sendVerificationCode\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetAlarmCommandConfig[\"data\"] , params: SetAlarmCommandConfig[\"query\"], headers: SetAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetCameraCommandConfig[\"data\"] , params: SetCameraCommandConfig[\"query\"], headers: SetCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetCourtesyCommandConfig[\"data\"] , params: SetCourtesyCommandConfig[\"query\"], headers: SetCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetDimmerCommandConfig[\"data\"] , params: SetDimmerCommandConfig[\"query\"], headers: SetDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetLockCommandConfig[\"data\"] , params: SetLockCommandConfig[\"query\"], headers: SetLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetMediaSourceCommandConfig[\"data\"] , params: SetMediaSourceCommandConfig[\"query\"], headers: SetMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetRoomSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetRoomSceneCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetRoomSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetRoomSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetRoomSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetRoomSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetRoomSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetRoomSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetRoomSceneCommandConfig[\"data\"] , params: SetRoomSceneCommandConfig[\"query\"], headers: SetRoomSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetRoomSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/scenes/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetSceneCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetSceneCommandConfig[\"data\"] , params: SetSceneCommandConfig[\"query\"], headers: SetSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/scenes/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetSpaceSceneCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetSpaceSceneCommandConfig\n * @property {{[key: string]: any, spaceId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetSpaceSceneCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetSpaceSceneCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetSpaceSceneCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetSpaceSceneCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetSpaceSceneCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetSpaceSceneCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetSpaceSceneCommandConfig[\"data\"] , params: SetSpaceSceneCommandConfig[\"query\"], headers: SetSpaceSceneCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetSpaceSceneCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"spaceId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:spaceId/scenes/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetSwitchCommandConfig[\"data\"] , params: SetSwitchCommandConfig[\"query\"], headers: SetSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetThermostatCommandConfig[\"data\"] , params: SetThermostatCommandConfig[\"query\"], headers: SetThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class SetWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} SetWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {SetWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = SetWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = SetWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {SetWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {SetWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {SetWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: SetWindowCoveringCommandConfig[\"data\"] , params: SetWindowCoveringCommandConfig[\"query\"], headers: SetWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: SetWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class StartRegisterPasskeyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} StartRegisterPasskeyCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {StartRegisterPasskeyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = StartRegisterPasskeyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = StartRegisterPasskeyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {StartRegisterPasskeyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {StartRegisterPasskeyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {StartRegisterPasskeyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: StartRegisterPasskeyCommandConfig[\"data\"] , params: StartRegisterPasskeyCommandConfig[\"query\"], headers: StartRegisterPasskeyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: StartRegisterPasskeyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/auth/registerPasskey/start\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class StartSOSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} StartSOSCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {StartSOSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = StartSOSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = StartSOSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {StartSOSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {StartSOSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {StartSOSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: StartSOSCommandConfig[\"data\"] , params: StartSOSCommandConfig[\"query\"], headers: StartSOSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: StartSOSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/sos/start\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class StopSOSCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} StopSOSCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {StopSOSCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = StopSOSCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = StopSOSCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {StopSOSCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {StopSOSCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {StopSOSCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: StopSOSCommandConfig[\"data\"] , params: StopSOSCommandConfig[\"query\"], headers: StopSOSCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: StopSOSCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/sos/stop\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class TipUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} TipUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {TipUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = TipUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = TipUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {TipUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {TipUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {TipUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: TipUserCommandConfig[\"data\"] , params: TipUserCommandConfig[\"query\"], headers: TipUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: TipUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id/tip\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateAlarmCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateAlarmCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateAlarmCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateAlarmCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateAlarmCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateAlarmCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateAlarmCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateAlarmCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateAlarmCommandConfig[\"data\"] , params: UpdateAlarmCommandConfig[\"query\"], headers: UpdateAlarmCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateAlarmCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/alarms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateAnnouncementCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateAnnouncementCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateAnnouncementCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateAnnouncementCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateAnnouncementCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateAnnouncementCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateAnnouncementCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateAnnouncementCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateAnnouncementCommandConfig[\"data\"] , params: UpdateAnnouncementCommandConfig[\"query\"], headers: UpdateAnnouncementCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateAnnouncementCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/announcements/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateAutomationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateAutomationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateAutomationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateAutomationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateAutomationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateAutomationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateAutomationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateAutomationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateAutomationCommandConfig[\"data\"] , params: UpdateAutomationCommandConfig[\"query\"], headers: UpdateAutomationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateAutomationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/automations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateCameraCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateCameraCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateCameraCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateCameraCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateCameraCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateCameraCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateCameraCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateCameraCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateCameraCommandConfig[\"data\"] , params: UpdateCameraCommandConfig[\"query\"], headers: UpdateCameraCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateCameraCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/cameras/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateCategoryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateCategoryCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateCategoryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateCategoryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateCategoryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateCategoryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateCategoryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateCategoryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateCategoryCommandConfig[\"data\"] , params: UpdateCategoryCommandConfig[\"query\"], headers: UpdateCategoryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateCategoryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/categories/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateCourtesyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateCourtesyCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateCourtesyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateCourtesyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateCourtesyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateCourtesyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateCourtesyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateCourtesyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateCourtesyCommandConfig[\"data\"] , params: UpdateCourtesyCommandConfig[\"query\"], headers: UpdateCourtesyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateCourtesyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/courtesy/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateDimmerCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateDimmerCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateDimmerCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateDimmerCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateDimmerCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateDimmerCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateDimmerCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateDimmerCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateDimmerCommandConfig[\"data\"] , params: UpdateDimmerCommandConfig[\"query\"], headers: UpdateDimmerCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateDimmerCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/dimmers/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateDiscoveredDeviceCommandConfig[\"data\"] , params: UpdateDiscoveredDeviceCommandConfig[\"query\"], headers: UpdateDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateIssueCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateIssueCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateIssueCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateIssueCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateIssueCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateIssueCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateIssueCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateIssueCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateIssueCommandConfig[\"data\"] , params: UpdateIssueCommandConfig[\"query\"], headers: UpdateIssueCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateIssueCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/issues/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateLockCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateLockCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateLockCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateLockCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateLockCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateLockCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateLockCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateLockCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateLockCommandConfig[\"data\"] , params: UpdateLockCommandConfig[\"query\"], headers: UpdateLockCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateLockCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/locks/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateMediaSourceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateMediaSourceCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateMediaSourceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateMediaSourceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateMediaSourceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateMediaSourceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateMediaSourceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateMediaSourceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateMediaSourceCommandConfig[\"data\"] , params: UpdateMediaSourceCommandConfig[\"query\"], headers: UpdateMediaSourceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateMediaSourceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/mediaSources/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateMessageReadStatusCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateMessageReadStatusCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateMessageReadStatusCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateMessageReadStatusCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateMessageReadStatusCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateMessageReadStatusCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateMessageReadStatusCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateMessageReadStatusCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: UpdateMessageReadStatusCommandConfig[\"data\"] , params: UpdateMessageReadStatusCommandConfig[\"query\"], headers: UpdateMessageReadStatusCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateMessageReadStatusCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/readAll\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateOrganizationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateOrganizationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateOrganizationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateOrganizationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateOrganizationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateOrganizationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateOrganizationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateOrganizationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateOrganizationCommandConfig[\"data\"] , params: UpdateOrganizationCommandConfig[\"query\"], headers: UpdateOrganizationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateOrganizationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/organizations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdatePolicyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdatePolicyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdatePolicyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdatePolicyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdatePolicyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdatePolicyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdatePolicyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdatePolicyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdatePolicyCommandConfig[\"data\"] , params: UpdatePolicyCommandConfig[\"query\"], headers: UpdatePolicyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdatePolicyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/policies/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdatePropertyCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdatePropertyCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdatePropertyCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdatePropertyCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdatePropertyCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdatePropertyCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdatePropertyCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdatePropertyCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdatePropertyCommandConfig[\"data\"] , params: UpdatePropertyCommandConfig[\"query\"], headers: UpdatePropertyCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdatePropertyCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdatePropertySettingsCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdatePropertySettingsCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdatePropertySettingsCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdatePropertySettingsCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdatePropertySettingsCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdatePropertySettingsCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdatePropertySettingsCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdatePropertySettingsCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdatePropertySettingsCommandConfig[\"data\"] , params: UpdatePropertySettingsCommandConfig[\"query\"], headers: UpdatePropertySettingsCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdatePropertySettingsCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/properties/:id/settings\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateReservationCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateReservationCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateReservationCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateReservationCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateReservationCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateReservationCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateReservationCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateReservationCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateReservationCommandConfig[\"data\"] , params: UpdateReservationCommandConfig[\"query\"], headers: UpdateReservationCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateReservationCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateReservationExpectedArrivalTimeCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateReservationExpectedArrivalTimeCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateReservationExpectedArrivalTimeCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateReservationExpectedArrivalTimeCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateReservationExpectedArrivalTimeCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateReservationExpectedArrivalTimeCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateReservationExpectedArrivalTimeCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateReservationExpectedArrivalTimeCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateReservationExpectedArrivalTimeCommandConfig[\"data\"] , params: UpdateReservationExpectedArrivalTimeCommandConfig[\"query\"], headers: UpdateReservationExpectedArrivalTimeCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateReservationExpectedArrivalTimeCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/reservations/:id/expectedArrivalTime\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateRoomCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateRoomCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateRoomCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateRoomCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateRoomCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateRoomCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateRoomCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateRoomCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateRoomCommandConfig[\"data\"] , params: UpdateRoomCommandConfig[\"query\"], headers: UpdateRoomCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateRoomCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateSelfCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateSelfCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateSelfCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateSelfCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateSelfCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateSelfCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateSelfCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateSelfCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateSelfCommandConfig[\"data\"] , params: UpdateSelfCommandConfig[\"query\"], headers: UpdateSelfCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateSelfCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/me\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateSpaceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateSpaceCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateSpaceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateSpaceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateSpaceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateSpaceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateSpaceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateSpaceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateSpaceCommandConfig[\"data\"] , params: UpdateSpaceCommandConfig[\"query\"], headers: UpdateSpaceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateSpaceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/spaces/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateSwitchCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateSwitchCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateSwitchCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateSwitchCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateSwitchCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateSwitchCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateSwitchCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateSwitchCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateSwitchCommandConfig[\"data\"] , params: UpdateSwitchCommandConfig[\"query\"], headers: UpdateSwitchCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateSwitchCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/switches/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateThermostatCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateThermostatCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateThermostatCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateThermostatCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateThermostatCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateThermostatCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateThermostatCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateThermostatCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateThermostatCommandConfig[\"data\"] , params: UpdateThermostatCommandConfig[\"query\"], headers: UpdateThermostatCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateThermostatCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/thermostats/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTicketCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTicketCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTicketCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTicketCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTicketCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTicketCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTicketCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTicketCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTicketCommandConfig[\"data\"] , params: UpdateTicketCommandConfig[\"query\"], headers: UpdateTicketCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTicketCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTicketStatusCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTicketStatusCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTicketStatusCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTicketStatusCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTicketStatusCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTicketStatusCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTicketStatusCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTicketStatusCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTicketStatusCommandConfig[\"data\"] , params: UpdateTicketStatusCommandConfig[\"query\"], headers: UpdateTicketStatusCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTicketStatusCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/tickets/:id/status\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTimeSheetCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTimeSheetCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTimeSheetCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTimeSheetCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTimeSheetCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTimeSheetCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTimeSheetCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTimeSheetCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTimeSheetCommandConfig[\"data\"] , params: UpdateTimeSheetCommandConfig[\"query\"], headers: UpdateTimeSheetCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTimeSheetCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateTimeSheetTimeEntryCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateTimeSheetTimeEntryCommandConfig\n * @property {{[key: string]: any, timeSheetId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateTimeSheetTimeEntryCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateTimeSheetTimeEntryCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateTimeSheetTimeEntryCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateTimeSheetTimeEntryCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateTimeSheetTimeEntryCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateTimeSheetTimeEntryCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateTimeSheetTimeEntryCommandConfig[\"data\"] , params: UpdateTimeSheetTimeEntryCommandConfig[\"query\"], headers: UpdateTimeSheetTimeEntryCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateTimeSheetTimeEntryCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"timeSheetId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/timesheets/:timeSheetId/timeEntries/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateUserCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateUserCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateUserCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateUserCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateUserCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateUserCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateUserCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateUserCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateUserCommandConfig[\"data\"] , params: UpdateUserCommandConfig[\"query\"], headers: UpdateUserCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateUserCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/users/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateVendorCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateVendorCommandConfig\n * @property {{[key: string]: any, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateVendorCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateVendorCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateVendorCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateVendorCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateVendorCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateVendorCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateVendorCommandConfig[\"data\"] , params: UpdateVendorCommandConfig[\"query\"], headers: UpdateVendorCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateVendorCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/vendors/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpdateWindowCoveringCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpdateWindowCoveringCommandConfig\n * @property {{[key: string]: any, roomId: string, id: string}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpdateWindowCoveringCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpdateWindowCoveringCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpdateWindowCoveringCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpdateWindowCoveringCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpdateWindowCoveringCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpdateWindowCoveringCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"put\" , data: UpdateWindowCoveringCommandConfig[\"data\"] , params: UpdateWindowCoveringCommandConfig[\"query\"], headers: UpdateWindowCoveringCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpdateWindowCoveringCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [\"roomId\", \"id\"];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/rooms/:roomId/windowCoverings/:id\";\n\n /**\n * The HTTP method for the use case\n * @type {\"put\"}\n */\n static method = \"put\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UploadImageCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UploadImageCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UploadImageCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UploadImageCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UploadImageCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UploadImageCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UploadImageCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UploadImageCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: UploadImageCommandConfig[\"data\"] , params: UploadImageCommandConfig[\"query\"], headers: UploadImageCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UploadImageCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/mediaFiles/uploadImage\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nexport class UpsertDiscoveredDeviceCommand {\n /**\n * @description\n * @constructor\n * @typedef {object} UpsertDiscoveredDeviceCommandConfig\n * @property {{[key: string]: any}} data - The body to include in the command\n * @property {{[key:string]: any} | null} [headers] - The headers to include in the command\n * @property {{[key:string]: any} | null} [query] - The query parameters to include in the command\n *\n * @param {UpsertDiscoveredDeviceCommandConfig} commandConfig - The options to include in the command\n * @param {Object} options - The options to include in the command\n */\n constructor(commandConfig, options = {}) {\n // get parameters from path\n const pathParams = UpsertDiscoveredDeviceCommand.params;\n\n let { data, query, headers } = commandConfig ?? {};\n\n if (typeof data === \"undefined\") data = null;\n if (typeof query === \"undefined\") query = null;\n if (typeof headers === \"undefined\") headers = null;\n\n // replace path parameters with values from params\n let url = UpsertDiscoveredDeviceCommand.url;\n\n if (pathParams && data) {\n for (const param of pathParams) {\n const urlParam = \":\" + param;\n url = url.replace(urlParam, data[param]);\n }\n }\n\n // make sure all parameters have been replaced\n if (url.match(/:[a-zA-Z0-9]+/g)) {\n const missingParams = url.match(/:[a-zA-Z0-9]+/g);\n\n if (missingParams) {\n // remove the colon from the parameter name\n const missing = missingParams.map((param) => param.replace(\":\", \"\"));\n throw new Error(\"Missing parameters: \" + missing.join(\", \"));\n }\n }\n\n /**\n * The full URL for the use case\n * @type {string}\n * @public\n */\n this.url = url;\n /**\n * The data to send with the use case\n * @type {UpsertDiscoveredDeviceCommandConfig[\"data\"]}\n * @public\n */\n this.data = data;\n /**\n * The query parameters for the use case\n * @type {UpsertDiscoveredDeviceCommandConfig[\"query\"]}\n * @public\n */\n this.query = query;\n /**\n * The headers for the use case\n * @type {UpsertDiscoveredDeviceCommandConfig[\"headers\"]}\n * @public\n */\n this.headers = headers;\n\n /**\n * The configuration for the use case command\n * @type {{ url: string, method: \"post\" , data: UpsertDiscoveredDeviceCommandConfig[\"data\"] , params: UpsertDiscoveredDeviceCommandConfig[\"query\"], headers: UpsertDiscoveredDeviceCommandConfig[\"headers\"] }}\n * @public\n */\n this.config = {\n method: UpsertDiscoveredDeviceCommand.method,\n url: url,\n data: data,\n params: query,\n headers: headers,\n ...options,\n };\n }\n\n /**\n * The required parameters for the use case\n * @type {string[]}\n */\n static params = [];\n\n /**\n * The URL for the use case, with path parameters\n * @type {string}\n */\n static url = \"/discoveredDevices/upsert\";\n\n /**\n * The HTTP method for the use case\n * @type {\"post\"}\n */\n static method = \"post\";\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,kCAAN,MAAM,iCAAgC;AAAA,EAH7C,OAG6C;AAA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","names":[]}
|