@kohost/api-client 4.5.2 → 4.5.4
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-M5X5MAMO.js → chunk-2ZHDK2LA.js} +1 -1
- package/dist/{chunk-AGZ6HJSH.js → chunk-3JKVMXXF.js} +1 -1
- package/dist/{chunk-AGZ6HJSH.js.map → chunk-3JKVMXXF.js.map} +1 -1
- package/dist/{chunk-ANFME4PS.js → chunk-4JO2ZCI2.js} +1 -1
- package/dist/chunk-4JO2ZCI2.js.map +1 -0
- package/dist/{chunk-7PX5KVYB.js → chunk-6U3D7INH.js} +1 -1
- package/dist/chunk-6U3D7INH.js.map +1 -0
- package/dist/{chunk-GBT23YOH.js → chunk-7OSTDOUM.js} +1 -1
- package/dist/chunk-7OSTDOUM.js.map +1 -0
- package/dist/chunk-7VS2JHRH.js +1 -0
- package/dist/chunk-7VS2JHRH.js.map +1 -0
- package/dist/{chunk-5EDOP7SD.js → chunk-AQVI4C4C.js} +1 -1
- package/dist/chunk-AQVI4C4C.js.map +1 -0
- package/dist/{chunk-HNS2SBBF.js → chunk-ASUIVB2I.js} +1 -1
- package/dist/{chunk-4AFOAB6J.js → chunk-BAIHVN4F.js} +1 -1
- package/dist/chunk-BAIHVN4F.js.map +1 -0
- package/dist/{chunk-UHZNVQJL.js → chunk-BRZVBG7Y.js} +1 -1
- package/dist/{chunk-PDHZFIDQ.js → chunk-DGMWQ4PP.js} +1 -1
- package/dist/chunk-DGMWQ4PP.js.map +1 -0
- package/dist/{chunk-NP5F6QMM.js → chunk-E7DC44YR.js} +1 -1
- package/dist/chunk-E7DC44YR.js.map +1 -0
- package/dist/{chunk-ZMHHWBMW.js → chunk-EIKLORN2.js} +1 -1
- package/dist/{chunk-LSJGBXK7.js → chunk-ET6X74DQ.js} +1 -1
- package/dist/{chunk-LSJGBXK7.js.map → chunk-ET6X74DQ.js.map} +1 -1
- package/dist/{chunk-JTMLWXAG.js → chunk-FJGHDCFU.js} +1 -1
- package/dist/{chunk-FVP5AOHC.js → chunk-FTA53BGJ.js} +1 -1
- package/dist/chunk-FTA53BGJ.js.map +1 -0
- package/dist/{chunk-KAJLZORW.js → chunk-G4JQYUAC.js} +1 -1
- package/dist/chunk-G4JQYUAC.js.map +1 -0
- package/dist/{chunk-YY6NO4Q7.js → chunk-GJIRL22D.js} +1 -1
- package/dist/{chunk-YXPWJUIO.js → chunk-H4CYVROE.js} +1 -1
- package/dist/chunk-H4CYVROE.js.map +1 -0
- package/dist/{chunk-HBM76KWM.js → chunk-IKAINY4Q.js} +1 -1
- package/dist/{chunk-DNI2JI3H.js → chunk-IP2J33M4.js} +1 -1
- package/dist/{chunk-ZU7D7NTB.js → chunk-J6NIJCBP.js} +1 -1
- package/dist/{chunk-3XCEXZZU.js → chunk-K4X5REA5.js} +1 -1
- package/dist/chunk-K4X5REA5.js.map +1 -0
- package/dist/{chunk-PRNDB7WM.js → chunk-KD5V4VHT.js} +1 -1
- package/dist/{chunk-QUX6UPWR.js → chunk-KJI445LX.js} +1 -1
- package/dist/{chunk-6DFQIA4E.js → chunk-KVGMJRXC.js} +1 -1
- package/dist/{chunk-CFNGKVGU.js → chunk-KZGHAUI5.js} +1 -1
- package/dist/{chunk-DUAYP7FO.js → chunk-LNRGAGJF.js} +1 -1
- package/dist/{chunk-ALNMPVX6.js → chunk-MG2VQTNN.js} +1 -1
- package/dist/{chunk-345UV6PD.js → chunk-MKUF7EIW.js} +1 -1
- package/dist/{chunk-345UV6PD.js.map → chunk-MKUF7EIW.js.map} +1 -1
- package/dist/{chunk-TUFZH6AD.js → chunk-NFBNENWO.js} +1 -1
- package/dist/{chunk-PJKWZ4E7.js → chunk-NX5S46FI.js} +1 -1
- package/dist/chunk-NX5S46FI.js.map +1 -0
- package/dist/{chunk-44MXAJLE.js → chunk-P5SXOPMU.js} +1 -1
- package/dist/chunk-P5SXOPMU.js.map +1 -0
- package/dist/{chunk-LRTOHGB2.js → chunk-PBMLITMC.js} +1 -1
- package/dist/{chunk-U2CAGSFM.js → chunk-PHUGJKO5.js} +1 -1
- package/dist/chunk-PHUGJKO5.js.map +1 -0
- package/dist/{chunk-UYNTJCKP.js → chunk-PWFIE4A4.js} +1 -1
- package/dist/{chunk-4EQQGMC3.js → chunk-QE7MS5GE.js} +1 -1
- package/dist/{chunk-JFGH6K22.js → chunk-R2SDRMVZ.js} +1 -1
- package/dist/chunk-R2SDRMVZ.js.map +1 -0
- package/dist/{chunk-GMEDY3CY.js → chunk-RQEWUMCP.js} +1 -1
- package/dist/{chunk-34GBFTWN.js → chunk-SIRKWUJR.js} +1 -1
- package/dist/{chunk-RXVFLL3E.js → chunk-SW7K432L.js} +1 -1
- package/dist/{chunk-5PAYL6WO.js → chunk-T2E42CQF.js} +1 -1
- package/dist/{chunk-VOEI53EX.js → chunk-UEVK66LP.js} +1 -1
- package/dist/chunk-UEVK66LP.js.map +1 -0
- package/dist/chunk-X2PHGWTM.js +1 -0
- package/dist/{chunk-U6LM27GO.js.map → chunk-X2PHGWTM.js.map} +1 -1
- package/dist/{chunk-ZHKBERFH.js → chunk-XORT6HQQ.js} +1 -1
- package/dist/{chunk-RISVSRZG.js → chunk-XV3KXIH2.js} +1 -1
- package/dist/chunk-XV3KXIH2.js.map +1 -0
- package/dist/{chunk-TQFOLO5K.js → chunk-XVQXZSHK.js} +1 -1
- package/dist/chunk-XVQXZSHK.js.map +1 -0
- package/dist/{chunk-LJOZIKAX.js → chunk-ZARKTUMC.js} +1 -1
- package/dist/{chunk-LJOZIKAX.js.map → chunk-ZARKTUMC.js.map} +1 -1
- package/dist/{chunk-RT5GN57D.js → chunk-ZR72266G.js} +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.d.cts +3 -3
- package/dist/models/alarm.d.ts +3 -3
- 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 +3 -3
- package/dist/models/camera.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/category.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/courtesy.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/credential.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/dimmer.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/gateway.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/lock.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/log.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/mediaSource.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/motionSensor.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/product.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/reservation.d.ts +3 -3
- 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.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.d.cts +12 -16
- package/dist/models/space.d.ts +12 -16
- 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.d.cts +3 -3
- package/dist/models/switch.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/systemUser.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/thermostat.d.ts +3 -3
- 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.d.cts +3 -3
- package/dist/models/windowCovering.d.ts +3 -3
- 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-3XCEXZZU.js.map +0 -1
- package/dist/chunk-44MXAJLE.js.map +0 -1
- package/dist/chunk-4AFOAB6J.js.map +0 -1
- package/dist/chunk-5EDOP7SD.js.map +0 -1
- package/dist/chunk-7PX5KVYB.js.map +0 -1
- package/dist/chunk-ANFME4PS.js.map +0 -1
- package/dist/chunk-FVP5AOHC.js.map +0 -1
- package/dist/chunk-GBT23YOH.js.map +0 -1
- package/dist/chunk-JFGH6K22.js.map +0 -1
- package/dist/chunk-KAJLZORW.js.map +0 -1
- package/dist/chunk-NP5F6QMM.js.map +0 -1
- package/dist/chunk-PDHZFIDQ.js.map +0 -1
- package/dist/chunk-PJKWZ4E7.js.map +0 -1
- package/dist/chunk-RISVSRZG.js.map +0 -1
- package/dist/chunk-TQFOLO5K.js.map +0 -1
- package/dist/chunk-U2CAGSFM.js.map +0 -1
- package/dist/chunk-U6LM27GO.js +0 -1
- package/dist/chunk-URMAPWOS.js +0 -1
- package/dist/chunk-URMAPWOS.js.map +0 -1
- package/dist/chunk-VOEI53EX.js.map +0 -1
- package/dist/chunk-YXPWJUIO.js.map +0 -1
- /package/dist/{chunk-M5X5MAMO.js.map → chunk-2ZHDK2LA.js.map} +0 -0
- /package/dist/{chunk-HNS2SBBF.js.map → chunk-ASUIVB2I.js.map} +0 -0
- /package/dist/{chunk-UHZNVQJL.js.map → chunk-BRZVBG7Y.js.map} +0 -0
- /package/dist/{chunk-ZMHHWBMW.js.map → chunk-EIKLORN2.js.map} +0 -0
- /package/dist/{chunk-JTMLWXAG.js.map → chunk-FJGHDCFU.js.map} +0 -0
- /package/dist/{chunk-YY6NO4Q7.js.map → chunk-GJIRL22D.js.map} +0 -0
- /package/dist/{chunk-HBM76KWM.js.map → chunk-IKAINY4Q.js.map} +0 -0
- /package/dist/{chunk-DNI2JI3H.js.map → chunk-IP2J33M4.js.map} +0 -0
- /package/dist/{chunk-ZU7D7NTB.js.map → chunk-J6NIJCBP.js.map} +0 -0
- /package/dist/{chunk-PRNDB7WM.js.map → chunk-KD5V4VHT.js.map} +0 -0
- /package/dist/{chunk-QUX6UPWR.js.map → chunk-KJI445LX.js.map} +0 -0
- /package/dist/{chunk-6DFQIA4E.js.map → chunk-KVGMJRXC.js.map} +0 -0
- /package/dist/{chunk-CFNGKVGU.js.map → chunk-KZGHAUI5.js.map} +0 -0
- /package/dist/{chunk-DUAYP7FO.js.map → chunk-LNRGAGJF.js.map} +0 -0
- /package/dist/{chunk-ALNMPVX6.js.map → chunk-MG2VQTNN.js.map} +0 -0
- /package/dist/{chunk-TUFZH6AD.js.map → chunk-NFBNENWO.js.map} +0 -0
- /package/dist/{chunk-LRTOHGB2.js.map → chunk-PBMLITMC.js.map} +0 -0
- /package/dist/{chunk-UYNTJCKP.js.map → chunk-PWFIE4A4.js.map} +0 -0
- /package/dist/{chunk-4EQQGMC3.js.map → chunk-QE7MS5GE.js.map} +0 -0
- /package/dist/{chunk-GMEDY3CY.js.map → chunk-RQEWUMCP.js.map} +0 -0
- /package/dist/{chunk-34GBFTWN.js.map → chunk-SIRKWUJR.js.map} +0 -0
- /package/dist/{chunk-RXVFLL3E.js.map → chunk-SW7K432L.js.map} +0 -0
- /package/dist/{chunk-5PAYL6WO.js.map → chunk-T2E42CQF.js.map} +0 -0
- /package/dist/{chunk-ZHKBERFH.js.map → chunk-XORT6HQQ.js.map} +0 -0
- /package/dist/{chunk-RT5GN57D.js.map → chunk-ZR72266G.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/credential.js","../../src/errors/appError.js","../../src/errors/validationError.js","../../src/models/entity.js","../../src/validate.js","../../src/schemas/alarm.js","../../src/schemas/announcement.js","../../src/schemas/automation.js","../../src/schemas/camera.js","../../src/schemas/category.js","../../src/schemas/courtesy.js","../../src/schemas/credential.js","../../src/schemas/definitions.js","../../src/schemas/deviceRouter.js","../../src/schemas/dimmer.js","../../src/schemas/discoveredDevice.js","../../src/schemas/emailMessage.js","../../src/schemas/energyReport.js","../../src/schemas/energyReportShard.js","../../src/schemas/gateway.js","../../src/schemas/identification.js","../../src/schemas/issue.js","../../src/schemas/lock.js","../../src/schemas/log.js","../../src/schemas/mediaFile.js","../../src/schemas/mediaSource.js","../../src/schemas/motionSensor.js","../../src/schemas/order.js","../../src/schemas/organization.js","../../src/schemas/payment.js","../../src/schemas/policy.js","../../src/schemas/product.js","../../src/schemas/property.js","../../src/schemas/reservation.js","../../src/schemas/room.js","../../src/schemas/scene.js","../../src/schemas/shortLink.js","../../src/schemas/smsMessage.js","../../src/schemas/space.js","../../src/schemas/switch.js","../../src/schemas/systemUser.js","../../src/schemas/thermostat.js","../../src/schemas/ticket.js","../../src/schemas/timeSheet.js","../../src/schemas/user.js","../../src/schemas/vendor.js","../../src/schemas/windowCovering.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateCredential as validate } from \"../validate\";\n\n/**\n * @typedef {Object} CredentialData\n * @property {string} [id] - Identifier of the object.\n * @property {string} type - Default: \"credential\"\n * @property {(\"adlink\"|\"aws-kinesis\"|\"bacnet\"|\"butler\"|\"comelit\"|\"crestron\"|\"dell\"|\"distech\"|\"dmp\"|\"doorbird\"|\"dormakaba\"|\"dsc\"|\"ecobee\"|\"epson\"|\"geovision-rs\"|\"geovision-as-manager\"|\"honeywell-vista\"|\"igor\"|\"inncom\"|\"isapi\"|\"kohost-k7\"|\"kohost\"|\"lg\"|\"lg-webos\"|\"lapi\"|\"lirc\"|\"mews\"|\"mht\"|\"paxton\"|\"pelican-wireless\"|\"power-shades\"|\"rachio\"|\"rebrandly\"|\"relay\"|\"rtsp\"|\"salto\"|\"salto-irn\"|\"samsung\"|\"se\"|\"sendgrid\"|\"sonifi\"|\"stay-n-touch\"|\"storable\"|\"twilio\"|\"unifi\"|\"valcom\"|\"vivotek\"|\"vizio\"|\"wisenet\"|\"cloudflare-images\"|\"cloudflare-stream\"|\"insperia-privacy\")} [driver] - Driver used to communicate with the object.\n * @property {(\"verificationCode\"|\"token\"|\"mobileKey\"|\"pin\"|\"publicKey\"|\"passkeyChallenge\")} [discriminator]\n * @property {string} credential\n * @property {string} [userId]\n * @property {string} [organizationId]\n * @property {string} [propertyId]\n * @property {string} [deviceId]\n * @property {string} [userAgent]\n * @property {(string|object)} expires\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n */\n\n/**\n *\n * @class Credential\n * @extends {Entity}\n */\nexport class Credential extends Entity {\n /**\n * @constructor\n * @param {CredentialData} data - The data to initialize the Credential with\n */\n constructor(data) {\n super(data);\n if (data.id !== undefined) this.id = data.id;\n this.type = data.type;\n if (data.driver !== undefined) this.driver = data.driver;\n if (data.discriminator !== undefined)\n this.discriminator = data.discriminator;\n this.credential = data.credential;\n if (data.userId !== undefined) this.userId = data.userId;\n if (data.organizationId !== undefined)\n this.organizationId = data.organizationId;\n if (data.propertyId !== undefined) this.propertyId = data.propertyId;\n if (data.deviceId !== undefined) this.deviceId = data.deviceId;\n if (data.userAgent !== undefined) this.userAgent = data.userAgent;\n this.expires = data.expires;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n }\n}\n\nObject.defineProperty(Credential.prototype, \"schema\", {\n value: {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"credential.json\",\n title: \"Credential\",\n type: \"object\",\n required: [\"type\", \"credential\", \"expires\"],\n properties: {\n id: { $ref: \"definitions.json#/definitions/id\" },\n type: { type: \"string\", default: \"credential\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n discriminator: {\n type: \"string\",\n enum: [\n \"verificationCode\",\n \"token\",\n \"mobileKey\",\n \"pin\",\n \"publicKey\",\n \"passkeyChallenge\",\n ],\n },\n credential: { type: \"string\" },\n userId: { type: \"string\" },\n organizationId: { type: \"string\" },\n propertyId: { type: \"string\" },\n deviceId: { type: \"string\" },\n userAgent: { type: \"string\" },\n expires: { type: [\"string\", \"object\", \"null\"] },\n systemId: { $ref: \"definitions.json#/definitions/systemId\" },\n },\n },\n});\n\nObject.defineProperty(Credential.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n","export class AppError extends Error {\n constructor(message = \"Internal Server Error\", options) {\n super(message, options);\n this.type = this.constructor.name;\n this.statusCode = 500;\n this.name = \"AppError\";\n Object.setPrototypeOf(this, AppError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class ValidationError extends AppError {\n constructor(message = \"Validation Error\", options = {}) {\n super(message, options);\n this.statusCode = 400;\n this.name = \"ValidationError\";\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n","import { ValidationError } from \"../errors/validationError\";\n\nexport class Entity {\n constructor(data) {\n if (!this.schema) {\n throw new Error(\"Schema is not defined\");\n }\n\n if (!this.validator) {\n throw new Error(\"Validator is not defined\");\n }\n\n this.#validate(data);\n }\n\n get schemaProperties() {\n return Object.keys(this.validator.schema.properties);\n }\n\n #validate(data) {\n const valid = this.validator(data);\n if (!valid) {\n throw new ValidationError(`Invalid ${this.constructor.name}`, {\n cause: this.validator.errors,\n });\n }\n }\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\nimport { Ajv } from \"ajv\";\nimport addFormats from \"ajv-formats\";\n\nimport alarmschema from \"./schemas/alarm.js\";\nimport announcementschema from \"./schemas/announcement.js\";\nimport automationschema from \"./schemas/automation.js\";\nimport cameraschema from \"./schemas/camera.js\";\nimport categoryschema from \"./schemas/category.js\";\nimport courtesyschema from \"./schemas/courtesy.js\";\nimport credentialschema from \"./schemas/credential.js\";\nimport definitionsschema from \"./schemas/definitions.js\";\nimport deviceRouterschema from \"./schemas/deviceRouter.js\";\nimport dimmerschema from \"./schemas/dimmer.js\";\nimport discoveredDeviceschema from \"./schemas/discoveredDevice.js\";\nimport emailMessageschema from \"./schemas/emailMessage.js\";\nimport energyReportschema from \"./schemas/energyReport.js\";\nimport energyReportShardschema from \"./schemas/energyReportShard.js\";\nimport gatewayschema from \"./schemas/gateway.js\";\nimport identificationschema from \"./schemas/identification.js\";\nimport issueschema from \"./schemas/issue.js\";\nimport lockschema from \"./schemas/lock.js\";\nimport logschema from \"./schemas/log.js\";\nimport mediaFileschema from \"./schemas/mediaFile.js\";\nimport mediaSourceschema from \"./schemas/mediaSource.js\";\nimport motionSensorschema from \"./schemas/motionSensor.js\";\nimport orderschema from \"./schemas/order.js\";\nimport organizationschema from \"./schemas/organization.js\";\nimport paymentschema from \"./schemas/payment.js\";\nimport policyschema from \"./schemas/policy.js\";\nimport productschema from \"./schemas/product.js\";\nimport propertyschema from \"./schemas/property.js\";\nimport reservationschema from \"./schemas/reservation.js\";\nimport roomschema from \"./schemas/room.js\";\nimport sceneschema from \"./schemas/scene.js\";\nimport shortLinkschema from \"./schemas/shortLink.js\";\nimport smsMessageschema from \"./schemas/smsMessage.js\";\nimport spaceschema from \"./schemas/space.js\";\nimport switchschema from \"./schemas/switch.js\";\nimport systemUserschema from \"./schemas/systemUser.js\";\nimport thermostatschema from \"./schemas/thermostat.js\";\nimport ticketschema from \"./schemas/ticket.js\";\nimport timeSheetschema from \"./schemas/timeSheet.js\";\nimport userschema from \"./schemas/user.js\";\nimport vendorschema from \"./schemas/vendor.js\";\nimport windowCoveringschema from \"./schemas/windowCovering.js\";\n\nconst schemas = [\n alarmschema,\n announcementschema,\n automationschema,\n cameraschema,\n categoryschema,\n courtesyschema,\n credentialschema,\n definitionsschema,\n deviceRouterschema,\n dimmerschema,\n discoveredDeviceschema,\n emailMessageschema,\n energyReportschema,\n energyReportShardschema,\n gatewayschema,\n identificationschema,\n issueschema,\n lockschema,\n logschema,\n mediaFileschema,\n mediaSourceschema,\n motionSensorschema,\n orderschema,\n organizationschema,\n paymentschema,\n policyschema,\n productschema,\n propertyschema,\n reservationschema,\n roomschema,\n sceneschema,\n shortLinkschema,\n smsMessageschema,\n spaceschema,\n switchschema,\n systemUserschema,\n thermostatschema,\n ticketschema,\n timeSheetschema,\n userschema,\n vendorschema,\n windowCoveringschema,\n];\n\nconst ajv = new Ajv({\n allErrors: true,\n useDefaults: true,\n strict: false,\n allowMatchingProperties: true,\n allowUnionTypes: true,\n strictRequired: false,\n schemas: schemas,\n});\n\naddFormats(ajv);\n\nexport const validateAlarm = ajv.compile(alarmschema);\nexport const validateAnnouncement = ajv.compile(announcementschema);\nexport const validateAutomation = ajv.compile(automationschema);\nexport const validateCamera = ajv.compile(cameraschema);\nexport const validateCategory = ajv.compile(categoryschema);\nexport const validateCourtesy = ajv.compile(courtesyschema);\nexport const validateCredential = ajv.compile(credentialschema);\nexport const validateDeviceRouter = ajv.compile(deviceRouterschema);\nexport const validateDimmer = ajv.compile(dimmerschema);\nexport const validateDiscoveredDevice = ajv.compile(discoveredDeviceschema);\nexport const validateEmailMessage = ajv.compile(emailMessageschema);\nexport const validateEnergyReport = ajv.compile(energyReportschema);\nexport const validateEnergyReportShard = ajv.compile(energyReportShardschema);\nexport const validateGateway = ajv.compile(gatewayschema);\nexport const validateIdentification = ajv.compile(identificationschema);\nexport const validateIssue = ajv.compile(issueschema);\nexport const validateLock = ajv.compile(lockschema);\nexport const validateLog = ajv.compile(logschema);\nexport const validateMediaFile = ajv.compile(mediaFileschema);\nexport const validateMediaSource = ajv.compile(mediaSourceschema);\nexport const validateMotionSensor = ajv.compile(motionSensorschema);\nexport const validateOrder = ajv.compile(orderschema);\nexport const validateOrganization = ajv.compile(organizationschema);\nexport const validatePayment = ajv.compile(paymentschema);\nexport const validatePolicy = ajv.compile(policyschema);\nexport const validateProduct = ajv.compile(productschema);\nexport const validateProperty = ajv.compile(propertyschema);\nexport const validateReservation = ajv.compile(reservationschema);\nexport const validateRoom = ajv.compile(roomschema);\nexport const validateScene = ajv.compile(sceneschema);\nexport const validateShortLink = ajv.compile(shortLinkschema);\nexport const validateSmsMessage = ajv.compile(smsMessageschema);\nexport const validateSpace = ajv.compile(spaceschema);\nexport const validateSwitch = ajv.compile(switchschema);\nexport const validateSystemUser = ajv.compile(systemUserschema);\nexport const validateThermostat = ajv.compile(thermostatschema);\nexport const validateTicket = ajv.compile(ticketschema);\nexport const validateTimeSheet = ajv.compile(timeSheetschema);\nexport const validateUser = ajv.compile(userschema);\nexport const validateVendor = ajv.compile(vendorschema);\nexport const validateWindowCovering = ajv.compile(windowCoveringschema);\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"alarm.json\",\n title: \"Alarm\",\n description: \"Any smart alarm system\",\n type: \"object\",\n required: [\"id\", \"type\", \"areas\", \"zones\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n description: \"Name of the alarm\",\n },\n offline: {\n type: \"boolean\",\n },\n type: {\n type: \"string\",\n enum: [\"alarm\"],\n default: \"alarm\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n areas: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n number: {\n type: \"number\",\n },\n name: {\n type: \"string\",\n },\n securityMode: {\n type: [\"string\", \"null\"],\n enum: [\"arming\", \"disarming\", \"armed\", \"disarmed\", \"alarm\", null],\n },\n },\n additionalProperties: false,\n },\n },\n zones: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n number: {\n type: \"number\",\n minimum: 0,\n },\n name: {\n type: \"string\",\n },\n secure: {\n type: [\"boolean\", \"null\"],\n },\n bypassed: {\n type: [\"boolean\", \"null\"],\n },\n },\n additionalProperties: false,\n },\n },\n chime: {\n type: \"boolean\",\n description: \"Reflects whether console chime is enabled\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"announcement.json\",\n title: \"Announcement\",\n description: \"Announcement message sent to users\",\n type: \"object\",\n properties: {\n id: { $ref: \"definitions.json#/definitions/id\" },\n type: {\n type: \"string\",\n enum: [\"announcement\"],\n default: \"announcement\",\n },\n users: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n minItems: 1,\n },\n group: {\n type: \"string\",\n },\n body: {\n type: \"string\",\n },\n media: {\n $ref: \"mediaFile.json\",\n },\n sentBy: {\n type: \"string\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n additionalProperties: false,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"automation.json\",\n title: \"Automation\",\n description: \"An automation is a collection of triggers and actions\",\n type: \"object\",\n required: [\"id\", \"type\", \"trigger\", \"actions\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n description: \"The friendly name of the automation\",\n },\n type: {\n type: \"string\",\n enum: [\"automation\"],\n default: \"automation\",\n },\n isEnabled: {\n type: \"boolean\",\n description: \"Whether the automation is currently enabled\",\n default: true,\n },\n\n trigger: {\n type: \"object\",\n description: \"The trigger that initiates the automation\",\n required: [\"discriminator\", \"schedule\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"time\"],\n description: \"Type of trigger\",\n },\n // Time-based trigger properties\n schedule: {\n type: \"object\",\n description: \"Schedule for time-based triggers\",\n required: [\"days\", \"time\", \"timezone\"],\n properties: {\n days: {\n type: \"array\",\n description: \"Days of the week (0 = Sunday, 6 = Saturday)\",\n items: {\n type: \"integer\",\n minimum: 0,\n maximum: 6,\n },\n },\n time: {\n type: \"string\",\n description: \"Time of day to trigger the automation\",\n },\n timeOffsetSeconds: {\n type: \"integer\",\n description: \"Offset in seconds from the scheduled time\",\n default: 0,\n },\n repeat: {\n type: \"boolean\",\n description: \"Whether the schedule repeats\",\n default: true,\n },\n timezone: {\n type: \"string\",\n description: \"Timezone for the schedule (IANA timezone format)\",\n },\n },\n },\n },\n },\n actions: {\n type: \"array\",\n description: \"Actions to perform when the trigger conditions are met\",\n items: {\n type: \"object\",\n required: [\"deviceId\", \"roomId\", \"discriminator\", \"state\"],\n properties: {\n deviceId: {\n type: \"string\",\n description: \"ID of the device to control\",\n },\n roomId: {\n type: \"string\",\n description: \"ID of the room containing the device\",\n },\n discriminator: {\n type: \"string\",\n description:\n \"Type discriminator for the device (e.g., 'windowCovering', 'switch')\",\n },\n duration: {\n type: \"integer\",\n description:\n \"Duration in seconds to keep the device in the configured state\",\n minimum: 0,\n },\n state: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"property\", \"value\"],\n properties: {\n property: {\n type: \"string\",\n description:\n \"Property to set (e.g., 'state', 'level', 'setpoint')\",\n },\n value: {\n type: [\"string\", \"number\", \"boolean\"],\n description: \"Value to set the property to\",\n },\n },\n },\n },\n },\n },\n minItems: 1,\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n lastTriggeredAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was last triggered\",\n },\n },\n additionalProperties: false,\n};\n\nexport const getters = {\n /**\n * Check if the automation is time-based\n * @returns {boolean} True if the automation is time-based\n */\n isTimeBased() {\n return (\n this.discriminator === \"time\" ||\n (this.trigger && this.trigger.type === \"time\")\n );\n },\n\n /**\n * Check if the automation is device-based\n * @returns {boolean} True if the automation is device-based\n */\n isDeviceBased() {\n return (\n this.discriminator === \"device\" ||\n (this.trigger && this.trigger.type !== \"time\")\n );\n },\n\n /**\n * Check if the automation is repeating (only applicable for time-based automations)\n * @returns {boolean} True if the automation repeats\n */\n isRepeating() {\n return this.isTimeBased() && this.trigger?.schedule?.repeat !== false;\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"camera.json\",\n title: \"Camera\",\n description: \"Any smart camera\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"camera\"],\n default: \"camera\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n liveStreams: {\n type: \"object\",\n additionalProperties: false,\n $comment:\n \"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.\",\n properties: {\n iframe: {\n type: [\"string\", \"null\"],\n },\n hls: {\n type: [\"string\", \"null\"],\n },\n webRTC: {\n type: [\"string\", \"null\"],\n },\n rtsp: {\n type: [\"string\", \"null\"],\n },\n },\n },\n liveStream: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n enum: [\n \"cloudflare-stream\",\n \"aws-kinesis\",\n \"digital-watchdog\",\n \"mediamtx\",\n ],\n },\n allowedOrigins: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n authRequired: {\n type: \"boolean\",\n },\n iframe: {\n type: [\"string\", \"null\"],\n },\n hls: {\n type: [\"string\", \"null\"],\n },\n webRTC: {\n type: [\"string\", \"null\"],\n },\n rtsp: {\n type: [\"string\", \"null\"],\n description: \"Local RTSP stream URL\",\n examples: [\n \"rtsp://192.168.1.4:544/channels/1\",\n \"rtsp://10.145.6.129:8554/unicast\",\n ],\n },\n previewImage: {\n type: [\"string\", \"null\"],\n description: \"Source to preview the camera stream\",\n examples: [\n \"https://example.com/preview.jpg\",\n \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA\",\n ],\n },\n },\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"category.json\",\n title: \"Category\",\n type: \"object\",\n required: [\"id\", \"type\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"category\"],\n default: \"category\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n description: {\n type: \"string\",\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 10,\n default: 9,\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"product\", \"mediaFile\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"courtesy.json\",\n title: \"Courtesy\",\n description: \"Any smart courtesy system\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\", \"supportedStates\", \"state\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedStates: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\"privacy\", \"service\", \"none\"],\n },\n },\n state: {\n type: \"string\",\n $ref: \"#/properties/supportedStates/items\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"credential.json\",\n title: \"Credential\",\n type: \"object\",\n required: [\"type\", \"credential\", \"expires\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"credential\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"verificationCode\",\n \"token\",\n \"mobileKey\",\n \"pin\",\n \"publicKey\",\n \"passkeyChallenge\",\n ],\n },\n credential: {\n type: \"string\",\n },\n userId: {\n type: \"string\",\n },\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n deviceId: {\n type: \"string\",\n },\n userAgent: {\n type: \"string\",\n },\n expires: {\n type: [\"string\", \"object\", \"null\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"definitions.json\",\n title: \"Definitions\",\n definitions: {\n id: {\n type: \"string\",\n description: \"Identifier of the object.\",\n not: {\n enum: [\"global\", \"system\"],\n },\n },\n systemId: {\n type: \"string\",\n description: \"Identifier of the object, directly related to the system.\",\n },\n systemData: {\n type: \"object\",\n },\n metadata: {\n type: \"object\",\n default: {},\n },\n date: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n createdAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n updatedAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n file: {\n type: \"object\",\n required: [\"name\", \"type\", \"data\"],\n properties: {\n name: {\n type: \"string\",\n description: \"Name of the file.\",\n },\n type: {\n type: \"string\",\n description: \"MIME type of the file (e.g. application/pdf).\",\n },\n data: {\n type: \"string\",\n description: \"Base64-encoded data of the file.\",\n },\n },\n },\n address: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n line1: {\n type: \"string\",\n },\n line2: {\n type: \"string\",\n },\n line3: {\n type: \"string\",\n },\n city: {\n type: \"string\",\n },\n state: {\n type: \"string\",\n },\n postalCode: {\n type: \"string\",\n },\n countryCode: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n },\n },\n driver: {\n type: \"string\",\n description: \"Driver used to communicate with the object.\",\n enum: [\n \"adlink\",\n \"aws-kinesis\",\n \"bacnet\",\n \"butler\",\n \"comelit\",\n \"crestron\",\n \"dell\",\n \"distech\",\n \"dmp\",\n \"doorbird\",\n \"dormakaba\",\n \"dsc\",\n \"ecobee\",\n \"epson\",\n \"geovision-rs\",\n \"geovision-as-manager\",\n \"honeywell-vista\",\n \"igor\",\n \"inncom\",\n \"isapi\",\n \"kohost-k7\",\n \"kohost\",\n \"lg\",\n \"lg-webos\",\n \"lapi\",\n \"lirc\",\n \"mews\",\n \"mht\",\n \"paxton\",\n \"pelican-wireless\",\n \"power-shades\",\n \"rachio\",\n \"rebrandly\",\n \"relay\",\n \"rtsp\",\n \"salto\",\n \"salto-irn\",\n \"samsung\",\n \"se\",\n \"sendgrid\",\n \"sonifi\",\n \"stay-n-touch\",\n \"storable\",\n \"twilio\",\n \"unifi\",\n \"valcom\",\n \"vivotek\",\n \"vizio\",\n \"wisenet\",\n \"cloudflare-images\",\n \"cloudflare-stream\",\n \"insperia-privacy\",\n ],\n },\n type: {\n type: \"string\",\n enum: [\n \"alarm\",\n \"dimmer\",\n \"switch\",\n \"motionSensor\",\n \"windowCovering\",\n \"camera\",\n \"mediaSource\",\n \"thermostat\",\n \"lock\",\n \"courtesy\",\n \"gateway\",\n \"tv\",\n \"dvr\",\n \"appleTv\",\n \"discPlayer\",\n \"mediaPlayer\",\n \"uncontrolledDevice\",\n ],\n },\n name: {\n type: \"string\",\n },\n supportedNotifications: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\n \"button 1\",\n \"button 2\",\n \"button 3\",\n \"button 4\",\n \"button 5\",\n \"idle\",\n \"powerHasBeedApplied\",\n \"acMainsDisconnected\",\n \"acMainsReconnected\",\n \"replaceBatterySoon\",\n \"replaceBatteryNow\",\n \"batteryOk\",\n \"hardwareFailure\",\n \"softwareFailure\",\n \"hardwareFailureWithCode\",\n \"softwareFailureWithCode\",\n \"motionDetection\",\n \"airFilterNeedsCleaned\",\n \"airFilterNeedsReplaced\",\n \"smokeDetected\",\n \"outsideSafeTemperatureRange\",\n \"outsideSafeHumidityRange\",\n \"scheduleMaintenance\",\n \"doorAjar\",\n \"communicationFailure\",\n \"communicationOk\",\n \"burglarAlarm\",\n \"fireAlarm\",\n ],\n },\n },\n notification: {\n type: [\"object\", \"null\"],\n properties: {\n name: {\n type: \"string\",\n $ref: \"#/definitions/supportedNotifications/items\",\n },\n timestamp: {\n type: \"number\",\n minimum: 1655907956593,\n },\n description: {\n type: \"string\",\n },\n },\n },\n batteryLevel: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n watts: {\n type: \"number\",\n minimum: 0,\n },\n revenue: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n date: {\n type: \"string\",\n format: \"date-time\",\n },\n price: {\n type: \"number\",\n },\n tax: {\n type: [\"number\", \"null\"],\n },\n },\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"deviceRouter.json\",\n title: \"Device Router\",\n description:\n \"A device router contains instructions on where to route devices based on their organization and driver.\",\n type: \"object\",\n required: [\"driver\", \"organizationId\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"deviceRouter\",\n enum: [\"deviceRouter\"],\n },\n driver: {\n type: \"string\",\n },\n organizationId: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the organization that owns this router\",\n },\n devices: {\n type: \"object\",\n additionalProperties: true,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"dimmer.json\",\n title: \"Dimmer\",\n description: \"Any smart dimmer\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n level: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 100,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"level\", \"driver\"],\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"discoveredDevice.json\",\n title: \"Discovered Device\",\n description:\n \"A device that has been discovered by Kohost, but not yet added to the Kohost system.\",\n type: \"object\",\n required: [\"name\", \"deviceId\", \"deviceData\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n deviceId: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"discoveredDevice\"],\n default: \"discoveredDevice\",\n },\n discriminator: {\n $ref: \"definitions.json#/definitions/type\",\n },\n driver: {\n type: \"string\",\n },\n deviceData: {\n type: \"object\",\n },\n ignore: {\n type: \"boolean\",\n },\n organizationId: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the organization that owns this device\",\n },\n propertyId: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the property that this device belongs to\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"emailMessage.json\",\n title: \"Email Message\",\n type: \"object\",\n required: [\"to\", \"from\", \"status\", \"subject\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"emailMessage\",\n enum: [\"emailMessage\"],\n },\n to: {\n type: \"string\",\n pattern: \"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\\\.[a-zA-Z0-9-.]+$\",\n },\n from: {\n type: \"string\",\n pattern: \".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\\\.[a-zA-Z0-9-.]+>.*\",\n description: \"Must be in the format of 'Sender <email@example.com>\",\n },\n subject: {\n type: \"string\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"sending\",\n \"sent\",\n \"deferred\",\n \"delivered\",\n \"undelivered\",\n \"bounced\",\n \"blocked\",\n \"receiving\",\n \"received\",\n \"opened\",\n \"clicked\",\n \"unsubscribed\",\n \"spamReport\",\n ],\n },\n statusMessage: {\n type: \"string\",\n },\n html: {\n type: \"string\",\n },\n text: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n appData: {\n type: \"object\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"energyReport.json\",\n title: \"Energy Report\",\n description: \"Hourly Report for Energy based on energy report shards\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"roomId\",\n \"first\",\n \"last\",\n \"consumption\",\n \"totals\",\n \"costPerKw\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"energyReport\"],\n default: \"energyReport\",\n },\n reportTime: {\n type: \"string\",\n enum: [\"hourly\", \"daily\", \"monthly\"],\n },\n roomId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n first: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n last: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n consumption: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"id\", \"type\", \"kwh\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n kwh: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n totals: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"lights\", \"climate\", \"media\"],\n properties: {\n lights: {\n type: \"number\",\n minimum: 0,\n },\n climate: {\n type: \"number\",\n minimum: 0,\n },\n media: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n costPerKw: {\n type: \"number\",\n minimum: 0,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"energyReportShard.json\",\n title: \"Energy Report Shard\",\n description: \"Shard used for Energy Reports\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"roomId\",\n \"first\",\n \"last\",\n \"data\",\n \"ndata\",\n \"expires\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"energyReportShard\"],\n default: \"energyReportShard\",\n },\n roomId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n first: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n last: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n data: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"time\", \"watts\", \"id\", \"type\", \"value\"],\n properties: {\n time: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n },\n },\n },\n },\n ndata: {\n type: \"integer\",\n minimum: 0,\n maximum: 100000,\n default: 0,\n },\n expires: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"iotGateway.json\",\n title: \"Gateway\",\n description:\n \"Any smart gateway that is an entrypoint for controlling devices\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n offline: {\n type: \"boolean\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n status: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"status\", \"driver\"],\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"identification.json\",\n title: \"Identification\",\n type: \"object\",\n required: [\"type\"],\n additionalProperties: false,\n oneOf: [\n {\n required: [\"number\"],\n },\n {\n required: [\"encryptedNumber\"],\n },\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"driversLicense\", \"passport\", \"identityCard\", \"visa\"],\n },\n number: {\n type: \"string\",\n },\n maskedNumber: {\n type: \"string\",\n },\n encryptedNumber: {\n type: \"string\",\n },\n issued: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n expires: {\n type: [\"string\", \"object\", \"null\"],\n format: \"date-time\",\n },\n verified: {\n type: \"boolean\",\n },\n matched: {\n type: \"boolean\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n issuingCountry: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"issue.json\",\n title: \"Issue\",\n description: \"An issue associated with ticketing and concierge.\",\n type: \"object\",\n required: [\"id\", \"type\", \"name\", \"department\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"issue\"],\n default: \"issue\",\n },\n name: {\n type: \"string\",\n },\n description: {\n type: \"string\",\n },\n department: {\n type: \"string\",\n },\n autoAssign: {\n type: \"object\",\n properties: {\n userId: {\n type: \"string\",\n description: \"The user ID to assign tickets with this issue to.\",\n },\n vendorId: {\n type: \"string\",\n description: \"The vendor ID to assign tickets with this issue to.\",\n },\n priority: {\n $ref: \"ticket.json#/properties/priority\",\n description: \"The priority to assign tickets with this issue to.\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n notify: {\n type: \"array\",\n description: \"A list of entities to notify when this issue is triggered.\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"discriminator\"],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the entity to notify.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n },\n },\n },\n systemKey: {\n type: \"string\",\n },\n autoCreateTicket: {\n type: \"boolean\",\n default: true,\n },\n excludedResources: {\n type: \"array\",\n description:\n \"A list of resources that should not trigger notifications of this issue\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"lock.json\",\n title: \"Lock\",\n description: \"Any smart lock\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n state: {\n type: [\"string\", \"null\"],\n enum: [\"locked\", \"unlocked\", null],\n },\n mode: {\n type: [\"string\", \"null\"],\n enum: [\n \"normal\",\n \"autoLock\",\n \"emergencyOpen\",\n \"emergencyClose\",\n \"holdOpen\",\n \"lockdown\",\n null,\n ],\n description:\n \"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated\",\n default: null,\n },\n supportedModes: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\n \"normal\",\n \"autoLock\",\n \"emergencyOpen\",\n \"emergencyClose\",\n \"holdOpen\",\n \"lockdown\",\n null,\n ],\n },\n },\n batteryLevel: {\n $ref: \"definitions.json#/definitions/batteryLevel\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"state\", \"driver\"],\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"log.json\",\n title: \"Log\",\n type: \"object\",\n required: [\"type\", \"timestamp\", \"id\", \"driver\", \"name\"],\n properties: {\n type: {\n type: \"string\",\n default: \"log\",\n enum: [\"log\"],\n },\n timestamp: {\n type: \"number\",\n minimum: 1655907956593,\n },\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n name: {\n type: \"string\",\n description: \"Event name\",\n },\n field1: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field2: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field3: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field4: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field5: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field6: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"mediaFile.json\",\n title: \"Media File\",\n description: \"Any media file\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"mediaFile\",\n enum: [\"mediaFile\"],\n },\n name: {\n type: \"string\",\n },\n fileHash: {\n type: \"string\",\n },\n category: {\n type: \"string\",\n description: \"This is the category id\",\n },\n mimeType: {\n type: \"string\",\n enum: [\n \"image/*\",\n \"image/jpeg\",\n \"image/png\",\n \"image/gif\",\n \"image/webp\",\n \"image/avif\",\n \"image/svg+xml\",\n \"application/pdf\",\n ],\n },\n data: {\n type: \"string\",\n },\n url: {\n type: \"string\",\n format: \"uri\",\n },\n width: {\n type: \"integer\",\n minimum: 0,\n },\n height: {\n type: \"integer\",\n minimum: 0,\n },\n size: {\n type: \"integer\",\n minimum: 0,\n description: \"Size in bytes\",\n },\n uploadUrl: {\n type: \"string\",\n format: \"uri\",\n },\n uploadUrlExpires: {\n $ref: \"definitions.json#/definitions/date\",\n },\n createdBy: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n additionalProperties: false,\n required: [\"type\"],\n};\n\nfunction createImageVariant(params) {\n if (this.mimeType != \"image/*\")\n throw new Error(\"Only dynamic images can have variants\");\n if (!this.url) throw new Error(\"MediaFile has no url\");\n // convert params to \"key=value\" pairs\n const query = Object.keys(params)\n .map((key) => `${key}=${params[key]}`)\n .join(\",\");\n\n // replace the final /public with the query above\n return this.url.replace(/\\/public$/, `/${query}`);\n}\n\nexport const methods = {\n createImageVariant: createImageVariant,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"mediaSource.json\",\n title: \"Media Source\",\n description: \"Any media source\",\n type: \"object\",\n required: [\"id\", \"type\", \"discriminator\", \"audio\", \"video\", \"driver\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"mediaSource\",\n enum: [\"mediaSource\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"tv\",\n \"dvr\",\n \"appleTv\",\n \"discPlayer\",\n \"mediaPlayer\",\n \"paSystem\",\n \"uncontrolledDevice\",\n ],\n },\n playlists: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n },\n },\n },\n remote: {\n type: \"string\",\n enum: [\n \"MR22GA\",\n \"XRT260\",\n \"XRT270\",\n \"HOF-16K 1.2\",\n \"219863500\",\n \"SONIFI\",\n \"AKB76039803\",\n \"BN59-01388A\",\n ],\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n audio: {\n type: \"boolean\",\n },\n video: {\n type: \"boolean\",\n },\n powerFeedback: {\n type: \"boolean\",\n },\n volumeFeedback: {\n type: \"boolean\",\n },\n muted: {\n type: \"boolean\",\n },\n volume: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n brightness: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n contrast: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n power: {\n type: \"string\",\n enum: [\"on\", \"off\"],\n },\n input: {\n type: \"string\",\n },\n supportedInputs: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n supportedOutputs: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n command: {\n type: [\"string\", \"null\"],\n enum: [\n \"mute\",\n \"volumeUp\",\n \"volumeDown\",\n \"brightnessUp\",\n \"brightnessDown\",\n \"channelUp\",\n \"channelDown\",\n \"number0\",\n \"number1\",\n \"number2\",\n \"number3\",\n \"number4\",\n \"number5\",\n \"number6\",\n \"number7\",\n \"number8\",\n \"number9\",\n \"lastChannel\",\n \"display\",\n \"favoriteChannel\",\n \"play\",\n \"playing\",\n \"stop\",\n \"stopped\",\n \"pause\",\n \"paused\",\n \"fastForward\",\n \"fastForwarding\",\n \"rewind\",\n \"rewinding\",\n \"instantReplay\",\n \"record\",\n \"ac3\",\n \"pvrMenu\",\n \"guide\",\n \"menu\",\n \"menuUp\",\n \"menuDown\",\n \"menuLeft\",\n \"menuRight\",\n \"pageUp\",\n \"pageDown\",\n \"select\",\n \"exit\",\n \"input\",\n \"power\",\n \"enterChannel\",\n \"enterVolume\",\n \"enterBrightness\",\n \"enterContrast\",\n \"number10\",\n \"number11\",\n \"number12\",\n \"number13\",\n \"number14\",\n \"number15\",\n \"number16\",\n \"number10Plus\",\n \"number20Plus\",\n \"number100\",\n \"dash\",\n \"threeChan\",\n \"threeD\",\n \"sixChan\",\n \"a\",\n \"add\",\n \"alarm\",\n \"am\",\n \"analog\",\n \"angle\",\n \"antenna\",\n \"antennaEast\",\n \"antennaWest\",\n \"aspect\",\n \"audio1\",\n \"audio2\",\n \"audio3\",\n \"audioDumming\",\n \"audioLevelDown\",\n \"audioLevelUp\",\n \"b\",\n \"back\",\n \"c\",\n \"component1\",\n \"component2\",\n \"component3\",\n \"d\",\n \"home\",\n \"list\",\n \"liveTv\",\n \"discreteInputCable\",\n \"powerOff\",\n \"powerOn\",\n \"setupMenu\",\n \"skipForward\",\n \"skipReverse\",\n \"video1\",\n \"video2\",\n \"video3\",\n \"video4\",\n \"video5\",\n \"details\",\n \"hdmi1\",\n \"hdmi2\",\n \"hdmi3\",\n \"cecDeviceList\",\n \"mtsSap\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"alert\",\n \"order\",\n ],\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n additionalProperties: false,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"motionSensor.json\",\n title: \"Motion Sensor\",\n description: \"Any smart motion sensor\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n offline: {\n type: \"boolean\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"order.json\",\n title: \"Order\",\n description: \"A purchase order for products or services.\",\n type: \"object\",\n required: [\"type\", \"status\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"order\",\n enum: [\"order\"],\n },\n orderNumber: {\n type: \"string\",\n },\n status: {\n type: \"string\",\n enum: [\n \"draft\",\n \"pendingPayment\",\n \"processing\",\n \"outForDelivery\",\n \"completed\",\n \"paymentFailed\",\n \"cancelled\",\n \"refunded\",\n ],\n },\n userId: {\n $ref: \"definitions.json#/definitions/id\",\n description: \"User id of purchaser\",\n },\n reservationId: {\n $ref: \"definitions.json#/definitions/id\",\n description: \"Reservation id if the order is for a reservation\",\n },\n date: {\n $ref: \"definitions.json#/definitions/date\",\n },\n items: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"price\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n sku: {\n type: \"string\",\n },\n quantity: {\n type: \"number\",\n default: 1,\n },\n price: {\n type: \"number\",\n },\n taxClass: {\n type: \"string\",\n },\n deliveryClass: {\n type: \"string\",\n },\n productId: {\n type: \"string\",\n },\n },\n },\n },\n taxes: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"rate\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n class: {\n type: \"string\",\n },\n rateType: {\n type: \"string\",\n enum: [\"percentage\", \"flat\"],\n default: \"percentage\",\n },\n rate: {\n type: \"number\",\n },\n total: {\n type: \"number\",\n },\n },\n },\n },\n fees: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"price\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n price: {\n type: \"number\",\n },\n },\n },\n },\n delivery: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"rate\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n class: {\n type: \"string\",\n },\n rateType: {\n type: \"string\",\n enum: [\"percentage\", \"flat\"],\n default: \"percentage\",\n },\n rate: {\n type: \"number\",\n },\n total: {\n type: \"number\",\n },\n },\n },\n },\n payments: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n method: {\n type: \"string\",\n enum: [\n \"folio\",\n \"invoice\",\n \"amex\",\n \"visa\",\n \"masterCard\",\n \"maestro\",\n \"discover\",\n \"diners\",\n \"jcb\",\n \"applePay\",\n \"alipay\",\n \"chinaUnionPay\",\n \"vpay\",\n ],\n },\n name: {\n type: \"string\",\n },\n date: {\n $ref: \"definitions.json#/definitions/date\",\n },\n amount: {\n type: \"number\",\n },\n transactionReference: {\n type: \"string\",\n },\n },\n },\n },\n },\n};\n\nfunction getSubTotal() {\n return this.items.reduce((acc, item) => {\n const qty = item.quantity || 1;\n return acc + item.price * qty;\n }, 0);\n}\n\nfunction getTaxTotal() {\n const taxes = this.taxes;\n if (!taxes) return 0;\n return this.items.reduce((acc, item) => {\n if (!item.taxClass) return acc;\n const tax = taxes.find((t) => t.class === item.taxClass);\n if (!tax) return acc;\n const { rateType, rate } = tax;\n if (rateType === \"percentage\") {\n return acc + item.price * rate;\n }\n if (rateType === \"flat\") {\n return acc + rate;\n }\n return acc + rate;\n }, 0);\n}\n\nfunction getDeliveryTotal() {\n const delivery = this.delivery;\n if (!delivery) return 0;\n return this.items.reduce((acc, item) => {\n if (!item.deliveryClass) return acc;\n const d = delivery.find((d) => d.class === item.deliveryClass);\n if (!d) return acc;\n const { rateType, rate } = d;\n if (rateType === \"percentage\") {\n return acc + item.price * rate;\n }\n return acc + rate;\n }, 0);\n}\n\nfunction getFeesTotal() {\n const fees = this.fees;\n return fees.reduce((acc, fee) => {\n return acc + fee.price;\n }, 0);\n}\n\nfunction getTotal() {\n return (\n this.getSubTotal() +\n this.getTaxTotal() +\n this.getDeliveryTotal() +\n this.getFeesTotal()\n );\n}\n\nfunction getPaymentsTotal() {\n return this.payments.reduce((acc, payment) => {\n return acc + payment.amount;\n }, 0);\n}\n\nfunction getBalance() {\n return this.getTotal() - this.getPaymentsTotal();\n}\n\nexport const methods = {\n getSubTotal: getSubTotal,\n getTaxTotal: getTaxTotal,\n getDeliveryTotal: getDeliveryTotal,\n getFeesTotal: getFeesTotal,\n getTotal: getTotal,\n getPaymentsTotal: getPaymentsTotal,\n getBalance: getBalance,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"organization.json\",\n title: \"Organization\",\n type: \"object\",\n description:\n \"An organization is a group or entity that subscribes to Kohost software.\",\n required: [\"accountNumber\", \"name\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"organization\",\n enum: [\"organization\"],\n },\n accountNumber: {\n type: [\"number\", \"null\"],\n minimum: 10000,\n },\n name: {\n type: \"string\",\n },\n properties: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n hostname: {\n type: [\"string\", \"null\"],\n },\n appManifest: {\n type: \"object\",\n\n properties: {\n name: {\n type: \"string\",\n },\n short_name: {\n type: \"string\",\n },\n scope: {\n type: \"string\",\n },\n start_url: {\n type: \"string\",\n },\n themeColor: {\n type: \"string\",\n },\n backgroundColor: {\n type: \"string\",\n },\n display: {\n type: \"string\",\n enum: [\"fullscreen\", \"standalone\", \"minimal-ui\", \"browser\"],\n default: \"fullscreen\",\n },\n orientation: {\n type: \"string\",\n enum: [\"portrait\", \"landscape\"],\n default: \"portrait\",\n },\n splash: {\n type: \"object\",\n properties: {\n src: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n },\n sizes: {\n type: \"string\",\n },\n },\n },\n icons: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n src: {\n type: \"string\",\n },\n sizes: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n },\n },\n },\n },\n logo: {\n type: \"object\",\n properties: {\n src: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n },\n sizes: {\n type: \"string\",\n },\n },\n },\n },\n default: {\n name: \"Kohost\",\n short_name: \"Kohost\",\n start_url: \"/\",\n scope: \"/\",\n display: \"fullscreen\",\n orientation: \"portrait\",\n theme_color: \"#1d1f22\",\n background_color: \"#1d1f22\",\n icons: [\n {\n src: \"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512\",\n sizes: \"512x512\",\n type: \"image/png\",\n },\n ],\n splash: {\n src: \"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500\",\n sizes: \"1500x800\",\n type: \"image/jpg\",\n },\n logo: {\n src: \"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75\",\n sizes: \"300x75\",\n type: \"image/png\",\n },\n },\n },\n tickets: {\n type: \"object\",\n properties: {\n nextTicketNumber: {\n type: [\"string\", \"integer\"],\n default: 1,\n },\n },\n },\n credentials: {\n type: \"object\",\n additionalProperties: true,\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"payment.json\",\n title: \"Payment\",\n type: \"object\",\n required: [\"type\", \"maskedNumber\", \"expires\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\n \"amex\",\n \"visa\",\n \"masterCard\",\n \"maestro\",\n \"discover\",\n \"diners\",\n \"jcb\",\n \"applePay\",\n \"alipay\",\n \"chinaUnionPay\",\n \"vpay\",\n ],\n },\n enabled: {\n type: \"boolean\",\n default: true,\n },\n storageData: {\n type: [\"string\", \"null\"],\n },\n maskedNumber: {\n type: \"string\",\n },\n issued: {\n type: [\"string\", \"null\"],\n },\n expires: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"policy.json\",\n title: \"Policy\",\n description:\n \"A policy is a set of permissions that can be applied to a user to limit their access to resources.\",\n type: \"object\",\n required: [\n \"name\",\n \"type\",\n \"organizationId\",\n \"propertyId\",\n \"permissions\",\n \"discriminator\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"policy\",\n enum: [\"policy\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n description: {\n type: \"string\",\n },\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n permissions: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"entities\", \"effect\"],\n properties: {\n entities: {\n type: \"array\",\n items: {\n type: \"string\",\n pattern: \"^[^:]+(:.+)+$\",\n },\n },\n effect: {\n type: \"string\",\n enum: [\"Allow\", \"Deny\"],\n },\n },\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"product.json\",\n title: \"Product\",\n type: \"object\",\n required: [\"name\", \"price\", \"driver\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"product\",\n enum: [\"product\"],\n },\n name: {\n type: \"string\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n description: {\n type: \"string\",\n },\n price: {\n type: \"number\",\n },\n tax: {\n type: [\"number\", \"null\"],\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n category: {\n type: \"string\",\n },\n imageUrl: {\n type: \"string\",\n format: \"uri\",\n pattern: \"^https?://\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"property.json\",\n title: \"Property\",\n type: \"object\",\n description: \"A property is a physical asset or building\",\n required: [\"id\", \"name\", \"type\", \"organization\", \"timezone\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n default: \"property\",\n enum: [\"property\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\"hospitality\", \"education\", \"commercial\", \"storage\"],\n },\n organization: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the organization that owns this property\",\n },\n departments: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n testModeEnabled: {\n type: \"boolean\",\n },\n testMode: {\n type: \"object\",\n properties: {\n notificationEmails: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with these email addresses will receive notifications in test mode, including sms, email, or push.\",\n },\n notificationEmailDomains: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push.\",\n },\n },\n },\n timezone: {\n type: \"string\",\n description: \"IANA timezone string\",\n pattern: \"^([a-zA-Z]+/[a-zA-Z_]+)$\",\n examples: [\"America/New_York\", \"America/Los_Angeles\"],\n },\n smsNumber: {\n type: \"string\",\n },\n checkInTime: {\n type: \"string\",\n },\n checkOutTime: {\n type: \"string\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n latitude: {\n type: \"number\",\n },\n longitude: {\n type: \"number\",\n },\n appFeatures: {\n type: \"object\",\n properties: {\n RoomControl: {\n type: \"object\",\n properties: {\n disabledSystems: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\"climate\", \"lights\", \"shades\", \"tv\", \"doors\"],\n },\n },\n excludedDeviceIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n commonAreas: {\n type: \"object\",\n properties: {\n spaces: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n alarmConfig: {\n type: \"object\",\n patternProperties: {\n \"^[a-zA-Z0-9]+$\": {\n type: \"object\",\n properties: {\n zoneLockMap: {\n type: \"object\",\n description: \"Maps zone numbers to lock ids\",\n additionalProperties: { type: \"string\" },\n },\n },\n },\n },\n examples: [\n {\n wZz7hucY: {\n zoneLockMap: {\n 1: \"wc87hucc\",\n 2: \"bc86hzxc\",\n 3: \"zv5ah5jv\",\n },\n },\n },\n ],\n },\n },\n additionalProperties: false,\n },\n CheckIn: {\n type: \"object\",\n properties: {\n payment: {},\n identification: {},\n earlyCheckIn: {\n type: \"object\",\n required: [\"dynamic\"],\n properties: {\n dynamic: {\n type: \"boolean\",\n default: false,\n },\n minimumPrice: {\n type: \"number\",\n default: 10,\n },\n maximumPrice: {\n type: \"number\",\n default: 50,\n },\n priceRatioPerHour: {\n type: \"number\",\n default: 0.1,\n },\n minimumTime: {\n type: \"string\",\n },\n },\n },\n roomUpgrades: {},\n pet: {},\n promos: {},\n },\n },\n CheckOut: {\n type: \"object\",\n properties: {\n lateCheckOut: {\n type: \"object\",\n required: [\"dynamic\"],\n properties: {\n dynamic: {\n type: \"boolean\",\n default: false,\n },\n minimumPrice: {\n type: \"number\",\n default: 10,\n },\n maximumPrice: {\n type: \"number\",\n default: 50,\n },\n priceRatioPerHour: {\n type: \"number\",\n default: 0.1,\n },\n },\n },\n },\n },\n Concierge: {\n type: \"object\",\n properties: {\n timeTracking: {\n type: \"boolean\",\n default: false,\n },\n tipping: {\n type: \"boolean\",\n default: false,\n },\n feedback: {\n type: \"boolean\",\n default: true,\n },\n ratings: {\n type: \"boolean\",\n default: true,\n },\n newTicketCCs: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n newMessageChannel: {\n type: [\"string\", \"null\"],\n enum: [\"sms\", \"email\"],\n default: \"sms\",\n description:\n \"Determines how users should be notified of new messages in the concierge system\",\n },\n quickServices: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n description: {\n type: \"string\",\n },\n department: {\n type: \"string\",\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n },\n required: [\"name\", \"description\", \"image\"],\n },\n },\n issues: {\n type: \"object\",\n properties: {\n syncWithPropertyId: {\n type: \"string\",\n },\n },\n },\n },\n },\n DigitalKey: {\n type: \"object\",\n properties: {\n system: {\n type: \"string\",\n enum: [\"salto\", \"dormakaba\"],\n },\n systemOnline: {\n type: \"boolean\",\n default: false,\n },\n systemConfig: {\n type: \"object\",\n properties: {\n legicUrl: {\n type: \"string\",\n format: \"uri\",\n },\n legicWalletName: {\n type: \"string\",\n },\n legicAppId: {\n type: \"number\",\n },\n legicTechUsername: {\n type: \"string\",\n },\n legicTechPassword: {\n type: \"string\",\n },\n },\n additionalProperties: false,\n default: {},\n },\n enableApp: {\n type: \"boolean\",\n },\n branding: {\n type: \"object\",\n properties: {\n logo: {\n type: \"string\",\n format: \"uri\",\n },\n gradient: {\n type: \"array\",\n items: {\n type: \"string\",\n pattern: \"^(?!#ffffff)(#[0-9a-fA-F]{6})$\",\n },\n minItems: 2,\n maxItems: 2,\n },\n highlightedGradient: {\n type: \"array\",\n items: {\n type: \"string\",\n pattern: \"^(?!#ffffff)(#[0-9a-fA-F]{6})$\",\n },\n minItems: 2,\n maxItems: 3,\n },\n },\n },\n },\n },\n SOS: {\n type: \"object\",\n properties: {\n active: {\n type: \"boolean\",\n },\n activeEmergencies: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\n \"medical\",\n \"fire\",\n \"suspiciousPerson\",\n \"other\",\n \"conflict\",\n \"shooter\",\n ],\n },\n },\n },\n },\n Elevator: {\n type: \"object\",\n },\n Experiences: {\n type: \"object\",\n },\n Dining: {\n type: \"object\",\n properties: {\n system: {\n type: \"string\",\n enum: [\"gotab\"],\n },\n systemConfig: {\n type: \"object\",\n properties: {\n landingUrl: {\n type: \"string\",\n format: \"uri\",\n },\n includeUserDetails: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n },\n Rentals: { type: \"object\" },\n Shop: { type: \"object\" },\n Spa: { type: \"object\" },\n Valet: { type: \"object\" },\n },\n additionalProperties: false,\n default: {\n RoomControl: {},\n },\n },\n notifications: {\n type: \"object\",\n properties: {\n email: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n sms: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n push: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n additionalProperties: false,\n default: {\n email: {\n enabled: false,\n },\n sms: {\n enabled: false,\n },\n push: {\n enabled: false,\n },\n },\n },\n credentials: {\n type: \"object\",\n additionalProperties: true,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"reservation.json\",\n title: \"Reservation\",\n type: \"object\",\n required: [\"type\", \"status\", \"checkInDateTime\", \"checkOutDateTime\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n primaryGuest: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n default: \"reservation\",\n enum: [\"reservation\"],\n },\n sharedGuests: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n spaceCategory: {\n type: \"string\",\n },\n space: {\n type: [\"string\", \"null\"],\n },\n previousSpace: {\n type: [\"string\", \"null\"],\n default: null,\n description: \"Used when there was a space assigned and it changes\",\n },\n status: {\n type: \"string\",\n enum: [\n \"reserved\",\n \"checkedIn\",\n \"checkedOut\",\n \"cancelled\",\n \"noShow\",\n \"enquired\",\n \"requested\",\n \"optional\",\n ],\n description:\n \" reserved - confirmed by both parties, before check-in\\n checkedIn - checked in\\n checkedOut - checked out\\n cancelled - Cancelled\\n noShow - No show\\n enquired - Confirmed neither by the customer nor enterprise\\n requested - Confirmed by the customer but not the enterprise (waitlist)\\n optional - Confirmed by the enterprise but not the customer (holding)\",\n },\n mobileCheckInSpaceCategoryChanged: {\n type: \"boolean\",\n description: \"spaceCategory has changed from original.\",\n },\n mobileCheckInSpaceChanged: {\n type: \"boolean\",\n },\n mobileCheckInStatus: {\n type: \"string\",\n enum: [\n \"ready\",\n \"blocked\",\n \"preArrivalStepsRequired\",\n \"spaceNotAssigned\",\n \"spaceNotReady\",\n \"checkInTimeNotStarted\",\n ],\n },\n mobileCheckInStatusMessage: {\n type: \"string\",\n },\n confirmationNumber: {\n type: \"string\",\n },\n expectedCheckInDateTime: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n description: \"Expected arrival time of guest.\",\n },\n checkInDateTime: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n checkOutDateTime: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n adultCount: {\n type: \"number\",\n default: 1,\n minimum: 1,\n },\n childCount: {\n type: \"number\",\n default: 0,\n },\n\n spaceCategoryAvailabilites: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n price: {\n type: \"number\",\n },\n unit: {\n type: \"string\",\n enum: [\"night\", \"stay\", \"hour\"],\n },\n isUpgrade: {\n type: \"boolean\",\n },\n },\n },\n },\n revenue: {\n $ref: \"definitions.json#/definitions/revenue\",\n },\n rateSuppressed: {\n type: \"boolean\",\n },\n payment: {\n type: \"string\",\n },\n company: {\n type: \"string\",\n },\n travelAgent: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n metadata: {\n $ref: \"definitions.json#/definitions/metadata\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n};\n\nfunction checkInTime(tz) {\n return new Date(this.checkInDateTime).toLocaleString(\"default\", {\n hour: \"numeric\",\n minute: \"numeric\",\n timeZone: tz,\n });\n}\n\nfunction checkOutTime(tz) {\n return new Date(this.checkOutDateTime).toLocaleString(\"default\", {\n hour: \"numeric\",\n minute: \"numeric\",\n timeZone: tz,\n });\n}\n\nfunction getNights() {\n const start = new Date(this.checkInDateTime);\n const end = new Date(this.checkOutDateTime);\n let nights = Math.round((end - start) / (1000 * 60 * 60 * 24));\n if (nights <= 0) {\n nights = 1;\n }\n return nights;\n}\n\nexport const methods = {\n checkInTime,\n checkOutTime,\n getNights,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"room.json\",\n title: \"Room\",\n description: \"A room represents a physical space of controllable IoT devices\",\n type: \"object\",\n required: [\"id\", \"name\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"room\"],\n default: \"room\",\n },\n name: {\n type: \"string\",\n },\n floor: {\n type: \"string\",\n },\n dimmers: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"dimmer.json\",\n },\n },\n switches: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"switch.json\",\n },\n },\n thermostats: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"thermostat.json\",\n },\n },\n locks: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"lock.json\",\n },\n },\n windowCoverings: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"windowCovering.json\",\n },\n },\n courtesy: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"courtesy.json\",\n },\n },\n cameras: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"camera.json\",\n },\n },\n mediaSources: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"mediaSource.json\",\n },\n },\n motionSensors: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"motionSensor.json\",\n },\n },\n alarms: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"alarm.json\",\n },\n },\n occupiedAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n additionalProperties: false,\n};\n\nexport const getters = {\n /**\n * Check if the room has any dimmers\n * @returns {boolean} True if the room has dimmers, false otherwise\n */\n hasDimmer() {\n return this.dimmers?.length > 0;\n },\n\n /**\n * Check if the room has any switches\n * @returns {boolean} True if the room has switches, false otherwise\n */\n hasSwitch() {\n return this.switches?.length > 0;\n },\n\n /**\n * Check if the room has any window coverings\n * @returns {boolean} True if the room has window coverings, false otherwise\n */\n hasWindowCovering() {\n return this.windowCoverings?.length > 0;\n },\n\n /**\n * Alias for hasWindowCovering\n * @returns {boolean} True if the room has window coverings/shades, false otherwise\n */\n hasShade() {\n return this.hasWindowCovering;\n },\n\n /**\n * Check if the room has any thermostats\n * @returns {boolean} True if the room has thermostats, false otherwise\n */\n hasThermostat() {\n return this.thermostats?.length > 0;\n },\n\n /**\n * Alias for hasThermostat\n * @returns {boolean} True if the room has climate control, false otherwise\n */\n hasClimate() {\n return this.hasThermostat;\n },\n\n /**\n * Check if the room has any locks\n * @returns {boolean} True if the room has locks, false otherwise\n */\n hasLock() {\n return this.locks?.length > 0;\n },\n\n /**\n * Check if the room has any courtesy devices\n * @returns {boolean} True if the room has courtesy devices, false otherwise\n */\n hasCourtesy() {\n return this.courtesy?.length > 0;\n },\n\n /**\n * Check if the room has any cameras\n * @returns {boolean} True if the room has cameras, false otherwise\n */\n hasCamera() {\n return this.cameras?.length > 0;\n },\n\n /**\n * Check if the room has any media sources\n * @returns {boolean} True if the room has media sources, false otherwise\n */\n hasMedia() {\n return this.mediaSources?.length > 0;\n },\n\n /**\n * Check if the room has any lighting devices (dimmers or switches marked as lights/fans)\n * @returns {boolean} True if the room has lighting devices, false otherwise\n */\n hasLight() {\n const hasDiscriminatorLight = this.switches?.some((sw) => {\n return sw.discriminator === \"light\" || sw.discriminator === \"fan\";\n });\n return this.hasDimmer || hasDiscriminatorLight;\n },\n\n hasAlarm() {\n return this.alarms?.length > 0;\n },\n\n /**\n * Check if the room is currently occupied (within the last 60 minutes)\n * @returns {boolean} True if the room was occupied within the last hour, false otherwise\n */\n occupied() {\n const now = new Date();\n const lastOccupied = new Date(this.occupiedAt);\n const diff = now.getTime() - lastOccupied.getTime();\n return diff < 60 * 60 * 1000;\n },\n};\n\nexport const statics = {\n /**\n * Get the device path for a given device type\n * @param {string} type - The device type\n * @returns {\"mediaSources\" | \"courtesy\" | \"dimmers\" | \"thermostats\" | \"locks\" | \"windowCoverings\" | \"switches\" | \"cameras\" | \"motionSensors\" | \"alarms\"} The device path\n * @throws {Error} If the device type is invalid\n */\n getDevicePath(type) {\n switch (type) {\n case \"tv\":\n case \"dvr\":\n case \"appleTv\":\n case \"discPlayer\":\n case \"mediaPlayer\":\n case \"uncontrolledDevice\":\n case \"mediaSource\":\n return \"mediaSources\";\n case \"courtesy\":\n return \"courtesy\";\n case \"switch\":\n return \"switches\";\n case \"dimmer\":\n return \"dimmers\";\n case \"thermostat\":\n return \"thermostats\";\n case \"lock\":\n return \"locks\";\n case \"windowCovering\":\n return \"windowCoverings\";\n case \"camera\":\n return \"cameras\";\n case \"motionSensor\":\n return \"motionSensors\";\n case \"alarm\":\n return \"alarms\";\n\n default:\n throw new Error(\"Invalid device type:\" + type);\n }\n },\n /**\n *\n * @param {string} path\n * @returns\n */\n getDeviceTypeFromPath(path) {\n const validPaths = [\n \"dimmers\",\n \"switches\",\n \"thermostats\",\n \"locks\",\n \"windowCoverings\",\n \"courtesy\",\n \"cameras\",\n \"mediaSources\",\n \"motionSensors\",\n \"alarms\",\n ];\n if (!validPaths.includes(path))\n throw new Error(\"Invalid device path:\" + path);\n switch (path) {\n case \"courtesy\":\n return path;\n case \"switches\":\n return \"switch\";\n default:\n return path.slice(0, -1);\n }\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"scene.json\",\n title: \"Scene\",\n description: \"A room represents a physical space of controllable IoT devices\",\n type: \"object\",\n required: [\"id\", \"name\", \"type\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n description: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"scene\"],\n default: \"scene\",\n },\n devices: {\n type: \"object\",\n properties: {\n switches: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n state: {\n $ref: \"switch.json#/properties/state\",\n },\n },\n default: [],\n },\n },\n dimmers: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n level: {\n $ref: \"dimmer.json#/properties/level\",\n },\n },\n },\n default: [],\n },\n windowCoverings: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n position: {\n $ref: \"windowCovering.json#/properties/position\",\n },\n },\n },\n default: [],\n },\n thermostats: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n hvacMode: {\n $ref: \"thermostat.json#/properties/hvacMode\",\n },\n setpoints: {\n $ref: \"thermostat.json#/properties/setpoints\",\n },\n fanMode: {\n $ref: \"thermostat.json#/properties/fanMode\",\n },\n setpointDelta: {\n type: \"number\",\n },\n },\n },\n default: [],\n },\n mediaSources: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n volume: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n commands: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n },\n locks: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n state: {\n $ref: \"lock.json#/properties/state\",\n },\n mode: {\n $ref: \"lock.json#/properties/mode\",\n },\n },\n },\n },\n },\n additionalProperties: false,\n },\n isDefault: {\n type: \"boolean\",\n default: false,\n },\n showOnUi: {\n type: \"boolean\",\n default: true,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"shortLink.json\",\n title: \"Short Link\",\n type: \"object\",\n required: [\"destination\", \"url\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"shortLink\",\n enum: [\"shortLink\"],\n },\n title: {\n type: \"string\",\n },\n destination: {\n type: \"string\",\n format: \"uri\",\n },\n url: {\n type: \"string\",\n format: \"uri\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"smsMessage.json\",\n title: \"Sms Message\",\n type: \"object\",\n required: [\"to\", \"from\", \"status\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"smsMessage\",\n enum: [\"smsMessage\", \"whatsappMessage\"],\n },\n to: {\n type: \"string\",\n },\n from: {\n type: \"string\",\n },\n media: {\n type: \"string\",\n format: \"uri\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"accepted\",\n \"sending\",\n \"sent\",\n \"failed\",\n \"delivered\",\n \"undelivered\",\n \"receiving\",\n \"received\",\n \"read\",\n ],\n },\n body: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n appData: {\n type: \"object\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"space.json\",\n title: \"Space\",\n type: \"object\",\n required: [\"id\", \"name\", \"type\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n type: {\n type: \"string\",\n default: \"space\",\n enum: [\"space\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"classRoom\",\n \"hotelRoom\",\n \"office\",\n \"building\",\n \"commonArea\",\n \"conferenceRoom\",\n \"lobby\",\n \"gym\",\n \"pool\",\n \"restaurant\",\n \"unit\",\n ],\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n category: {\n type: \"string\",\n description: \"This is the category id\",\n },\n rooms: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n subGroups: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n occupied: {\n type: \"boolean\",\n },\n inUse: {\n type: \"boolean\",\n },\n eco: {\n type: \"object\",\n additionalProperties: false,\n default: {\n active: false,\n allowed: false,\n previousState: null,\n },\n properties: {\n active: {\n type: \"boolean\",\n default: false,\n },\n activatedAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n allowed: {\n type: \"boolean\",\n default: false,\n },\n previousState: {\n type: [\"object\", \"null\"],\n properties: {\n thermostats: {\n type: \"object\",\n patternProperties: {\n \".*\": {\n type: \"object\",\n properties: {\n setpoints: {\n $ref: \"thermostat.json#/properties/setpoints\",\n },\n },\n },\n },\n },\n },\n additionalProperties: false,\n },\n },\n },\n features: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\"pet\"],\n },\n },\n maximumOccupancy: {\n type: \"number\",\n minimum: 1,\n },\n housekeepingStatus: {\n type: \"string\",\n enum: [\"clean\", \"dirty\", \"inspected\", \"pickup\"],\n },\n serviceStatus: {\n type: \"string\",\n enum: [\"inService\", \"outOfOrder\", \"outOfService\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n\nexport const getters = {\n floor() {\n const floors = new Set();\n\n this.rooms.forEach((room) => {\n if (room.floor) floors.add(room.floor);\n });\n\n return floors.size == 1 ? [...floors][0] : undefined;\n },\n hasDimmer() {\n return this.rooms.some((room) => room.hasDimmer);\n },\n hasSwitch() {\n return this.rooms.some((room) => room.hasSwitch);\n },\n hasWindowCovering() {\n return this.rooms.some((room) => room.hasWindowCovering);\n },\n hasThermostat() {\n return this.rooms.some((room) => room.hasThermostat);\n },\n hasLock() {\n return this.rooms.some((room) => room.hasLock);\n },\n hasCourtesy() {\n return this.rooms.some((room) => room.hasCourtesy);\n },\n hasCamera() {\n return this.rooms.some((room) => room.hasCamera);\n },\n hasAlarm() {\n return this.rooms.some((room) => room.hasAlarm);\n },\n hasMedia() {\n return this.rooms.some((room) => room.hasMedia);\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"switch.json\",\n title: \"Switch\",\n description: \"Any smart switch\",\n type: \"object\",\n required: [\"id\", \"type\", \"state\", \"driver\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"light\", \"fan\", \"irrigation\"],\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n state: {\n type: \"string\",\n enum: [\"on\", \"off\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n restoresAt: {\n type: \"string\",\n format: \"date-time\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"systemUser.json\",\n title: \"System User\",\n description:\n \"A system user is a user that originated from an external 3rd party system.\",\n type: \"object\",\n required: [\"id\", \"firstName\", \"lastName\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"systemUser\",\n enum: [\"systemUser\"],\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n phone: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n email: {\n type: [\"string\", \"null\"],\n format: \"email\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n photo: {\n type: \"string\",\n },\n jobTitle: {\n type: \"string\",\n },\n dob: {\n type: \"string\",\n },\n gender: {\n type: \"string\",\n enum: [\"male\", \"female\"],\n },\n roles: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\n \"Guest\",\n \"User\",\n \"Manager\",\n \"Maintenance\",\n \"Administrator\",\n \"SuperAdmin\",\n ],\n },\n },\n nationality: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n notes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n files: {\n type: \"array\",\n items: {\n $ref: \"mediaFile.json#\",\n },\n },\n identifications: {\n type: \"array\",\n items: {\n $ref: \"identification.json#\",\n },\n },\n payments: {\n type: \"array\",\n items: {\n $ref: \"payment.json#\",\n },\n },\n revenue: {\n $ref: \"definitions.json#/definitions/revenue\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"thermostat.json\",\n title: \"Thermostat\",\n description: \"Any smart thermostat\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"hvacMode\",\n \"fanMode\",\n \"hvacState\",\n \"fanState\",\n \"setpoints\",\n \"temperatureScale\",\n \"supportedHvacModes\",\n \"supportedFanModes\",\n \"driver\",\n ],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n default: \"thermostat\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n currentTemperature: {\n type: \"number\",\n },\n currentHumidity: {\n type: \"number\",\n minimum: 0,\n },\n hvacMode: {\n type: \"string\",\n $ref: \"#/properties/supportedHvacModes/items\",\n },\n hvacState: {\n type: [\"string\", \"null\"],\n enum: [\"cooling\", \"heating\", \"off\", null],\n },\n fanMode: {\n type: \"string\",\n $ref: \"#/properties/supportedFanModes/items\",\n },\n fanState: {\n type: [\"string\", \"null\"],\n enum: [\"off\", \"low\", \"medium\", \"high\", \"on\", null],\n },\n temperatureScale: {\n type: \"string\",\n enum: [\"celsius\", \"fahrenheit\"],\n default: \"fahrenheit\",\n },\n humidityScale: {\n type: [\"string\", \"null\"],\n enum: [\"absolute\", \"relative\", null],\n },\n supportedHvacModes: {\n type: \"array\",\n uniqueItems: true,\n minItems: 2,\n items: {\n enum: [\"cool\", \"heat\", \"auto\", \"off\"],\n },\n },\n supportedFanModes: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\"auto\", \"low\", \"medium\", \"high\", \"off\", \"on\"],\n },\n },\n setpoints: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n cool: {\n $ref: \"#/$defs/setpoint\",\n },\n heat: {\n $ref: \"#/$defs/setpoint\",\n },\n auto: {\n $ref: \"#/$defs/setpoint\",\n },\n },\n },\n minAutoDelta: {\n type: \"number\",\n default: 3,\n },\n cycleRate: {\n type: \"number\",\n },\n batteryLevel: {\n $ref: \"definitions.json#/definitions/batteryLevel\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n $defs: {\n setpoint: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n $ref: \"#/$defs/setpointValue\",\n },\n min: {\n $ref: \"#/$defs/setpointMinMax\",\n },\n max: {\n $ref: \"#/$defs/setpointMinMax\",\n },\n },\n },\n setpointValue: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n setpointMinMax: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 99,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"ticket.json\",\n title: \"Ticket\",\n description: \"A ticket is a request from a user.\",\n type: \"object\",\n required: [\n \"id\",\n \"conversation\",\n \"requester\",\n \"status\",\n \"tags\",\n \"createdAt\",\n \"updatedAt\",\n ],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"ticket\"],\n default: \"ticket\",\n },\n number: {\n type: \"string\",\n },\n issueId: {\n type: \"string\",\n },\n conversation: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"timestamp\", \"body\"],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"message\",\n \"opened\",\n \"assigned\",\n \"rated\",\n \"tipped\",\n \"scheduled\",\n \"collaboratorAdded\",\n \"collaboratorRemoved\",\n \"statusChanged\",\n \"priorityChanged\",\n \"scheduleDateChanged\",\n \"locationChanged\",\n ],\n default: \"message\",\n },\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n vendorId: {\n type: \"string\",\n },\n vendorName: {\n type: \"string\",\n },\n systemId: {\n type: \"string\",\n },\n systemName: {\n type: \"string\",\n },\n timestamp: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n body: {\n type: \"string\",\n },\n parsedBody: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n text: {\n type: \"string\",\n },\n mentions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\n \"discriminator\",\n \"id\",\n \"index\",\n \"length\",\n \"originalText\",\n ],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\"],\n },\n index: {\n type: \"integer\",\n },\n length: {\n type: \"integer\",\n },\n originalText: {\n type: \"string\",\n },\n },\n },\n },\n },\n },\n\n readBy: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n },\n media: {\n anyOf: [{ $ref: \"mediaFile.json\" }, { type: \"null\" }],\n },\n },\n },\n },\n subject: {\n type: \"string\",\n },\n openedBy: {\n type: \"object\",\n properties: {\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n systemId: {\n type: \"string\",\n },\n systemName: {\n type: \"string\",\n },\n },\n },\n requester: {\n type: \"object\",\n properties: {\n systemId: {\n type: \"string\",\n },\n systemName: {\n type: \"string\",\n },\n systemPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n userPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n deviceId: {\n type: \"string\",\n },\n roomId: {\n type: \"string\",\n },\n reservationId: {\n type: \"string\",\n },\n spaceId: {\n type: \"string\",\n },\n spaceName: {\n type: \"string\",\n },\n },\n },\n assignedTo: {\n type: \"object\",\n properties: {\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n userPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n vendorId: {\n type: \"string\",\n },\n vendorName: {\n type: \"string\",\n },\n vendorPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n },\n },\n notify: {\n type: \"array\",\n description:\n \"A list of entities to notify when this ticket is created or resolved.\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the entity to notify.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n },\n },\n },\n collaborators: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"name\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n name: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\"],\n },\n },\n },\n },\n location: {\n type: \"object\",\n required: [\"discriminator\", \"name\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"room\", \"property\", \"customText\"],\n },\n name: {\n type: \"string\",\n },\n },\n },\n status: {\n type: \"string\",\n enum: [\"open\", \"pending\", \"solved\", \"closed\"],\n default: \"open\",\n },\n priority: {\n type: \"string\",\n enum: [\"low\", \"normal\", \"high\"],\n default: \"normal\",\n },\n tags: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n },\n department: {\n type: \"string\",\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 5,\n },\n ratingComment: {\n type: \"string\",\n },\n tipAmount: {\n type: \"string\",\n },\n autoCloseAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n scheduleDate: {\n $ref: \"definitions.json#/definitions/date\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n solvedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n closedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"timeSheet.json\",\n title: \"Time Sheet\",\n type: \"object\",\n required: [\"userId\", \"day\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"timeSheet\",\n enum: [\"timeSheet\"],\n },\n userId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n day: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n locked: {\n type: \"boolean\",\n default: false,\n description: \"If true, the time sheet is locked and cannot be modified\",\n },\n timeEntries: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"working\", \"driving\", \"meeting\", \"break\"],\n },\n start: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n end: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n comment: {\n type: \"string\",\n },\n ticketId: {\n type: \"string\",\n },\n },\n required: [\"start\", \"discriminator\"],\n additionalProperties: false,\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"user.json\",\n title: \"User\",\n type: \"object\",\n required: [\"id\", \"firstName\", \"lastName\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"user\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n phone: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n phoneVerified: {\n type: \"boolean\",\n },\n email: {\n type: [\"string\", \"null\"],\n format: \"email\",\n },\n emailVerified: {\n type: \"boolean\",\n },\n whatsapp: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n whatsappVerified: {\n type: \"boolean\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n secretKey: {\n type: \"string\",\n },\n photo: {\n $ref: \"mediaFile.json#\",\n },\n jobTitle: {\n type: \"string\",\n },\n dob: {\n type: \"string\",\n },\n gender: {\n type: \"string\",\n enum: [\"male\", \"female\"],\n },\n nationality: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n permissions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"organizationId\", \"propertyId\", \"role\"],\n properties: {\n organizationId: {\n type: \"string\",\n description:\n \"The ID of the organization the permission is applies to.\",\n },\n propertyId: {\n type: \"string\",\n description: \"The ID of the property the permission is applies to.\",\n },\n role: {\n type: \"string\",\n enum: [\n \"Guest\",\n \"User\",\n \"Agent\",\n \"Manager\",\n \"Maintenance\",\n \"Administrator\",\n \"SuperAdmin\",\n ],\n },\n timeTrackingEnabled: {\n type: \"boolean\",\n description: \"Whether time tracking is enabled for this role.\",\n },\n department: {\n type: \"string\",\n description: \"The department the user belongs to.\",\n },\n policyIds: {\n type: \"array\",\n items: {\n type: \"string\",\n description: \"ID of a policy that is applied to this role.\",\n },\n },\n policies: {\n type: \"array\",\n items: {\n description:\n \"A policy object populated from the policyIds array.\",\n $ref: \"policy.json\",\n },\n },\n },\n additionalProperties: false,\n },\n },\n preferences: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"organizationId\", \"propertyId\"],\n properties: {\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n notifications: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"discriminator\", \"enabled\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"observerTicketCreated\", \"observerTicketResolved\"],\n },\n enabled: {\n type: \"boolean\",\n },\n },\n },\n },\n },\n },\n },\n notes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n files: {\n type: \"array\",\n items: {\n $ref: \"mediaFile.json#\",\n },\n },\n identifications: {\n type: \"array\",\n items: {\n $ref: \"identification.json#\",\n },\n },\n payments: {\n type: \"array\",\n items: {\n $ref: \"payment.json#\",\n },\n },\n location: {\n type: \"object\",\n required: [\"accuracy\", \"latitude\", \"longitude\", \"timestamp\"],\n additionalProperties: false,\n properties: {\n accuracy: {\n type: [\"number\", \"null\"],\n },\n latitude: {\n type: [\"number\", \"null\"],\n },\n longitude: {\n type: [\"number\", \"null\"],\n },\n timestamp: {\n type: [\"number\", \"null\"],\n },\n },\n },\n reservations: {\n type: \"array\",\n items: {\n $ref: \"reservation.json\",\n },\n },\n spaceName: {\n type: \"string\",\n },\n revenue: {\n $ref: \"definitions.json#/definitions/revenue\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n systems: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n systemId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n },\n required: [\"systemId\", \"propertyId\", \"driver\"],\n additionalProperties: false,\n },\n },\n },\n};\n\nexport const getters = {\n fullName() {\n return `${this.firstName} ${this.lastName}`;\n },\n roles() {\n const roles = new Set();\n if (this.permissions) {\n for (const permission of this.permissions) {\n roles.add(permission.role);\n }\n }\n return Array.from(roles);\n },\n isSuperAdmin() {\n return this.roles.includes(\"SuperAdmin\");\n },\n isAdmin() {\n return this.roles.includes(\"Admin\") || this.roles.includes(\"Administrator\");\n },\n isManager() {\n return this.roles.includes(\"Manager\");\n },\n isUser() {\n return this.roles.includes(\"User\");\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"vendor.json\",\n title: \"Vendor\",\n type: \"object\",\n required: [\"id\", \"name\", \"email\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"vendor\",\n enum: [\"vendor\"],\n },\n name: {\n type: \"string\",\n },\n phone: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n email: {\n type: [\"string\", \"null\"],\n format: \"email\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n photo: {\n $ref: \"mediaFile.json#\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"windowCovering.json\",\n title: \"Window Covering\",\n description: \"Any smart window covering\",\n required: [\"id\", \"type\", \"position\", \"driver\"],\n additionalProperties: false,\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n default: \"windowCovering\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"basic\", \"variable\"],\n default: \"variable\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n position: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 100,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n"],"mappings":"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","names":["addFormats"]}
|
|
1
|
+
{"version":3,"sources":["../../src/models/credential.js","../../src/errors/appError.js","../../src/errors/validationError.js","../../src/models/entity.js","../../src/validate.js","../../src/schemas/alarm.js","../../src/schemas/announcement.js","../../src/schemas/automation.js","../../src/schemas/camera.js","../../src/schemas/category.js","../../src/schemas/courtesy.js","../../src/schemas/credential.js","../../src/schemas/definitions.js","../../src/schemas/deviceRouter.js","../../src/schemas/dimmer.js","../../src/schemas/discoveredDevice.js","../../src/schemas/emailMessage.js","../../src/schemas/energyReport.js","../../src/schemas/energyReportShard.js","../../src/schemas/gateway.js","../../src/schemas/identification.js","../../src/schemas/issue.js","../../src/schemas/lock.js","../../src/schemas/log.js","../../src/schemas/mediaFile.js","../../src/schemas/mediaSource.js","../../src/schemas/motionSensor.js","../../src/schemas/order.js","../../src/schemas/organization.js","../../src/schemas/payment.js","../../src/schemas/policy.js","../../src/schemas/product.js","../../src/schemas/property.js","../../src/schemas/reservation.js","../../src/schemas/room.js","../../src/schemas/scene.js","../../src/schemas/shortLink.js","../../src/schemas/smsMessage.js","../../src/schemas/space.js","../../src/schemas/switch.js","../../src/schemas/systemUser.js","../../src/schemas/thermostat.js","../../src/schemas/ticket.js","../../src/schemas/timeSheet.js","../../src/schemas/user.js","../../src/schemas/vendor.js","../../src/schemas/windowCovering.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateCredential as validate } from \"../validate\";\n\n/**\n * @typedef {Object} CredentialData\n * @property {string} [id] - Identifier of the object.\n * @property {string} type - Default: \"credential\"\n * @property {(\"adlink\"|\"aws-kinesis\"|\"bacnet\"|\"butler\"|\"comelit\"|\"crestron\"|\"dell\"|\"digital-watchdog\"|\"distech\"|\"dmp\"|\"doorbird\"|\"dormakaba\"|\"dsc\"|\"ecobee\"|\"epson\"|\"geovision-rs\"|\"geovision-as-manager\"|\"honeywell-vista\"|\"igor\"|\"inncom\"|\"isapi\"|\"kohost-k7\"|\"kohost\"|\"lg\"|\"lg-webos\"|\"lapi\"|\"lirc\"|\"mews\"|\"mht\"|\"paxton\"|\"pelican-wireless\"|\"power-shades\"|\"rachio\"|\"rebrandly\"|\"relay\"|\"rtsp\"|\"salto\"|\"salto-irn\"|\"samsung\"|\"se\"|\"sendgrid\"|\"sonifi\"|\"stay-n-touch\"|\"storable\"|\"twilio\"|\"unifi\"|\"valcom\"|\"vivotek\"|\"vizio\"|\"wisenet\"|\"cloudflare-images\"|\"cloudflare-stream\"|\"insperia-privacy\")} [driver] - Driver used to communicate with the object.\n * @property {(\"verificationCode\"|\"token\"|\"mobileKey\"|\"pin\"|\"publicKey\"|\"passkeyChallenge\")} [discriminator]\n * @property {string} credential\n * @property {string} [userId]\n * @property {string} [organizationId]\n * @property {string} [propertyId]\n * @property {string} [deviceId]\n * @property {string} [userAgent]\n * @property {(string|object)} expires\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n */\n\n/**\n *\n * @class Credential\n * @extends {Entity}\n */\nexport class Credential extends Entity {\n /**\n * @constructor\n * @param {CredentialData} data - The data to initialize the Credential with\n */\n constructor(data) {\n super(data);\n if (data.id !== undefined) this.id = data.id;\n this.type = data.type;\n if (data.driver !== undefined) this.driver = data.driver;\n if (data.discriminator !== undefined)\n this.discriminator = data.discriminator;\n this.credential = data.credential;\n if (data.userId !== undefined) this.userId = data.userId;\n if (data.organizationId !== undefined)\n this.organizationId = data.organizationId;\n if (data.propertyId !== undefined) this.propertyId = data.propertyId;\n if (data.deviceId !== undefined) this.deviceId = data.deviceId;\n if (data.userAgent !== undefined) this.userAgent = data.userAgent;\n this.expires = data.expires;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n }\n}\n\nObject.defineProperty(Credential.prototype, \"schema\", {\n value: {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"credential.json\",\n title: \"Credential\",\n type: \"object\",\n required: [\"type\", \"credential\", \"expires\"],\n properties: {\n id: { $ref: \"definitions.json#/definitions/id\" },\n type: { type: \"string\", default: \"credential\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n discriminator: {\n type: \"string\",\n enum: [\n \"verificationCode\",\n \"token\",\n \"mobileKey\",\n \"pin\",\n \"publicKey\",\n \"passkeyChallenge\",\n ],\n },\n credential: { type: \"string\" },\n userId: { type: \"string\" },\n organizationId: { type: \"string\" },\n propertyId: { type: \"string\" },\n deviceId: { type: \"string\" },\n userAgent: { type: \"string\" },\n expires: { type: [\"string\", \"object\", \"null\"] },\n systemId: { $ref: \"definitions.json#/definitions/systemId\" },\n },\n },\n});\n\nObject.defineProperty(Credential.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n","export class AppError extends Error {\n constructor(message = \"Internal Server Error\", options) {\n super(message, options);\n this.type = this.constructor.name;\n this.statusCode = 500;\n this.name = \"AppError\";\n Object.setPrototypeOf(this, AppError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class ValidationError extends AppError {\n constructor(message = \"Validation Error\", options = {}) {\n super(message, options);\n this.statusCode = 400;\n this.name = \"ValidationError\";\n Object.setPrototypeOf(this, ValidationError.prototype);\n }\n}\n","import { ValidationError } from \"../errors/validationError\";\n\nexport class Entity {\n constructor(data) {\n if (!this.schema) {\n throw new Error(\"Schema is not defined\");\n }\n\n if (!this.validator) {\n throw new Error(\"Validator is not defined\");\n }\n\n this.#validate(data);\n }\n\n get schemaProperties() {\n return Object.keys(this.validator.schema.properties);\n }\n\n #validate(data) {\n const valid = this.validator(data);\n if (!valid) {\n throw new ValidationError(`Invalid ${this.constructor.name}`, {\n cause: this.validator.errors,\n });\n }\n }\n}\n","/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\nimport { Ajv } from \"ajv\";\nimport addFormats from \"ajv-formats\";\n\nimport alarmschema from \"./schemas/alarm.js\";\nimport announcementschema from \"./schemas/announcement.js\";\nimport automationschema from \"./schemas/automation.js\";\nimport cameraschema from \"./schemas/camera.js\";\nimport categoryschema from \"./schemas/category.js\";\nimport courtesyschema from \"./schemas/courtesy.js\";\nimport credentialschema from \"./schemas/credential.js\";\nimport definitionsschema from \"./schemas/definitions.js\";\nimport deviceRouterschema from \"./schemas/deviceRouter.js\";\nimport dimmerschema from \"./schemas/dimmer.js\";\nimport discoveredDeviceschema from \"./schemas/discoveredDevice.js\";\nimport emailMessageschema from \"./schemas/emailMessage.js\";\nimport energyReportschema from \"./schemas/energyReport.js\";\nimport energyReportShardschema from \"./schemas/energyReportShard.js\";\nimport gatewayschema from \"./schemas/gateway.js\";\nimport identificationschema from \"./schemas/identification.js\";\nimport issueschema from \"./schemas/issue.js\";\nimport lockschema from \"./schemas/lock.js\";\nimport logschema from \"./schemas/log.js\";\nimport mediaFileschema from \"./schemas/mediaFile.js\";\nimport mediaSourceschema from \"./schemas/mediaSource.js\";\nimport motionSensorschema from \"./schemas/motionSensor.js\";\nimport orderschema from \"./schemas/order.js\";\nimport organizationschema from \"./schemas/organization.js\";\nimport paymentschema from \"./schemas/payment.js\";\nimport policyschema from \"./schemas/policy.js\";\nimport productschema from \"./schemas/product.js\";\nimport propertyschema from \"./schemas/property.js\";\nimport reservationschema from \"./schemas/reservation.js\";\nimport roomschema from \"./schemas/room.js\";\nimport sceneschema from \"./schemas/scene.js\";\nimport shortLinkschema from \"./schemas/shortLink.js\";\nimport smsMessageschema from \"./schemas/smsMessage.js\";\nimport spaceschema from \"./schemas/space.js\";\nimport switchschema from \"./schemas/switch.js\";\nimport systemUserschema from \"./schemas/systemUser.js\";\nimport thermostatschema from \"./schemas/thermostat.js\";\nimport ticketschema from \"./schemas/ticket.js\";\nimport timeSheetschema from \"./schemas/timeSheet.js\";\nimport userschema from \"./schemas/user.js\";\nimport vendorschema from \"./schemas/vendor.js\";\nimport windowCoveringschema from \"./schemas/windowCovering.js\";\n\nconst schemas = [\n alarmschema,\n announcementschema,\n automationschema,\n cameraschema,\n categoryschema,\n courtesyschema,\n credentialschema,\n definitionsschema,\n deviceRouterschema,\n dimmerschema,\n discoveredDeviceschema,\n emailMessageschema,\n energyReportschema,\n energyReportShardschema,\n gatewayschema,\n identificationschema,\n issueschema,\n lockschema,\n logschema,\n mediaFileschema,\n mediaSourceschema,\n motionSensorschema,\n orderschema,\n organizationschema,\n paymentschema,\n policyschema,\n productschema,\n propertyschema,\n reservationschema,\n roomschema,\n sceneschema,\n shortLinkschema,\n smsMessageschema,\n spaceschema,\n switchschema,\n systemUserschema,\n thermostatschema,\n ticketschema,\n timeSheetschema,\n userschema,\n vendorschema,\n windowCoveringschema,\n];\n\nconst ajv = new Ajv({\n allErrors: true,\n useDefaults: true,\n strict: false,\n allowMatchingProperties: true,\n allowUnionTypes: true,\n strictRequired: false,\n schemas: schemas,\n});\n\naddFormats(ajv);\n\nexport const validateAlarm = ajv.compile(alarmschema);\nexport const validateAnnouncement = ajv.compile(announcementschema);\nexport const validateAutomation = ajv.compile(automationschema);\nexport const validateCamera = ajv.compile(cameraschema);\nexport const validateCategory = ajv.compile(categoryschema);\nexport const validateCourtesy = ajv.compile(courtesyschema);\nexport const validateCredential = ajv.compile(credentialschema);\nexport const validateDeviceRouter = ajv.compile(deviceRouterschema);\nexport const validateDimmer = ajv.compile(dimmerschema);\nexport const validateDiscoveredDevice = ajv.compile(discoveredDeviceschema);\nexport const validateEmailMessage = ajv.compile(emailMessageschema);\nexport const validateEnergyReport = ajv.compile(energyReportschema);\nexport const validateEnergyReportShard = ajv.compile(energyReportShardschema);\nexport const validateGateway = ajv.compile(gatewayschema);\nexport const validateIdentification = ajv.compile(identificationschema);\nexport const validateIssue = ajv.compile(issueschema);\nexport const validateLock = ajv.compile(lockschema);\nexport const validateLog = ajv.compile(logschema);\nexport const validateMediaFile = ajv.compile(mediaFileschema);\nexport const validateMediaSource = ajv.compile(mediaSourceschema);\nexport const validateMotionSensor = ajv.compile(motionSensorschema);\nexport const validateOrder = ajv.compile(orderschema);\nexport const validateOrganization = ajv.compile(organizationschema);\nexport const validatePayment = ajv.compile(paymentschema);\nexport const validatePolicy = ajv.compile(policyschema);\nexport const validateProduct = ajv.compile(productschema);\nexport const validateProperty = ajv.compile(propertyschema);\nexport const validateReservation = ajv.compile(reservationschema);\nexport const validateRoom = ajv.compile(roomschema);\nexport const validateScene = ajv.compile(sceneschema);\nexport const validateShortLink = ajv.compile(shortLinkschema);\nexport const validateSmsMessage = ajv.compile(smsMessageschema);\nexport const validateSpace = ajv.compile(spaceschema);\nexport const validateSwitch = ajv.compile(switchschema);\nexport const validateSystemUser = ajv.compile(systemUserschema);\nexport const validateThermostat = ajv.compile(thermostatschema);\nexport const validateTicket = ajv.compile(ticketschema);\nexport const validateTimeSheet = ajv.compile(timeSheetschema);\nexport const validateUser = ajv.compile(userschema);\nexport const validateVendor = ajv.compile(vendorschema);\nexport const validateWindowCovering = ajv.compile(windowCoveringschema);\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"alarm.json\",\n title: \"Alarm\",\n description: \"Any smart alarm system\",\n type: \"object\",\n required: [\"id\", \"type\", \"areas\", \"zones\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n description: \"Name of the alarm\",\n },\n offline: {\n type: \"boolean\",\n },\n type: {\n type: \"string\",\n enum: [\"alarm\"],\n default: \"alarm\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n areas: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n number: {\n type: \"number\",\n },\n name: {\n type: \"string\",\n },\n securityMode: {\n type: [\"string\", \"null\"],\n enum: [\"arming\", \"disarming\", \"armed\", \"disarmed\", \"alarm\", null],\n },\n },\n additionalProperties: false,\n },\n },\n zones: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n number: {\n type: \"number\",\n minimum: 0,\n },\n name: {\n type: \"string\",\n },\n secure: {\n type: [\"boolean\", \"null\"],\n },\n bypassed: {\n type: [\"boolean\", \"null\"],\n },\n },\n additionalProperties: false,\n },\n },\n chime: {\n type: \"boolean\",\n description: \"Reflects whether console chime is enabled\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"announcement.json\",\n title: \"Announcement\",\n description: \"Announcement message sent to users\",\n type: \"object\",\n properties: {\n id: { $ref: \"definitions.json#/definitions/id\" },\n type: {\n type: \"string\",\n enum: [\"announcement\"],\n default: \"announcement\",\n },\n users: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n minItems: 1,\n },\n group: {\n type: \"string\",\n },\n body: {\n type: \"string\",\n },\n media: {\n $ref: \"mediaFile.json\",\n },\n sentBy: {\n type: \"string\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n additionalProperties: false,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"automation.json\",\n title: \"Automation\",\n description: \"An automation is a collection of triggers and actions\",\n type: \"object\",\n required: [\"id\", \"type\", \"trigger\", \"actions\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n description: \"The friendly name of the automation\",\n },\n type: {\n type: \"string\",\n enum: [\"automation\"],\n default: \"automation\",\n },\n isEnabled: {\n type: \"boolean\",\n description: \"Whether the automation is currently enabled\",\n default: true,\n },\n\n trigger: {\n type: \"object\",\n description: \"The trigger that initiates the automation\",\n required: [\"discriminator\", \"schedule\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"time\"],\n description: \"Type of trigger\",\n },\n // Time-based trigger properties\n schedule: {\n type: \"object\",\n description: \"Schedule for time-based triggers\",\n required: [\"days\", \"time\", \"timezone\"],\n properties: {\n days: {\n type: \"array\",\n description: \"Days of the week (0 = Sunday, 6 = Saturday)\",\n items: {\n type: \"integer\",\n minimum: 0,\n maximum: 6,\n },\n },\n time: {\n type: \"string\",\n description: \"Time of day to trigger the automation\",\n },\n timeOffsetSeconds: {\n type: \"integer\",\n description: \"Offset in seconds from the scheduled time\",\n default: 0,\n },\n repeat: {\n type: \"boolean\",\n description: \"Whether the schedule repeats\",\n default: true,\n },\n timezone: {\n type: \"string\",\n description: \"Timezone for the schedule (IANA timezone format)\",\n },\n },\n },\n },\n },\n actions: {\n type: \"array\",\n description: \"Actions to perform when the trigger conditions are met\",\n items: {\n type: \"object\",\n required: [\"deviceId\", \"roomId\", \"discriminator\", \"state\"],\n properties: {\n deviceId: {\n type: \"string\",\n description: \"ID of the device to control\",\n },\n roomId: {\n type: \"string\",\n description: \"ID of the room containing the device\",\n },\n discriminator: {\n type: \"string\",\n description:\n \"Type discriminator for the device (e.g., 'windowCovering', 'switch')\",\n },\n duration: {\n type: \"integer\",\n description:\n \"Duration in seconds to keep the device in the configured state\",\n minimum: 0,\n },\n state: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"property\", \"value\"],\n properties: {\n property: {\n type: \"string\",\n description:\n \"Property to set (e.g., 'state', 'level', 'setpoint')\",\n },\n value: {\n type: [\"string\", \"number\", \"boolean\"],\n description: \"Value to set the property to\",\n },\n },\n },\n },\n },\n },\n minItems: 1,\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n lastTriggeredAt: {\n $ref: \"definitions.json#/definitions/date\",\n description: \"When the automation was last triggered\",\n },\n },\n additionalProperties: false,\n};\n\nexport const getters = {\n /**\n * Check if the automation is time-based\n * @returns {boolean} True if the automation is time-based\n */\n isTimeBased() {\n return (\n this.discriminator === \"time\" ||\n (this.trigger && this.trigger.type === \"time\")\n );\n },\n\n /**\n * Check if the automation is device-based\n * @returns {boolean} True if the automation is device-based\n */\n isDeviceBased() {\n return (\n this.discriminator === \"device\" ||\n (this.trigger && this.trigger.type !== \"time\")\n );\n },\n\n /**\n * Check if the automation is repeating (only applicable for time-based automations)\n * @returns {boolean} True if the automation repeats\n */\n isRepeating() {\n return this.isTimeBased() && this.trigger?.schedule?.repeat !== false;\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"camera.json\",\n title: \"Camera\",\n description: \"Any smart camera\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"camera\"],\n default: \"camera\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n liveStreams: {\n type: \"object\",\n additionalProperties: false,\n $comment:\n \"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.\",\n properties: {\n iframe: {\n type: [\"string\", \"null\"],\n },\n hls: {\n type: [\"string\", \"null\"],\n },\n webRTC: {\n type: [\"string\", \"null\"],\n },\n rtsp: {\n type: [\"string\", \"null\"],\n },\n },\n },\n liveStream: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n enum: [\n \"cloudflare-stream\",\n \"aws-kinesis\",\n \"digital-watchdog\",\n \"mediamtx\",\n ],\n },\n allowedOrigins: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n authRequired: {\n type: \"boolean\",\n },\n iframe: {\n type: [\"string\", \"null\"],\n },\n hls: {\n type: [\"string\", \"null\"],\n },\n webRTC: {\n type: [\"string\", \"null\"],\n },\n rtsp: {\n type: [\"string\", \"null\"],\n description: \"Local RTSP stream URL\",\n examples: [\n \"rtsp://192.168.1.4:544/channels/1\",\n \"rtsp://10.145.6.129:8554/unicast\",\n ],\n },\n previewImage: {\n type: [\"string\", \"null\"],\n description: \"Source to preview the camera stream\",\n examples: [\n \"https://example.com/preview.jpg\",\n \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA\",\n ],\n },\n },\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"category.json\",\n title: \"Category\",\n type: \"object\",\n required: [\"id\", \"type\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"category\"],\n default: \"category\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n description: {\n type: \"string\",\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 10,\n default: 9,\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"product\", \"mediaFile\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"courtesy.json\",\n title: \"Courtesy\",\n description: \"Any smart courtesy system\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\", \"supportedStates\", \"state\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedStates: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\"privacy\", \"service\", \"none\"],\n },\n },\n state: {\n type: \"string\",\n $ref: \"#/properties/supportedStates/items\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"credential.json\",\n title: \"Credential\",\n type: \"object\",\n required: [\"type\", \"credential\", \"expires\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"credential\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"verificationCode\",\n \"token\",\n \"mobileKey\",\n \"pin\",\n \"publicKey\",\n \"passkeyChallenge\",\n ],\n },\n credential: {\n type: \"string\",\n },\n userId: {\n type: \"string\",\n },\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n deviceId: {\n type: \"string\",\n },\n userAgent: {\n type: \"string\",\n },\n expires: {\n type: [\"string\", \"object\", \"null\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"definitions.json\",\n title: \"Definitions\",\n definitions: {\n id: {\n type: \"string\",\n description: \"Identifier of the object.\",\n not: {\n enum: [\"global\", \"system\"],\n },\n },\n systemId: {\n type: \"string\",\n description: \"Identifier of the object, directly related to the system.\",\n },\n systemData: {\n type: \"object\",\n },\n metadata: {\n type: \"object\",\n default: {},\n },\n date: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n createdAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n updatedAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n file: {\n type: \"object\",\n required: [\"name\", \"type\", \"data\"],\n properties: {\n name: {\n type: \"string\",\n description: \"Name of the file.\",\n },\n type: {\n type: \"string\",\n description: \"MIME type of the file (e.g. application/pdf).\",\n },\n data: {\n type: \"string\",\n description: \"Base64-encoded data of the file.\",\n },\n },\n },\n address: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n line1: {\n type: \"string\",\n },\n line2: {\n type: \"string\",\n },\n line3: {\n type: \"string\",\n },\n city: {\n type: \"string\",\n },\n state: {\n type: \"string\",\n },\n postalCode: {\n type: \"string\",\n },\n countryCode: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n },\n },\n driver: {\n type: \"string\",\n description: \"Driver used to communicate with the object.\",\n enum: [\n \"adlink\",\n \"aws-kinesis\",\n \"bacnet\",\n \"butler\",\n \"comelit\",\n \"crestron\",\n \"dell\",\n \"digital-watchdog\",\n \"distech\",\n \"dmp\",\n \"doorbird\",\n \"dormakaba\",\n \"dsc\",\n \"ecobee\",\n \"epson\",\n \"geovision-rs\",\n \"geovision-as-manager\",\n \"honeywell-vista\",\n \"igor\",\n \"inncom\",\n \"isapi\",\n \"kohost-k7\",\n \"kohost\",\n \"lg\",\n \"lg-webos\",\n \"lapi\",\n \"lirc\",\n \"mews\",\n \"mht\",\n \"paxton\",\n \"pelican-wireless\",\n \"power-shades\",\n \"rachio\",\n \"rebrandly\",\n \"relay\",\n \"rtsp\",\n \"salto\",\n \"salto-irn\",\n \"samsung\",\n \"se\",\n \"sendgrid\",\n \"sonifi\",\n \"stay-n-touch\",\n \"storable\",\n \"twilio\",\n \"unifi\",\n \"valcom\",\n \"vivotek\",\n \"vizio\",\n \"wisenet\",\n \"cloudflare-images\",\n \"cloudflare-stream\",\n \"insperia-privacy\",\n ],\n },\n type: {\n type: \"string\",\n enum: [\n \"alarm\",\n \"dimmer\",\n \"switch\",\n \"motionSensor\",\n \"windowCovering\",\n \"camera\",\n \"mediaSource\",\n \"thermostat\",\n \"lock\",\n \"courtesy\",\n \"gateway\",\n \"tv\",\n \"dvr\",\n \"appleTv\",\n \"discPlayer\",\n \"mediaPlayer\",\n \"uncontrolledDevice\",\n ],\n },\n name: {\n type: \"string\",\n },\n supportedNotifications: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\n \"button 1\",\n \"button 2\",\n \"button 3\",\n \"button 4\",\n \"button 5\",\n \"idle\",\n \"powerHasBeedApplied\",\n \"acMainsDisconnected\",\n \"acMainsReconnected\",\n \"replaceBatterySoon\",\n \"replaceBatteryNow\",\n \"batteryOk\",\n \"hardwareFailure\",\n \"softwareFailure\",\n \"hardwareFailureWithCode\",\n \"softwareFailureWithCode\",\n \"motionDetection\",\n \"airFilterNeedsCleaned\",\n \"airFilterNeedsReplaced\",\n \"smokeDetected\",\n \"outsideSafeTemperatureRange\",\n \"outsideSafeHumidityRange\",\n \"scheduleMaintenance\",\n \"doorAjar\",\n \"communicationFailure\",\n \"communicationOk\",\n \"burglarAlarm\",\n \"fireAlarm\",\n ],\n },\n },\n notification: {\n type: [\"object\", \"null\"],\n properties: {\n name: {\n type: \"string\",\n $ref: \"#/definitions/supportedNotifications/items\",\n },\n timestamp: {\n type: \"number\",\n minimum: 1655907956593,\n },\n description: {\n type: \"string\",\n },\n },\n },\n batteryLevel: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n watts: {\n type: \"number\",\n minimum: 0,\n },\n revenue: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n date: {\n type: \"string\",\n format: \"date-time\",\n },\n price: {\n type: \"number\",\n },\n tax: {\n type: [\"number\", \"null\"],\n },\n },\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"deviceRouter.json\",\n title: \"Device Router\",\n description:\n \"A device router contains instructions on where to route devices based on their organization and driver.\",\n type: \"object\",\n required: [\"driver\", \"organizationId\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"deviceRouter\",\n enum: [\"deviceRouter\"],\n },\n driver: {\n type: \"string\",\n },\n organizationId: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the organization that owns this router\",\n },\n devices: {\n type: \"object\",\n additionalProperties: true,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"dimmer.json\",\n title: \"Dimmer\",\n description: \"Any smart dimmer\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n level: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 100,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"level\", \"driver\"],\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"discoveredDevice.json\",\n title: \"Discovered Device\",\n description:\n \"A device that has been discovered by Kohost, but not yet added to the Kohost system.\",\n type: \"object\",\n required: [\"name\", \"deviceId\", \"deviceData\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n deviceId: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"discoveredDevice\"],\n default: \"discoveredDevice\",\n },\n discriminator: {\n $ref: \"definitions.json#/definitions/type\",\n },\n driver: {\n type: \"string\",\n },\n deviceData: {\n type: \"object\",\n },\n ignore: {\n type: \"boolean\",\n },\n organizationId: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the organization that owns this device\",\n },\n propertyId: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the property that this device belongs to\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"emailMessage.json\",\n title: \"Email Message\",\n type: \"object\",\n required: [\"to\", \"from\", \"status\", \"subject\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"emailMessage\",\n enum: [\"emailMessage\"],\n },\n to: {\n type: \"string\",\n pattern: \"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\\\.[a-zA-Z0-9-.]+$\",\n },\n from: {\n type: \"string\",\n pattern: \".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\\\.[a-zA-Z0-9-.]+>.*\",\n description: \"Must be in the format of 'Sender <email@example.com>\",\n },\n subject: {\n type: \"string\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"sending\",\n \"sent\",\n \"deferred\",\n \"delivered\",\n \"undelivered\",\n \"bounced\",\n \"blocked\",\n \"receiving\",\n \"received\",\n \"opened\",\n \"clicked\",\n \"unsubscribed\",\n \"spamReport\",\n ],\n },\n statusMessage: {\n type: \"string\",\n },\n html: {\n type: \"string\",\n },\n text: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n appData: {\n type: \"object\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"energyReport.json\",\n title: \"Energy Report\",\n description: \"Hourly Report for Energy based on energy report shards\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"roomId\",\n \"first\",\n \"last\",\n \"consumption\",\n \"totals\",\n \"costPerKw\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"energyReport\"],\n default: \"energyReport\",\n },\n reportTime: {\n type: \"string\",\n enum: [\"hourly\", \"daily\", \"monthly\"],\n },\n roomId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n first: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n last: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n consumption: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"id\", \"type\", \"kwh\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n kwh: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n totals: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"lights\", \"climate\", \"media\"],\n properties: {\n lights: {\n type: \"number\",\n minimum: 0,\n },\n climate: {\n type: \"number\",\n minimum: 0,\n },\n media: {\n type: \"number\",\n minimum: 0,\n },\n },\n },\n },\n costPerKw: {\n type: \"number\",\n minimum: 0,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"energyReportShard.json\",\n title: \"Energy Report Shard\",\n description: \"Shard used for Energy Reports\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"roomId\",\n \"first\",\n \"last\",\n \"data\",\n \"ndata\",\n \"expires\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"energyReportShard\"],\n default: \"energyReportShard\",\n },\n roomId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n first: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n last: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n data: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"time\", \"watts\", \"id\", \"type\", \"value\"],\n properties: {\n time: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n value: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n },\n },\n },\n },\n ndata: {\n type: \"integer\",\n minimum: 0,\n maximum: 100000,\n default: 0,\n },\n expires: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"iotGateway.json\",\n title: \"Gateway\",\n description:\n \"Any smart gateway that is an entrypoint for controlling devices\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n offline: {\n type: \"boolean\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n status: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"status\", \"driver\"],\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"identification.json\",\n title: \"Identification\",\n type: \"object\",\n required: [\"type\"],\n additionalProperties: false,\n oneOf: [\n {\n required: [\"number\"],\n },\n {\n required: [\"encryptedNumber\"],\n },\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"driversLicense\", \"passport\", \"identityCard\", \"visa\"],\n },\n number: {\n type: \"string\",\n },\n maskedNumber: {\n type: \"string\",\n },\n encryptedNumber: {\n type: \"string\",\n },\n issued: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n expires: {\n type: [\"string\", \"object\", \"null\"],\n format: \"date-time\",\n },\n verified: {\n type: \"boolean\",\n },\n matched: {\n type: \"boolean\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n issuingCountry: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"issue.json\",\n title: \"Issue\",\n description: \"An issue associated with ticketing and concierge.\",\n type: \"object\",\n required: [\"id\", \"type\", \"name\", \"department\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"issue\"],\n default: \"issue\",\n },\n name: {\n type: \"string\",\n },\n description: {\n type: \"string\",\n },\n department: {\n type: \"string\",\n },\n autoAssign: {\n type: \"object\",\n properties: {\n userId: {\n type: \"string\",\n description: \"The user ID to assign tickets with this issue to.\",\n },\n vendorId: {\n type: \"string\",\n description: \"The vendor ID to assign tickets with this issue to.\",\n },\n priority: {\n $ref: \"ticket.json#/properties/priority\",\n description: \"The priority to assign tickets with this issue to.\",\n },\n tags: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n notify: {\n type: \"array\",\n description: \"A list of entities to notify when this issue is triggered.\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"discriminator\"],\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the entity to notify.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n },\n },\n },\n systemKey: {\n type: \"string\",\n },\n autoCreateTicket: {\n type: \"boolean\",\n default: true,\n },\n excludedResources: {\n type: \"array\",\n description:\n \"A list of resources that should not trigger notifications of this issue\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"lock.json\",\n title: \"Lock\",\n description: \"Any smart lock\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n state: {\n type: [\"string\", \"null\"],\n enum: [\"locked\", \"unlocked\", null],\n },\n mode: {\n type: [\"string\", \"null\"],\n enum: [\n \"normal\",\n \"autoLock\",\n \"emergencyOpen\",\n \"emergencyClose\",\n \"holdOpen\",\n \"lockdown\",\n null,\n ],\n description:\n \"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated\",\n default: null,\n },\n supportedModes: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\n \"normal\",\n \"autoLock\",\n \"emergencyOpen\",\n \"emergencyClose\",\n \"holdOpen\",\n \"lockdown\",\n null,\n ],\n },\n },\n batteryLevel: {\n $ref: \"definitions.json#/definitions/batteryLevel\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n required: [\"id\", \"type\", \"state\", \"driver\"],\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"log.json\",\n title: \"Log\",\n type: \"object\",\n required: [\"type\", \"timestamp\", \"id\", \"driver\", \"name\"],\n properties: {\n type: {\n type: \"string\",\n default: \"log\",\n enum: [\"log\"],\n },\n timestamp: {\n type: \"number\",\n minimum: 1655907956593,\n },\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n name: {\n type: \"string\",\n description: \"Event name\",\n },\n field1: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field2: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field3: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field4: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field5: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n field6: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: {\n name: {\n type: \"string\",\n },\n value: {\n type: \"string\",\n },\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"mediaFile.json\",\n title: \"Media File\",\n description: \"Any media file\",\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"mediaFile\",\n enum: [\"mediaFile\"],\n },\n name: {\n type: \"string\",\n },\n fileHash: {\n type: \"string\",\n },\n category: {\n type: \"string\",\n description: \"This is the category id\",\n },\n mimeType: {\n type: \"string\",\n enum: [\n \"image/*\",\n \"image/jpeg\",\n \"image/png\",\n \"image/gif\",\n \"image/webp\",\n \"image/avif\",\n \"image/svg+xml\",\n \"application/pdf\",\n ],\n },\n data: {\n type: \"string\",\n },\n url: {\n type: \"string\",\n format: \"uri\",\n },\n width: {\n type: \"integer\",\n minimum: 0,\n },\n height: {\n type: \"integer\",\n minimum: 0,\n },\n size: {\n type: \"integer\",\n minimum: 0,\n description: \"Size in bytes\",\n },\n uploadUrl: {\n type: \"string\",\n format: \"uri\",\n },\n uploadUrlExpires: {\n $ref: \"definitions.json#/definitions/date\",\n },\n createdBy: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n additionalProperties: false,\n required: [\"type\"],\n};\n\nfunction createImageVariant(params) {\n if (this.mimeType != \"image/*\")\n throw new Error(\"Only dynamic images can have variants\");\n if (!this.url) throw new Error(\"MediaFile has no url\");\n // convert params to \"key=value\" pairs\n const query = Object.keys(params)\n .map((key) => `${key}=${params[key]}`)\n .join(\",\");\n\n // replace the final /public with the query above\n return this.url.replace(/\\/public$/, `/${query}`);\n}\n\nexport const methods = {\n createImageVariant: createImageVariant,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"mediaSource.json\",\n title: \"Media Source\",\n description: \"Any media source\",\n type: \"object\",\n required: [\"id\", \"type\", \"discriminator\", \"audio\", \"video\", \"driver\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"mediaSource\",\n enum: [\"mediaSource\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"tv\",\n \"dvr\",\n \"appleTv\",\n \"discPlayer\",\n \"mediaPlayer\",\n \"paSystem\",\n \"uncontrolledDevice\",\n ],\n },\n playlists: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n },\n },\n },\n remote: {\n type: \"string\",\n enum: [\n \"MR22GA\",\n \"XRT260\",\n \"XRT270\",\n \"HOF-16K 1.2\",\n \"219863500\",\n \"SONIFI\",\n \"AKB76039803\",\n \"BN59-01388A\",\n ],\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n audio: {\n type: \"boolean\",\n },\n video: {\n type: \"boolean\",\n },\n powerFeedback: {\n type: \"boolean\",\n },\n volumeFeedback: {\n type: \"boolean\",\n },\n muted: {\n type: \"boolean\",\n },\n volume: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n brightness: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n contrast: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n power: {\n type: \"string\",\n enum: [\"on\", \"off\"],\n },\n input: {\n type: \"string\",\n },\n supportedInputs: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n supportedOutputs: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n command: {\n type: [\"string\", \"null\"],\n enum: [\n \"mute\",\n \"volumeUp\",\n \"volumeDown\",\n \"brightnessUp\",\n \"brightnessDown\",\n \"channelUp\",\n \"channelDown\",\n \"number0\",\n \"number1\",\n \"number2\",\n \"number3\",\n \"number4\",\n \"number5\",\n \"number6\",\n \"number7\",\n \"number8\",\n \"number9\",\n \"lastChannel\",\n \"display\",\n \"favoriteChannel\",\n \"play\",\n \"playing\",\n \"stop\",\n \"stopped\",\n \"pause\",\n \"paused\",\n \"fastForward\",\n \"fastForwarding\",\n \"rewind\",\n \"rewinding\",\n \"instantReplay\",\n \"record\",\n \"ac3\",\n \"pvrMenu\",\n \"guide\",\n \"menu\",\n \"menuUp\",\n \"menuDown\",\n \"menuLeft\",\n \"menuRight\",\n \"pageUp\",\n \"pageDown\",\n \"select\",\n \"exit\",\n \"input\",\n \"power\",\n \"enterChannel\",\n \"enterVolume\",\n \"enterBrightness\",\n \"enterContrast\",\n \"number10\",\n \"number11\",\n \"number12\",\n \"number13\",\n \"number14\",\n \"number15\",\n \"number16\",\n \"number10Plus\",\n \"number20Plus\",\n \"number100\",\n \"dash\",\n \"threeChan\",\n \"threeD\",\n \"sixChan\",\n \"a\",\n \"add\",\n \"alarm\",\n \"am\",\n \"analog\",\n \"angle\",\n \"antenna\",\n \"antennaEast\",\n \"antennaWest\",\n \"aspect\",\n \"audio1\",\n \"audio2\",\n \"audio3\",\n \"audioDumming\",\n \"audioLevelDown\",\n \"audioLevelUp\",\n \"b\",\n \"back\",\n \"c\",\n \"component1\",\n \"component2\",\n \"component3\",\n \"d\",\n \"home\",\n \"list\",\n \"liveTv\",\n \"discreteInputCable\",\n \"powerOff\",\n \"powerOn\",\n \"setupMenu\",\n \"skipForward\",\n \"skipReverse\",\n \"video1\",\n \"video2\",\n \"video3\",\n \"video4\",\n \"video5\",\n \"details\",\n \"hdmi1\",\n \"hdmi2\",\n \"hdmi3\",\n \"cecDeviceList\",\n \"mtsSap\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"alert\",\n \"order\",\n ],\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n additionalProperties: false,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"motionSensor.json\",\n title: \"Motion Sensor\",\n description: \"Any smart motion sensor\",\n type: \"object\",\n required: [\"id\", \"type\", \"driver\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n offline: {\n type: \"boolean\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"order.json\",\n title: \"Order\",\n description: \"A purchase order for products or services.\",\n type: \"object\",\n required: [\"type\", \"status\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"order\",\n enum: [\"order\"],\n },\n orderNumber: {\n type: \"string\",\n },\n status: {\n type: \"string\",\n enum: [\n \"draft\",\n \"pendingPayment\",\n \"processing\",\n \"outForDelivery\",\n \"completed\",\n \"paymentFailed\",\n \"cancelled\",\n \"refunded\",\n ],\n },\n userId: {\n $ref: \"definitions.json#/definitions/id\",\n description: \"User id of purchaser\",\n },\n reservationId: {\n $ref: \"definitions.json#/definitions/id\",\n description: \"Reservation id if the order is for a reservation\",\n },\n date: {\n $ref: \"definitions.json#/definitions/date\",\n },\n items: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"price\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n sku: {\n type: \"string\",\n },\n quantity: {\n type: \"number\",\n default: 1,\n },\n price: {\n type: \"number\",\n },\n taxClass: {\n type: \"string\",\n },\n deliveryClass: {\n type: \"string\",\n },\n productId: {\n type: \"string\",\n },\n },\n },\n },\n taxes: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"rate\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n class: {\n type: \"string\",\n },\n rateType: {\n type: \"string\",\n enum: [\"percentage\", \"flat\"],\n default: \"percentage\",\n },\n rate: {\n type: \"number\",\n },\n total: {\n type: \"number\",\n },\n },\n },\n },\n fees: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"price\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n price: {\n type: \"number\",\n },\n },\n },\n },\n delivery: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"name\", \"rate\"],\n properties: {\n additionalProperties: false,\n name: {\n type: \"string\",\n },\n class: {\n type: \"string\",\n },\n rateType: {\n type: \"string\",\n enum: [\"percentage\", \"flat\"],\n default: \"percentage\",\n },\n rate: {\n type: \"number\",\n },\n total: {\n type: \"number\",\n },\n },\n },\n },\n payments: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n method: {\n type: \"string\",\n enum: [\n \"folio\",\n \"invoice\",\n \"amex\",\n \"visa\",\n \"masterCard\",\n \"maestro\",\n \"discover\",\n \"diners\",\n \"jcb\",\n \"applePay\",\n \"alipay\",\n \"chinaUnionPay\",\n \"vpay\",\n ],\n },\n name: {\n type: \"string\",\n },\n date: {\n $ref: \"definitions.json#/definitions/date\",\n },\n amount: {\n type: \"number\",\n },\n transactionReference: {\n type: \"string\",\n },\n },\n },\n },\n },\n};\n\nfunction getSubTotal() {\n return this.items.reduce((acc, item) => {\n const qty = item.quantity || 1;\n return acc + item.price * qty;\n }, 0);\n}\n\nfunction getTaxTotal() {\n const taxes = this.taxes;\n if (!taxes) return 0;\n return this.items.reduce((acc, item) => {\n if (!item.taxClass) return acc;\n const tax = taxes.find((t) => t.class === item.taxClass);\n if (!tax) return acc;\n const { rateType, rate } = tax;\n if (rateType === \"percentage\") {\n return acc + item.price * rate;\n }\n if (rateType === \"flat\") {\n return acc + rate;\n }\n return acc + rate;\n }, 0);\n}\n\nfunction getDeliveryTotal() {\n const delivery = this.delivery;\n if (!delivery) return 0;\n return this.items.reduce((acc, item) => {\n if (!item.deliveryClass) return acc;\n const d = delivery.find((d) => d.class === item.deliveryClass);\n if (!d) return acc;\n const { rateType, rate } = d;\n if (rateType === \"percentage\") {\n return acc + item.price * rate;\n }\n return acc + rate;\n }, 0);\n}\n\nfunction getFeesTotal() {\n const fees = this.fees;\n return fees.reduce((acc, fee) => {\n return acc + fee.price;\n }, 0);\n}\n\nfunction getTotal() {\n return (\n this.getSubTotal() +\n this.getTaxTotal() +\n this.getDeliveryTotal() +\n this.getFeesTotal()\n );\n}\n\nfunction getPaymentsTotal() {\n return this.payments.reduce((acc, payment) => {\n return acc + payment.amount;\n }, 0);\n}\n\nfunction getBalance() {\n return this.getTotal() - this.getPaymentsTotal();\n}\n\nexport const methods = {\n getSubTotal: getSubTotal,\n getTaxTotal: getTaxTotal,\n getDeliveryTotal: getDeliveryTotal,\n getFeesTotal: getFeesTotal,\n getTotal: getTotal,\n getPaymentsTotal: getPaymentsTotal,\n getBalance: getBalance,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"organization.json\",\n title: \"Organization\",\n type: \"object\",\n description:\n \"An organization is a group or entity that subscribes to Kohost software.\",\n required: [\"accountNumber\", \"name\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"organization\",\n enum: [\"organization\"],\n },\n accountNumber: {\n type: [\"number\", \"null\"],\n minimum: 10000,\n },\n name: {\n type: \"string\",\n },\n properties: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n hostname: {\n type: [\"string\", \"null\"],\n },\n appManifest: {\n type: \"object\",\n\n properties: {\n name: {\n type: \"string\",\n },\n short_name: {\n type: \"string\",\n },\n scope: {\n type: \"string\",\n },\n start_url: {\n type: \"string\",\n },\n themeColor: {\n type: \"string\",\n },\n backgroundColor: {\n type: \"string\",\n },\n display: {\n type: \"string\",\n enum: [\"fullscreen\", \"standalone\", \"minimal-ui\", \"browser\"],\n default: \"fullscreen\",\n },\n orientation: {\n type: \"string\",\n enum: [\"portrait\", \"landscape\"],\n default: \"portrait\",\n },\n splash: {\n type: \"object\",\n properties: {\n src: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n },\n sizes: {\n type: \"string\",\n },\n },\n },\n icons: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n src: {\n type: \"string\",\n },\n sizes: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n },\n },\n },\n },\n logo: {\n type: \"object\",\n properties: {\n src: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n },\n sizes: {\n type: \"string\",\n },\n },\n },\n },\n default: {\n name: \"Kohost\",\n short_name: \"Kohost\",\n start_url: \"/\",\n scope: \"/\",\n display: \"fullscreen\",\n orientation: \"portrait\",\n theme_color: \"#1d1f22\",\n background_color: \"#1d1f22\",\n icons: [\n {\n src: \"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512\",\n sizes: \"512x512\",\n type: \"image/png\",\n },\n ],\n splash: {\n src: \"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500\",\n sizes: \"1500x800\",\n type: \"image/jpg\",\n },\n logo: {\n src: \"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75\",\n sizes: \"300x75\",\n type: \"image/png\",\n },\n },\n },\n tickets: {\n type: \"object\",\n properties: {\n nextTicketNumber: {\n type: [\"string\", \"integer\"],\n default: 1,\n },\n },\n },\n credentials: {\n type: \"object\",\n additionalProperties: true,\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"payment.json\",\n title: \"Payment\",\n type: \"object\",\n required: [\"type\", \"maskedNumber\", \"expires\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\n \"amex\",\n \"visa\",\n \"masterCard\",\n \"maestro\",\n \"discover\",\n \"diners\",\n \"jcb\",\n \"applePay\",\n \"alipay\",\n \"chinaUnionPay\",\n \"vpay\",\n ],\n },\n enabled: {\n type: \"boolean\",\n default: true,\n },\n storageData: {\n type: [\"string\", \"null\"],\n },\n maskedNumber: {\n type: \"string\",\n },\n issued: {\n type: [\"string\", \"null\"],\n },\n expires: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"policy.json\",\n title: \"Policy\",\n description:\n \"A policy is a set of permissions that can be applied to a user to limit their access to resources.\",\n type: \"object\",\n required: [\n \"name\",\n \"type\",\n \"organizationId\",\n \"propertyId\",\n \"permissions\",\n \"discriminator\",\n ],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"policy\",\n enum: [\"policy\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n description: {\n type: \"string\",\n },\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n permissions: {\n type: \"array\",\n items: {\n type: \"object\",\n required: [\"entities\", \"effect\"],\n properties: {\n entities: {\n type: \"array\",\n items: {\n type: \"string\",\n pattern: \"^[^:]+(:.+)+$\",\n },\n },\n effect: {\n type: \"string\",\n enum: [\"Allow\", \"Deny\"],\n },\n },\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"product.json\",\n title: \"Product\",\n type: \"object\",\n required: [\"name\", \"price\", \"driver\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"product\",\n enum: [\"product\"],\n },\n name: {\n type: \"string\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n description: {\n type: \"string\",\n },\n price: {\n type: \"number\",\n },\n tax: {\n type: [\"number\", \"null\"],\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n category: {\n type: \"string\",\n },\n imageUrl: {\n type: \"string\",\n format: \"uri\",\n pattern: \"^https?://\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"property.json\",\n title: \"Property\",\n type: \"object\",\n description: \"A property is a physical asset or building\",\n required: [\"id\", \"name\", \"type\", \"organization\", \"timezone\", \"discriminator\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n default: \"property\",\n enum: [\"property\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\"hospitality\", \"education\", \"commercial\", \"storage\"],\n },\n organization: {\n type: [\"string\", \"null\"],\n description: \"Reference (id) to the organization that owns this property\",\n },\n departments: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n testModeEnabled: {\n type: \"boolean\",\n },\n testMode: {\n type: \"object\",\n properties: {\n notificationEmails: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with these email addresses will receive notifications in test mode, including sms, email, or push.\",\n },\n notificationEmailDomains: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description:\n \"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push.\",\n },\n },\n },\n timezone: {\n type: \"string\",\n description: \"IANA timezone string\",\n pattern: \"^([a-zA-Z]+/[a-zA-Z_]+)$\",\n examples: [\"America/New_York\", \"America/Los_Angeles\"],\n },\n smsNumber: {\n type: \"string\",\n },\n checkInTime: {\n type: \"string\",\n },\n checkOutTime: {\n type: \"string\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n latitude: {\n type: \"number\",\n },\n longitude: {\n type: \"number\",\n },\n appFeatures: {\n type: \"object\",\n properties: {\n RoomControl: {\n type: \"object\",\n properties: {\n disabledSystems: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\"climate\", \"lights\", \"shades\", \"tv\", \"doors\"],\n },\n },\n excludedDeviceIds: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n commonAreas: {\n type: \"object\",\n properties: {\n spaces: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n alarmConfig: {\n type: \"object\",\n patternProperties: {\n \"^[a-zA-Z0-9]+$\": {\n type: \"object\",\n properties: {\n zoneLockMap: {\n type: \"object\",\n description: \"Maps zone numbers to lock ids\",\n additionalProperties: { type: \"string\" },\n },\n },\n },\n },\n examples: [\n {\n wZz7hucY: {\n zoneLockMap: {\n 1: \"wc87hucc\",\n 2: \"bc86hzxc\",\n 3: \"zv5ah5jv\",\n },\n },\n },\n ],\n },\n },\n additionalProperties: false,\n },\n CheckIn: {\n type: \"object\",\n properties: {\n payment: {},\n identification: {},\n earlyCheckIn: {\n type: \"object\",\n required: [\"dynamic\"],\n properties: {\n dynamic: {\n type: \"boolean\",\n default: false,\n },\n minimumPrice: {\n type: \"number\",\n default: 10,\n },\n maximumPrice: {\n type: \"number\",\n default: 50,\n },\n priceRatioPerHour: {\n type: \"number\",\n default: 0.1,\n },\n minimumTime: {\n type: \"string\",\n },\n },\n },\n roomUpgrades: {},\n pet: {},\n promos: {},\n },\n },\n CheckOut: {\n type: \"object\",\n properties: {\n lateCheckOut: {\n type: \"object\",\n required: [\"dynamic\"],\n properties: {\n dynamic: {\n type: \"boolean\",\n default: false,\n },\n minimumPrice: {\n type: \"number\",\n default: 10,\n },\n maximumPrice: {\n type: \"number\",\n default: 50,\n },\n priceRatioPerHour: {\n type: \"number\",\n default: 0.1,\n },\n },\n },\n },\n },\n Concierge: {\n type: \"object\",\n properties: {\n timeTracking: {\n type: \"boolean\",\n default: false,\n },\n tipping: {\n type: \"boolean\",\n default: false,\n },\n feedback: {\n type: \"boolean\",\n default: true,\n },\n ratings: {\n type: \"boolean\",\n default: true,\n },\n newTicketCCs: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n default: [],\n },\n newMessageChannel: {\n type: [\"string\", \"null\"],\n enum: [\"sms\", \"email\"],\n default: \"sms\",\n description:\n \"Determines how users should be notified of new messages in the concierge system\",\n },\n quickServices: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n },\n description: {\n type: \"string\",\n },\n department: {\n type: \"string\",\n },\n image: {\n $ref: \"mediaFile.json\",\n },\n },\n required: [\"name\", \"description\", \"image\"],\n },\n },\n issues: {\n type: \"object\",\n properties: {\n syncWithPropertyId: {\n type: \"string\",\n },\n },\n },\n },\n },\n DigitalKey: {\n type: \"object\",\n properties: {\n system: {\n type: \"string\",\n enum: [\"salto\", \"dormakaba\"],\n },\n systemOnline: {\n type: \"boolean\",\n default: false,\n },\n systemConfig: {\n type: \"object\",\n properties: {\n legicUrl: {\n type: \"string\",\n format: \"uri\",\n },\n legicWalletName: {\n type: \"string\",\n },\n legicAppId: {\n type: \"number\",\n },\n legicTechUsername: {\n type: \"string\",\n },\n legicTechPassword: {\n type: \"string\",\n },\n },\n additionalProperties: false,\n default: {},\n },\n enableApp: {\n type: \"boolean\",\n },\n branding: {\n type: \"object\",\n properties: {\n logo: {\n type: \"string\",\n format: \"uri\",\n },\n gradient: {\n type: \"array\",\n items: {\n type: \"string\",\n pattern: \"^(?!#ffffff)(#[0-9a-fA-F]{6})$\",\n },\n minItems: 2,\n maxItems: 2,\n },\n highlightedGradient: {\n type: \"array\",\n items: {\n type: \"string\",\n pattern: \"^(?!#ffffff)(#[0-9a-fA-F]{6})$\",\n },\n minItems: 2,\n maxItems: 3,\n },\n },\n },\n },\n },\n SOS: {\n type: \"object\",\n properties: {\n active: {\n type: \"boolean\",\n },\n activeEmergencies: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\n \"medical\",\n \"fire\",\n \"suspiciousPerson\",\n \"other\",\n \"conflict\",\n \"shooter\",\n ],\n },\n },\n },\n },\n Elevator: {\n type: \"object\",\n },\n Experiences: {\n type: \"object\",\n },\n Dining: {\n type: \"object\",\n properties: {\n system: {\n type: \"string\",\n enum: [\"gotab\"],\n },\n systemConfig: {\n type: \"object\",\n properties: {\n landingUrl: {\n type: \"string\",\n format: \"uri\",\n },\n includeUserDetails: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n },\n Rentals: { type: \"object\" },\n Shop: { type: \"object\" },\n Spa: { type: \"object\" },\n Valet: { type: \"object\" },\n },\n additionalProperties: false,\n default: {\n RoomControl: {},\n },\n },\n notifications: {\n type: \"object\",\n properties: {\n email: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n sms: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n push: {\n type: \"object\",\n properties: {\n enabled: {\n type: \"boolean\",\n },\n },\n additionalProperties: false,\n },\n },\n additionalProperties: false,\n default: {\n email: {\n enabled: false,\n },\n sms: {\n enabled: false,\n },\n push: {\n enabled: false,\n },\n },\n },\n credentials: {\n type: \"object\",\n additionalProperties: true,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"reservation.json\",\n title: \"Reservation\",\n type: \"object\",\n required: [\"type\", \"status\", \"checkInDateTime\", \"checkOutDateTime\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n primaryGuest: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n default: \"reservation\",\n enum: [\"reservation\"],\n },\n sharedGuests: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n spaceCategory: {\n type: \"string\",\n },\n space: {\n type: [\"string\", \"null\"],\n },\n previousSpace: {\n type: [\"string\", \"null\"],\n default: null,\n description: \"Used when there was a space assigned and it changes\",\n },\n status: {\n type: \"string\",\n enum: [\n \"reserved\",\n \"checkedIn\",\n \"checkedOut\",\n \"cancelled\",\n \"noShow\",\n \"enquired\",\n \"requested\",\n \"optional\",\n ],\n description:\n \" reserved - confirmed by both parties, before check-in\\n checkedIn - checked in\\n checkedOut - checked out\\n cancelled - Cancelled\\n noShow - No show\\n enquired - Confirmed neither by the customer nor enterprise\\n requested - Confirmed by the customer but not the enterprise (waitlist)\\n optional - Confirmed by the enterprise but not the customer (holding)\",\n },\n mobileCheckInSpaceCategoryChanged: {\n type: \"boolean\",\n description: \"spaceCategory has changed from original.\",\n },\n mobileCheckInSpaceChanged: {\n type: \"boolean\",\n },\n mobileCheckInStatus: {\n type: \"string\",\n enum: [\n \"ready\",\n \"blocked\",\n \"preArrivalStepsRequired\",\n \"spaceNotAssigned\",\n \"spaceNotReady\",\n \"checkInTimeNotStarted\",\n ],\n },\n mobileCheckInStatusMessage: {\n type: \"string\",\n },\n confirmationNumber: {\n type: \"string\",\n },\n expectedCheckInDateTime: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n description: \"Expected arrival time of guest.\",\n },\n checkInDateTime: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n checkOutDateTime: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n adultCount: {\n type: \"number\",\n default: 1,\n minimum: 1,\n },\n childCount: {\n type: \"number\",\n default: 0,\n },\n\n spaceCategoryAvailabilites: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n },\n price: {\n type: \"number\",\n },\n unit: {\n type: \"string\",\n enum: [\"night\", \"stay\", \"hour\"],\n },\n isUpgrade: {\n type: \"boolean\",\n },\n },\n },\n },\n revenue: {\n $ref: \"definitions.json#/definitions/revenue\",\n },\n rateSuppressed: {\n type: \"boolean\",\n },\n payment: {\n type: \"string\",\n },\n company: {\n type: \"string\",\n },\n travelAgent: {\n type: \"string\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n metadata: {\n $ref: \"definitions.json#/definitions/metadata\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n};\n\nfunction checkInTime(tz) {\n return new Date(this.checkInDateTime).toLocaleString(\"default\", {\n hour: \"numeric\",\n minute: \"numeric\",\n timeZone: tz,\n });\n}\n\nfunction checkOutTime(tz) {\n return new Date(this.checkOutDateTime).toLocaleString(\"default\", {\n hour: \"numeric\",\n minute: \"numeric\",\n timeZone: tz,\n });\n}\n\nfunction getNights() {\n const start = new Date(this.checkInDateTime);\n const end = new Date(this.checkOutDateTime);\n let nights = Math.round((end - start) / (1000 * 60 * 60 * 24));\n if (nights <= 0) {\n nights = 1;\n }\n return nights;\n}\n\nexport const methods = {\n checkInTime,\n checkOutTime,\n getNights,\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"room.json\",\n title: \"Room\",\n description: \"A room represents a physical space of controllable IoT devices\",\n type: \"object\",\n required: [\"id\", \"name\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"room\"],\n default: \"room\",\n },\n name: {\n type: \"string\",\n },\n floor: {\n type: \"string\",\n },\n dimmers: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"dimmer.json\",\n },\n },\n switches: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"switch.json\",\n },\n },\n thermostats: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"thermostat.json\",\n },\n },\n locks: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"lock.json\",\n },\n },\n windowCoverings: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"windowCovering.json\",\n },\n },\n courtesy: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"courtesy.json\",\n },\n },\n cameras: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"camera.json\",\n },\n },\n mediaSources: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"mediaSource.json\",\n },\n },\n motionSensors: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"motionSensor.json\",\n },\n },\n alarms: {\n type: \"array\",\n default: [],\n items: {\n $ref: \"alarm.json\",\n },\n },\n occupiedAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n additionalProperties: false,\n};\n\nexport const getters = {\n /**\n * Check if the room has any dimmers\n * @returns {boolean} True if the room has dimmers, false otherwise\n */\n hasDimmer() {\n return this.dimmers?.length > 0;\n },\n\n /**\n * Check if the room has any switches\n * @returns {boolean} True if the room has switches, false otherwise\n */\n hasSwitch() {\n return this.switches?.length > 0;\n },\n\n /**\n * Check if the room has any window coverings\n * @returns {boolean} True if the room has window coverings, false otherwise\n */\n hasWindowCovering() {\n return this.windowCoverings?.length > 0;\n },\n\n /**\n * Alias for hasWindowCovering\n * @returns {boolean} True if the room has window coverings/shades, false otherwise\n */\n hasShade() {\n return this.hasWindowCovering;\n },\n\n /**\n * Check if the room has any thermostats\n * @returns {boolean} True if the room has thermostats, false otherwise\n */\n hasThermostat() {\n return this.thermostats?.length > 0;\n },\n\n /**\n * Alias for hasThermostat\n * @returns {boolean} True if the room has climate control, false otherwise\n */\n hasClimate() {\n return this.hasThermostat;\n },\n\n /**\n * Check if the room has any locks\n * @returns {boolean} True if the room has locks, false otherwise\n */\n hasLock() {\n return this.locks?.length > 0;\n },\n\n /**\n * Check if the room has any courtesy devices\n * @returns {boolean} True if the room has courtesy devices, false otherwise\n */\n hasCourtesy() {\n return this.courtesy?.length > 0;\n },\n\n /**\n * Check if the room has any cameras\n * @returns {boolean} True if the room has cameras, false otherwise\n */\n hasCamera() {\n return this.cameras?.length > 0;\n },\n\n /**\n * Check if the room has any media sources\n * @returns {boolean} True if the room has media sources, false otherwise\n */\n hasMedia() {\n return this.mediaSources?.length > 0;\n },\n\n /**\n * Check if the room has any lighting devices (dimmers or switches marked as lights/fans)\n * @returns {boolean} True if the room has lighting devices, false otherwise\n */\n hasLight() {\n const hasDiscriminatorLight = this.switches?.some((sw) => {\n return sw.discriminator === \"light\" || sw.discriminator === \"fan\";\n });\n return this.hasDimmer || hasDiscriminatorLight;\n },\n\n hasAlarm() {\n return this.alarms?.length > 0;\n },\n\n /**\n * Check if the room is currently occupied (within the last 60 minutes)\n * @returns {boolean} True if the room was occupied within the last hour, false otherwise\n */\n occupied() {\n const now = new Date();\n const lastOccupied = new Date(this.occupiedAt);\n const diff = now.getTime() - lastOccupied.getTime();\n return diff < 60 * 60 * 1000;\n },\n};\n\nexport const statics = {\n /**\n * Get the device path for a given device type\n * @param {string} type - The device type\n * @returns {\"mediaSources\" | \"courtesy\" | \"dimmers\" | \"thermostats\" | \"locks\" | \"windowCoverings\" | \"switches\" | \"cameras\" | \"motionSensors\" | \"alarms\"} The device path\n * @throws {Error} If the device type is invalid\n */\n getDevicePath(type) {\n switch (type) {\n case \"tv\":\n case \"dvr\":\n case \"appleTv\":\n case \"discPlayer\":\n case \"mediaPlayer\":\n case \"uncontrolledDevice\":\n case \"mediaSource\":\n return \"mediaSources\";\n case \"courtesy\":\n return \"courtesy\";\n case \"switch\":\n return \"switches\";\n case \"dimmer\":\n return \"dimmers\";\n case \"thermostat\":\n return \"thermostats\";\n case \"lock\":\n return \"locks\";\n case \"windowCovering\":\n return \"windowCoverings\";\n case \"camera\":\n return \"cameras\";\n case \"motionSensor\":\n return \"motionSensors\";\n case \"alarm\":\n return \"alarms\";\n\n default:\n throw new Error(\"Invalid device type:\" + type);\n }\n },\n /**\n *\n * @param {string} path\n * @returns\n */\n getDeviceTypeFromPath(path) {\n const validPaths = [\n \"dimmers\",\n \"switches\",\n \"thermostats\",\n \"locks\",\n \"windowCoverings\",\n \"courtesy\",\n \"cameras\",\n \"mediaSources\",\n \"motionSensors\",\n \"alarms\",\n ];\n if (!validPaths.includes(path))\n throw new Error(\"Invalid device path:\" + path);\n switch (path) {\n case \"courtesy\":\n return path;\n case \"switches\":\n return \"switch\";\n default:\n return path.slice(0, -1);\n }\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"scene.json\",\n title: \"Scene\",\n description: \"A room represents a physical space of controllable IoT devices\",\n type: \"object\",\n required: [\"id\", \"name\", \"type\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n description: {\n type: \"string\",\n },\n type: {\n type: \"string\",\n enum: [\"scene\"],\n default: \"scene\",\n },\n devices: {\n type: \"object\",\n properties: {\n switches: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n state: {\n $ref: \"switch.json#/properties/state\",\n },\n },\n default: [],\n },\n },\n dimmers: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n level: {\n $ref: \"dimmer.json#/properties/level\",\n },\n },\n },\n default: [],\n },\n windowCoverings: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n position: {\n $ref: \"windowCovering.json#/properties/position\",\n },\n },\n },\n default: [],\n },\n thermostats: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n hvacMode: {\n $ref: \"thermostat.json#/properties/hvacMode\",\n },\n setpoints: {\n $ref: \"thermostat.json#/properties/setpoints\",\n },\n fanMode: {\n $ref: \"thermostat.json#/properties/fanMode\",\n },\n setpointDelta: {\n type: \"number\",\n },\n },\n },\n default: [],\n },\n mediaSources: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n volume: {\n type: \"number\",\n minimum: 0,\n maximum: 100,\n },\n commands: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n },\n },\n },\n locks: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n state: {\n $ref: \"lock.json#/properties/state\",\n },\n mode: {\n $ref: \"lock.json#/properties/mode\",\n },\n },\n },\n },\n },\n additionalProperties: false,\n },\n isDefault: {\n type: \"boolean\",\n default: false,\n },\n showOnUi: {\n type: \"boolean\",\n default: true,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"shortLink.json\",\n title: \"Short Link\",\n type: \"object\",\n required: [\"destination\", \"url\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"shortLink\",\n enum: [\"shortLink\"],\n },\n title: {\n type: \"string\",\n },\n destination: {\n type: \"string\",\n format: \"uri\",\n },\n url: {\n type: \"string\",\n format: \"uri\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"smsMessage.json\",\n title: \"Sms Message\",\n type: \"object\",\n required: [\"to\", \"from\", \"status\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"smsMessage\",\n enum: [\"smsMessage\", \"whatsappMessage\"],\n },\n to: {\n type: \"string\",\n },\n from: {\n type: \"string\",\n },\n media: {\n type: \"string\",\n format: \"uri\",\n },\n status: {\n type: \"string\",\n enum: [\n \"queued\",\n \"accepted\",\n \"sending\",\n \"sent\",\n \"failed\",\n \"delivered\",\n \"undelivered\",\n \"receiving\",\n \"received\",\n \"read\",\n ],\n },\n body: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n appData: {\n type: \"object\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"space.json\",\n title: \"Space\",\n type: \"object\",\n required: [\"id\", \"name\", \"type\"],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n minLength: 1,\n },\n type: {\n type: \"string\",\n default: \"space\",\n enum: [\"space\"],\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"classRoom\",\n \"hotelRoom\",\n \"office\",\n \"building\",\n \"commonArea\",\n \"conferenceRoom\",\n \"lobby\",\n \"gym\",\n \"pool\",\n \"restaurant\",\n \"unit\",\n ],\n },\n floor: {\n type: \"string\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n category: {\n type: \"string\",\n description: \"This is the category id\",\n },\n rooms: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n occupied: {\n type: \"boolean\",\n },\n inUse: {\n type: \"boolean\",\n },\n eco: {\n type: \"object\",\n additionalProperties: false,\n default: {\n active: false,\n allowed: false,\n previousState: null,\n },\n properties: {\n active: {\n type: \"boolean\",\n default: false,\n },\n activatedAt: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n allowed: {\n type: \"boolean\",\n default: false,\n },\n previousState: {\n type: [\"object\", \"null\"],\n properties: {\n thermostats: {\n type: \"object\",\n patternProperties: {\n \".*\": {\n type: \"object\",\n properties: {\n setpoints: {\n $ref: \"thermostat.json#/properties/setpoints\",\n },\n },\n },\n },\n },\n },\n additionalProperties: false,\n },\n },\n },\n features: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\"pet\"],\n },\n },\n maximumOccupancy: {\n type: \"number\",\n minimum: 1,\n },\n housekeepingStatus: {\n type: \"string\",\n enum: [\"clean\", \"dirty\", \"inspected\", \"pickup\"],\n },\n serviceStatus: {\n type: \"string\",\n enum: [\"inService\", \"outOfOrder\", \"outOfService\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n\nexport const getters = {\n hasDimmer() {\n return this.rooms.some((room) => room.hasDimmer);\n },\n hasSwitch() {\n return this.rooms.some((room) => room.hasSwitch);\n },\n hasWindowCovering() {\n return this.rooms.some((room) => room.hasWindowCovering);\n },\n hasThermostat() {\n return this.rooms.some((room) => room.hasThermostat);\n },\n hasLock() {\n return this.rooms.some((room) => room.hasLock);\n },\n hasCourtesy() {\n return this.rooms.some((room) => room.hasCourtesy);\n },\n hasCamera() {\n return this.rooms.some((room) => room.hasCamera);\n },\n hasAlarm() {\n return this.rooms.some((room) => room.hasAlarm);\n },\n hasMedia() {\n return this.rooms.some((room) => room.hasMedia);\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"switch.json\",\n title: \"Switch\",\n description: \"Any smart switch\",\n type: \"object\",\n required: [\"id\", \"type\", \"state\", \"driver\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"light\", \"fan\", \"irrigation\"],\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n state: {\n type: \"string\",\n enum: [\"on\", \"off\"],\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n restoresAt: {\n type: \"string\",\n format: \"date-time\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"systemUser.json\",\n title: \"System User\",\n description:\n \"A system user is a user that originated from an external 3rd party system.\",\n type: \"object\",\n required: [\"id\", \"firstName\", \"lastName\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"systemUser\",\n enum: [\"systemUser\"],\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n phone: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n email: {\n type: [\"string\", \"null\"],\n format: \"email\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n photo: {\n type: \"string\",\n },\n jobTitle: {\n type: \"string\",\n },\n dob: {\n type: \"string\",\n },\n gender: {\n type: \"string\",\n enum: [\"male\", \"female\"],\n },\n roles: {\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\n \"Guest\",\n \"User\",\n \"Manager\",\n \"Maintenance\",\n \"Administrator\",\n \"SuperAdmin\",\n ],\n },\n },\n nationality: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n notes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n files: {\n type: \"array\",\n items: {\n $ref: \"mediaFile.json#\",\n },\n },\n identifications: {\n type: \"array\",\n items: {\n $ref: \"identification.json#\",\n },\n },\n payments: {\n type: \"array\",\n items: {\n $ref: \"payment.json#\",\n },\n },\n revenue: {\n $ref: \"definitions.json#/definitions/revenue\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"thermostat.json\",\n title: \"Thermostat\",\n description: \"Any smart thermostat\",\n type: \"object\",\n required: [\n \"id\",\n \"type\",\n \"hvacMode\",\n \"fanMode\",\n \"hvacState\",\n \"fanState\",\n \"setpoints\",\n \"temperatureScale\",\n \"supportedHvacModes\",\n \"supportedFanModes\",\n \"driver\",\n ],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n $ref: \"definitions.json#/definitions/name\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n default: \"thermostat\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n currentTemperature: {\n type: \"number\",\n },\n currentHumidity: {\n type: \"number\",\n minimum: 0,\n },\n hvacMode: {\n type: \"string\",\n $ref: \"#/properties/supportedHvacModes/items\",\n },\n hvacState: {\n type: [\"string\", \"null\"],\n enum: [\"cooling\", \"heating\", \"off\", null],\n },\n fanMode: {\n type: \"string\",\n $ref: \"#/properties/supportedFanModes/items\",\n },\n fanState: {\n type: [\"string\", \"null\"],\n enum: [\"off\", \"low\", \"medium\", \"high\", \"on\", null],\n },\n temperatureScale: {\n type: \"string\",\n enum: [\"celsius\", \"fahrenheit\"],\n default: \"fahrenheit\",\n },\n humidityScale: {\n type: [\"string\", \"null\"],\n enum: [\"absolute\", \"relative\", null],\n },\n supportedHvacModes: {\n type: \"array\",\n uniqueItems: true,\n minItems: 2,\n items: {\n enum: [\"cool\", \"heat\", \"auto\", \"off\"],\n },\n },\n supportedFanModes: {\n type: \"array\",\n uniqueItems: true,\n items: {\n enum: [\"auto\", \"low\", \"medium\", \"high\", \"off\", \"on\"],\n },\n },\n setpoints: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n cool: {\n $ref: \"#/$defs/setpoint\",\n },\n heat: {\n $ref: \"#/$defs/setpoint\",\n },\n auto: {\n $ref: \"#/$defs/setpoint\",\n },\n },\n },\n minAutoDelta: {\n type: \"number\",\n default: 3,\n },\n cycleRate: {\n type: \"number\",\n },\n batteryLevel: {\n $ref: \"definitions.json#/definitions/batteryLevel\",\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n $defs: {\n setpoint: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n value: {\n $ref: \"#/$defs/setpointValue\",\n },\n min: {\n $ref: \"#/$defs/setpointMinMax\",\n },\n max: {\n $ref: \"#/$defs/setpointMinMax\",\n },\n },\n },\n setpointValue: {\n type: \"number\",\n minimum: 0,\n maximum: 99,\n },\n setpointMinMax: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 99,\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"ticket.json\",\n title: \"Ticket\",\n description: \"A ticket is a request from a user.\",\n type: \"object\",\n required: [\n \"id\",\n \"conversation\",\n \"requester\",\n \"status\",\n \"tags\",\n \"createdAt\",\n \"updatedAt\",\n ],\n additionalProperties: false,\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n enum: [\"ticket\"],\n default: \"ticket\",\n },\n number: {\n type: \"string\",\n },\n issueId: {\n type: \"string\",\n },\n conversation: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"id\", \"discriminator\", \"timestamp\", \"body\"],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\n \"message\",\n \"opened\",\n \"assigned\",\n \"rated\",\n \"tipped\",\n \"scheduled\",\n \"collaboratorAdded\",\n \"collaboratorRemoved\",\n \"statusChanged\",\n \"priorityChanged\",\n \"scheduleDateChanged\",\n \"locationChanged\",\n ],\n default: \"message\",\n },\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n vendorId: {\n type: \"string\",\n },\n vendorName: {\n type: \"string\",\n },\n systemId: {\n type: \"string\",\n },\n systemName: {\n type: \"string\",\n },\n timestamp: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n body: {\n type: \"string\",\n },\n parsedBody: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n text: {\n type: \"string\",\n },\n mentions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\n \"discriminator\",\n \"id\",\n \"index\",\n \"length\",\n \"originalText\",\n ],\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\", \"system\"],\n },\n index: {\n type: \"integer\",\n },\n length: {\n type: \"integer\",\n },\n originalText: {\n type: \"string\",\n },\n },\n },\n },\n },\n },\n\n readBy: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n },\n media: {\n anyOf: [{ $ref: \"mediaFile.json\" }, { type: \"null\" }],\n },\n },\n },\n },\n subject: {\n type: \"string\",\n },\n openedBy: {\n type: \"object\",\n properties: {\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n systemId: {\n type: \"string\",\n },\n systemName: {\n type: \"string\",\n },\n },\n },\n requester: {\n type: \"object\",\n properties: {\n systemId: {\n type: \"string\",\n },\n systemName: {\n type: \"string\",\n },\n systemPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n userPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n deviceId: {\n type: \"string\",\n },\n roomId: {\n type: \"string\",\n },\n reservationId: {\n type: \"string\",\n },\n spaceId: {\n type: \"string\",\n },\n spaceName: {\n type: \"string\",\n },\n },\n },\n assignedTo: {\n type: \"object\",\n properties: {\n userId: {\n type: \"string\",\n },\n userName: {\n type: \"string\",\n },\n userPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n vendorId: {\n type: \"string\",\n },\n vendorName: {\n type: \"string\",\n },\n vendorPhoto: {\n anyOf: [\n { $ref: \"mediaFile.json\" },\n { type: \"null\" },\n { type: \"string\" },\n ],\n },\n },\n },\n notify: {\n type: \"array\",\n description:\n \"A list of entities to notify when this ticket is created or resolved.\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n description: \"The ID of the entity to notify.\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\"],\n },\n },\n },\n },\n collaborators: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"id\", \"name\", \"discriminator\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n name: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"user\", \"vendor\"],\n },\n },\n },\n },\n location: {\n type: \"object\",\n required: [\"discriminator\", \"name\"],\n additionalProperties: false,\n properties: {\n id: {\n type: \"string\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"room\", \"property\", \"customText\"],\n },\n name: {\n type: \"string\",\n },\n },\n },\n status: {\n type: \"string\",\n enum: [\"open\", \"pending\", \"solved\", \"closed\"],\n default: \"open\",\n },\n priority: {\n type: \"string\",\n enum: [\"low\", \"normal\", \"high\"],\n default: \"normal\",\n },\n tags: {\n type: \"array\",\n default: [],\n items: {\n type: \"string\",\n },\n },\n department: {\n type: \"string\",\n },\n rating: {\n type: \"number\",\n minimum: 0,\n maximum: 5,\n },\n ratingComment: {\n type: \"string\",\n },\n tipAmount: {\n type: \"string\",\n },\n autoCloseAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n scheduleDate: {\n $ref: \"definitions.json#/definitions/date\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n solvedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n closedAt: {\n $ref: \"definitions.json#/definitions/date\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"timeSheet.json\",\n title: \"Time Sheet\",\n type: \"object\",\n required: [\"userId\", \"day\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"timeSheet\",\n enum: [\"timeSheet\"],\n },\n userId: {\n $ref: \"definitions.json#/definitions/id\",\n },\n day: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n locked: {\n type: \"boolean\",\n default: false,\n description: \"If true, the time sheet is locked and cannot be modified\",\n },\n timeEntries: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"working\", \"driving\", \"meeting\", \"break\"],\n },\n start: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n end: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n },\n comment: {\n type: \"string\",\n },\n ticketId: {\n type: \"string\",\n },\n },\n required: [\"start\", \"discriminator\"],\n additionalProperties: false,\n },\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"user.json\",\n title: \"User\",\n type: \"object\",\n required: [\"id\", \"firstName\", \"lastName\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"user\",\n },\n firstName: {\n type: \"string\",\n },\n lastName: {\n type: \"string\",\n },\n phone: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n phoneVerified: {\n type: \"boolean\",\n },\n email: {\n type: [\"string\", \"null\"],\n format: \"email\",\n },\n emailVerified: {\n type: \"boolean\",\n },\n whatsapp: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n whatsappVerified: {\n type: \"boolean\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n secretKey: {\n type: \"string\",\n },\n photo: {\n $ref: \"mediaFile.json#\",\n },\n jobTitle: {\n type: \"string\",\n },\n dob: {\n type: \"string\",\n },\n gender: {\n type: \"string\",\n enum: [\"male\", \"female\"],\n },\n nationality: {\n type: \"string\",\n minLength: 2,\n maxLength: 2,\n },\n permissions: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n required: [\"organizationId\", \"propertyId\", \"role\"],\n properties: {\n organizationId: {\n type: \"string\",\n description:\n \"The ID of the organization the permission is applies to.\",\n },\n propertyId: {\n type: \"string\",\n description: \"The ID of the property the permission is applies to.\",\n },\n role: {\n type: \"string\",\n enum: [\n \"Guest\",\n \"User\",\n \"Agent\",\n \"Manager\",\n \"Maintenance\",\n \"Administrator\",\n \"SuperAdmin\",\n ],\n },\n timeTrackingEnabled: {\n type: \"boolean\",\n description: \"Whether time tracking is enabled for this role.\",\n },\n department: {\n type: \"string\",\n description: \"The department the user belongs to.\",\n },\n policyIds: {\n type: \"array\",\n items: {\n type: \"string\",\n description: \"ID of a policy that is applied to this role.\",\n },\n },\n policies: {\n type: \"array\",\n items: {\n description:\n \"A policy object populated from the policyIds array.\",\n $ref: \"policy.json\",\n },\n },\n },\n additionalProperties: false,\n },\n },\n preferences: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"organizationId\", \"propertyId\"],\n properties: {\n organizationId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n notifications: {\n type: \"array\",\n items: {\n type: \"object\",\n additionalProperties: false,\n required: [\"discriminator\", \"enabled\"],\n properties: {\n discriminator: {\n type: \"string\",\n enum: [\"observerTicketCreated\", \"observerTicketResolved\"],\n },\n enabled: {\n type: \"boolean\",\n },\n },\n },\n },\n },\n },\n },\n notes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n },\n files: {\n type: \"array\",\n items: {\n $ref: \"mediaFile.json#\",\n },\n },\n identifications: {\n type: \"array\",\n items: {\n $ref: \"identification.json#\",\n },\n },\n payments: {\n type: \"array\",\n items: {\n $ref: \"payment.json#\",\n },\n },\n location: {\n type: \"object\",\n required: [\"accuracy\", \"latitude\", \"longitude\", \"timestamp\"],\n additionalProperties: false,\n properties: {\n accuracy: {\n type: [\"number\", \"null\"],\n },\n latitude: {\n type: [\"number\", \"null\"],\n },\n longitude: {\n type: [\"number\", \"null\"],\n },\n timestamp: {\n type: [\"number\", \"null\"],\n },\n },\n },\n reservations: {\n type: \"array\",\n items: {\n $ref: \"reservation.json\",\n },\n },\n spaceName: {\n type: \"string\",\n },\n revenue: {\n $ref: \"definitions.json#/definitions/revenue\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n systems: {\n type: \"array\",\n default: [],\n items: {\n type: \"object\",\n properties: {\n systemId: {\n type: \"string\",\n },\n propertyId: {\n type: \"string\",\n },\n driver: {\n type: \"string\",\n },\n },\n required: [\"systemId\", \"propertyId\", \"driver\"],\n additionalProperties: false,\n },\n },\n },\n};\n\nexport const getters = {\n fullName() {\n return `${this.firstName} ${this.lastName}`;\n },\n roles() {\n const roles = new Set();\n if (this.permissions) {\n for (const permission of this.permissions) {\n roles.add(permission.role);\n }\n }\n return Array.from(roles);\n },\n isSuperAdmin() {\n return this.roles.includes(\"SuperAdmin\");\n },\n isAdmin() {\n return this.roles.includes(\"Admin\") || this.roles.includes(\"Administrator\");\n },\n isManager() {\n return this.roles.includes(\"Manager\");\n },\n isUser() {\n return this.roles.includes(\"User\");\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"vendor.json\",\n title: \"Vendor\",\n type: \"object\",\n required: [\"id\", \"name\", \"email\"],\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n type: {\n type: \"string\",\n default: \"vendor\",\n enum: [\"vendor\"],\n },\n name: {\n type: \"string\",\n },\n phone: {\n type: [\"string\", \"null\"],\n pattern: \"^\\\\+[0-9]{1,14}$\",\n },\n email: {\n type: [\"string\", \"null\"],\n format: \"email\",\n },\n address: {\n $ref: \"definitions.json#/definitions/address\",\n },\n photo: {\n $ref: \"mediaFile.json#\",\n },\n createdAt: {\n $ref: \"definitions.json#/definitions/createdAt\",\n },\n updatedAt: {\n $ref: \"definitions.json#/definitions/updatedAt\",\n },\n },\n};\n","export default {\n $schema: \"http://json-schema.org/draft-07/schema\",\n $id: \"windowCovering.json\",\n title: \"Window Covering\",\n description: \"Any smart window covering\",\n required: [\"id\", \"type\", \"position\", \"driver\"],\n additionalProperties: false,\n type: \"object\",\n properties: {\n id: {\n $ref: \"definitions.json#/definitions/id\",\n },\n name: {\n type: \"string\",\n },\n type: {\n $ref: \"definitions.json#/definitions/type\",\n default: \"windowCovering\",\n },\n discriminator: {\n type: \"string\",\n enum: [\"basic\", \"variable\"],\n default: \"variable\",\n },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: {\n $ref: \"definitions.json#/definitions/notification\",\n },\n driver: {\n $ref: \"definitions.json#/definitions/driver\",\n },\n offline: {\n type: \"boolean\",\n },\n position: {\n type: [\"number\", \"null\"],\n minimum: 0,\n maximum: 100,\n },\n systemId: {\n $ref: \"definitions.json#/definitions/systemId\",\n },\n watts: {\n $ref: \"definitions.json#/definitions/watts\",\n },\n icon: {\n type: \"string\",\n },\n modelNumber: {\n type: \"string\",\n },\n serialNumber: {\n type: \"string\",\n },\n firmwareVersion: {\n type: \"string\",\n },\n },\n};\n"],"mappings":"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","names":["addFormats"]}
|