@kohost/api-client 4.5.3 → 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-3FKDV3W4.js → chunk-2ZHDK2LA.js} +1 -1
- package/dist/{chunk-MWTYSIRS.js → chunk-3JKVMXXF.js} +1 -1
- package/dist/{chunk-MWTYSIRS.js.map → chunk-3JKVMXXF.js.map} +1 -1
- package/dist/{chunk-2WENKTKS.js → chunk-4JO2ZCI2.js} +1 -1
- package/dist/chunk-4JO2ZCI2.js.map +1 -0
- package/dist/{chunk-VLR3CPYE.js → chunk-6U3D7INH.js} +1 -1
- package/dist/chunk-6U3D7INH.js.map +1 -0
- package/dist/{chunk-NXQ5HVAF.js → chunk-7OSTDOUM.js} +1 -1
- package/dist/chunk-7OSTDOUM.js.map +1 -0
- package/dist/{chunk-QYOZLIPR.js → chunk-7VS2JHRH.js} +1 -1
- package/dist/chunk-7VS2JHRH.js.map +1 -0
- package/dist/{chunk-CDUIG4WQ.js → chunk-AQVI4C4C.js} +1 -1
- package/dist/chunk-AQVI4C4C.js.map +1 -0
- package/dist/{chunk-SBXJHZAY.js → chunk-ASUIVB2I.js} +1 -1
- package/dist/{chunk-AMDG4VWD.js → chunk-BAIHVN4F.js} +1 -1
- package/dist/chunk-BAIHVN4F.js.map +1 -0
- package/dist/{chunk-CAQ76IFU.js → chunk-BRZVBG7Y.js} +1 -1
- package/dist/{chunk-D66JCFTT.js → chunk-DGMWQ4PP.js} +1 -1
- package/dist/chunk-DGMWQ4PP.js.map +1 -0
- package/dist/{chunk-2ZCAJFR6.js → chunk-E7DC44YR.js} +1 -1
- package/dist/chunk-E7DC44YR.js.map +1 -0
- package/dist/{chunk-PKWJFH57.js → chunk-EIKLORN2.js} +1 -1
- package/dist/{chunk-4W6JII6E.js → chunk-ET6X74DQ.js} +1 -1
- package/dist/{chunk-4W6JII6E.js.map → chunk-ET6X74DQ.js.map} +1 -1
- package/dist/{chunk-JRY5TCUM.js → chunk-FJGHDCFU.js} +1 -1
- package/dist/{chunk-7T43HWEL.js → chunk-FTA53BGJ.js} +1 -1
- package/dist/chunk-FTA53BGJ.js.map +1 -0
- package/dist/{chunk-O6GKAYC6.js → chunk-G4JQYUAC.js} +1 -1
- package/dist/chunk-G4JQYUAC.js.map +1 -0
- package/dist/{chunk-J5HVSLP7.js → chunk-GJIRL22D.js} +1 -1
- package/dist/{chunk-HB4EGDYH.js → chunk-H4CYVROE.js} +1 -1
- package/dist/chunk-H4CYVROE.js.map +1 -0
- package/dist/{chunk-JG2H6XAB.js → chunk-IKAINY4Q.js} +1 -1
- package/dist/{chunk-VHWAG4ZM.js → chunk-IP2J33M4.js} +1 -1
- package/dist/{chunk-5LFNNWB4.js → chunk-J6NIJCBP.js} +1 -1
- package/dist/{chunk-UW7FP5S6.js → chunk-K4X5REA5.js} +1 -1
- package/dist/chunk-K4X5REA5.js.map +1 -0
- package/dist/{chunk-SPUECDEK.js → chunk-KD5V4VHT.js} +1 -1
- package/dist/{chunk-TOF7KO6L.js → chunk-KJI445LX.js} +1 -1
- package/dist/{chunk-K2OFGN44.js → chunk-KVGMJRXC.js} +1 -1
- package/dist/{chunk-6EUTKLZA.js → chunk-KZGHAUI5.js} +1 -1
- package/dist/{chunk-YTKXZUMB.js → chunk-LNRGAGJF.js} +1 -1
- package/dist/{chunk-6GG7FCXY.js → chunk-MG2VQTNN.js} +1 -1
- package/dist/{chunk-HPW3XWUB.js → chunk-MKUF7EIW.js} +1 -1
- package/dist/{chunk-HPW3XWUB.js.map → chunk-MKUF7EIW.js.map} +1 -1
- package/dist/{chunk-7MNN27JF.js → chunk-NFBNENWO.js} +1 -1
- package/dist/{chunk-7FQ7Z3RO.js → chunk-NX5S46FI.js} +1 -1
- package/dist/chunk-NX5S46FI.js.map +1 -0
- package/dist/{chunk-DYMBTM73.js → chunk-P5SXOPMU.js} +1 -1
- package/dist/chunk-P5SXOPMU.js.map +1 -0
- package/dist/{chunk-3RWMCGZU.js → chunk-PBMLITMC.js} +1 -1
- package/dist/{chunk-VIOFNSO2.js → chunk-PHUGJKO5.js} +1 -1
- package/dist/chunk-PHUGJKO5.js.map +1 -0
- package/dist/{chunk-RT4BGIIF.js → chunk-PWFIE4A4.js} +1 -1
- package/dist/{chunk-RB5HY3XD.js → chunk-QE7MS5GE.js} +1 -1
- package/dist/{chunk-YU7HOW3Q.js → chunk-R2SDRMVZ.js} +1 -1
- package/dist/chunk-R2SDRMVZ.js.map +1 -0
- package/dist/{chunk-FDRRHETK.js → chunk-RQEWUMCP.js} +1 -1
- package/dist/{chunk-MA2VFACS.js → chunk-SIRKWUJR.js} +1 -1
- package/dist/{chunk-BXA5EVPM.js → chunk-SW7K432L.js} +1 -1
- package/dist/{chunk-RPHZUN3P.js → chunk-T2E42CQF.js} +1 -1
- package/dist/{chunk-CY5V5W5V.js → chunk-UEVK66LP.js} +1 -1
- package/dist/chunk-UEVK66LP.js.map +1 -0
- package/dist/chunk-X2PHGWTM.js +1 -0
- package/dist/{chunk-FYZDWPFY.js.map → chunk-X2PHGWTM.js.map} +1 -1
- package/dist/{chunk-H5OAPB2Y.js → chunk-XORT6HQQ.js} +1 -1
- package/dist/{chunk-6VPU637U.js → chunk-XV3KXIH2.js} +1 -1
- package/dist/chunk-XV3KXIH2.js.map +1 -0
- package/dist/{chunk-4NFVHN5G.js → chunk-XVQXZSHK.js} +1 -1
- package/dist/chunk-XVQXZSHK.js.map +1 -0
- package/dist/{chunk-MFC2JUHY.js → chunk-ZARKTUMC.js} +1 -1
- package/dist/{chunk-MFC2JUHY.js.map → chunk-ZARKTUMC.js.map} +1 -1
- package/dist/{chunk-DYQSQZVT.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 +3 -3
- package/dist/models/space.d.ts +3 -3
- 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-2WENKTKS.js.map +0 -1
- package/dist/chunk-2ZCAJFR6.js.map +0 -1
- package/dist/chunk-4NFVHN5G.js.map +0 -1
- package/dist/chunk-6VPU637U.js.map +0 -1
- package/dist/chunk-7FQ7Z3RO.js.map +0 -1
- package/dist/chunk-7T43HWEL.js.map +0 -1
- package/dist/chunk-AMDG4VWD.js.map +0 -1
- package/dist/chunk-CDUIG4WQ.js.map +0 -1
- package/dist/chunk-CY5V5W5V.js.map +0 -1
- package/dist/chunk-D66JCFTT.js.map +0 -1
- package/dist/chunk-DYMBTM73.js.map +0 -1
- package/dist/chunk-FYZDWPFY.js +0 -1
- package/dist/chunk-HB4EGDYH.js.map +0 -1
- package/dist/chunk-NXQ5HVAF.js.map +0 -1
- package/dist/chunk-O6GKAYC6.js.map +0 -1
- package/dist/chunk-QYOZLIPR.js.map +0 -1
- package/dist/chunk-UW7FP5S6.js.map +0 -1
- package/dist/chunk-VIOFNSO2.js.map +0 -1
- package/dist/chunk-VLR3CPYE.js.map +0 -1
- package/dist/chunk-YU7HOW3Q.js.map +0 -1
- /package/dist/{chunk-3FKDV3W4.js.map → chunk-2ZHDK2LA.js.map} +0 -0
- /package/dist/{chunk-SBXJHZAY.js.map → chunk-ASUIVB2I.js.map} +0 -0
- /package/dist/{chunk-CAQ76IFU.js.map → chunk-BRZVBG7Y.js.map} +0 -0
- /package/dist/{chunk-PKWJFH57.js.map → chunk-EIKLORN2.js.map} +0 -0
- /package/dist/{chunk-JRY5TCUM.js.map → chunk-FJGHDCFU.js.map} +0 -0
- /package/dist/{chunk-J5HVSLP7.js.map → chunk-GJIRL22D.js.map} +0 -0
- /package/dist/{chunk-JG2H6XAB.js.map → chunk-IKAINY4Q.js.map} +0 -0
- /package/dist/{chunk-VHWAG4ZM.js.map → chunk-IP2J33M4.js.map} +0 -0
- /package/dist/{chunk-5LFNNWB4.js.map → chunk-J6NIJCBP.js.map} +0 -0
- /package/dist/{chunk-SPUECDEK.js.map → chunk-KD5V4VHT.js.map} +0 -0
- /package/dist/{chunk-TOF7KO6L.js.map → chunk-KJI445LX.js.map} +0 -0
- /package/dist/{chunk-K2OFGN44.js.map → chunk-KVGMJRXC.js.map} +0 -0
- /package/dist/{chunk-6EUTKLZA.js.map → chunk-KZGHAUI5.js.map} +0 -0
- /package/dist/{chunk-YTKXZUMB.js.map → chunk-LNRGAGJF.js.map} +0 -0
- /package/dist/{chunk-6GG7FCXY.js.map → chunk-MG2VQTNN.js.map} +0 -0
- /package/dist/{chunk-7MNN27JF.js.map → chunk-NFBNENWO.js.map} +0 -0
- /package/dist/{chunk-3RWMCGZU.js.map → chunk-PBMLITMC.js.map} +0 -0
- /package/dist/{chunk-RT4BGIIF.js.map → chunk-PWFIE4A4.js.map} +0 -0
- /package/dist/{chunk-RB5HY3XD.js.map → chunk-QE7MS5GE.js.map} +0 -0
- /package/dist/{chunk-FDRRHETK.js.map → chunk-RQEWUMCP.js.map} +0 -0
- /package/dist/{chunk-MA2VFACS.js.map → chunk-SIRKWUJR.js.map} +0 -0
- /package/dist/{chunk-BXA5EVPM.js.map → chunk-SW7K432L.js.map} +0 -0
- /package/dist/{chunk-RPHZUN3P.js.map → chunk-T2E42CQF.js.map} +0 -0
- /package/dist/{chunk-H5OAPB2Y.js.map → chunk-XORT6HQQ.js.map} +0 -0
- /package/dist/{chunk-DYQSQZVT.js.map → chunk-ZR72266G.js.map} +0 -0
package/dist/amqpClient.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/amqpClient.js","../src/defs.js","../src/errors/index.js","../src/errors/appError.js","../src/errors/authenticationError.js","../src/errors/authorizationError.js","../src/errors/conflictError.js","../src/errors/deviceCommError.js","../src/errors/loginError.js","../src/errors/notFoundError.js","../src/errors/requestError.js","../src/errors/systemCommError.js","../src/errors/tokenExpiredError.js","../src/errors/unprocessableRequestError.js","../src/errors/validationError.js"],"sourcesContent":["import { connect } from \"amqplib\";\nimport { isFatalError } from \"amqplib/lib/connection\";\nimport dbg from \"debug\";\nimport { Buffer } from \"node:buffer\";\nimport * as crypto from \"node:crypto\";\nimport { amqpExchanges as exchanges } from \"./defs\";\nimport * as Errors from \"./errors\";\n\nconst randomUUID = crypto.randomUUID;\n\nconst debug = dbg(\"kohost:amqp-client\");\n\nconst HEADER_KEY_ORGANIZATION_ID = \"X-Organization-Id\";\nconst HEADER_KEY_PROPERTY_ID = \"X-Property-Id\";\nconst HEADER_KEY_DRIVER = \"X-Driver\";\nconst HEADER_KEY_COMMAND_NAME = \"X-Command-Name\";\nconst HEADER_KEY_EVENT_NAME = \"X-Event-Name\";\n\nexport class KohostAMQPClient {\n static get Message() {\n return Message;\n }\n\n static get exchanges() {\n return exchanges;\n }\n static generateCorrelationId() {\n return randomUUID();\n }\n\n static validateMessage(message) {\n if (!message) throw new Error(\"Message is required\");\n }\n\n static parseError(err) {\n let type;\n let message;\n let options = {};\n if (err.message && err.type) {\n const { message: errMessage, type: errType, ...rest } = err;\n type = errType;\n message = errMessage;\n options = rest;\n } else {\n message = err.message || \"Unknown Error\";\n }\n\n debug(\"parseError\", type, message, options);\n\n if (type && Errors[type]) {\n return new Errors[type](message, options);\n }\n\n return new Error(message, options);\n }\n\n static parseMessage(message) {\n let error = null;\n let data = {};\n let query = {};\n let context = {};\n let headers = {};\n\n const isCommand = message?.properties?.type === \"Command\";\n const isEvent = message?.properties?.type === \"Event\";\n\n const messageHeaders = message?.properties?.headers || {};\n\n const commandName = messageHeaders[HEADER_KEY_COMMAND_NAME] || null;\n const eventName = messageHeaders[HEADER_KEY_EVENT_NAME] || null;\n\n if (message.content) {\n try {\n const payload =\n message.properties?.contentType === \"application/json\"\n ? JSON.parse(message.content.toString())\n : message.content.toString();\n data = payload?.data || {};\n error = payload?.error;\n query = payload?.query || {};\n context = payload?.context || {};\n } catch (error) {\n debug(\"error parsing content\", error);\n data = message.content.toString();\n }\n }\n\n if (message?.properties?.headers) {\n const orgHeader = message.properties.headers[HEADER_KEY_ORGANIZATION_ID];\n const propertyHeader = message.properties.headers[HEADER_KEY_PROPERTY_ID];\n const driverHeader = message.properties.headers[HEADER_KEY_DRIVER];\n\n if (orgHeader) {\n context.organizationId = orgHeader;\n headers[HEADER_KEY_ORGANIZATION_ID] = orgHeader;\n }\n\n if (propertyHeader) {\n context.propertyId = propertyHeader;\n headers[HEADER_KEY_PROPERTY_ID] = propertyHeader;\n }\n\n if (driverHeader) {\n context.driver = driverHeader;\n headers[HEADER_KEY_DRIVER] = driverHeader;\n }\n }\n\n const parsed = {};\n\n if (error) parsed.error = this.parseError(error);\n\n parsed.data = data;\n parsed.query = query;\n parsed.context = context;\n parsed.headers = headers;\n\n if (isEvent && eventName) parsed.event = eventName;\n else if (isCommand && commandName) parsed.command = commandName;\n\n debug(\"amqp parsed %o\", parsed);\n\n return parsed;\n }\n\n static getMessage(message) {\n if (!message?.content) return null;\n const payload = JSON.parse(message.content.toString());\n const data = payload?.data;\n return data;\n }\n\n static isFatalError(err) {\n return isFatalError(err);\n }\n\n async createConnection(connection, options = {}) {\n return await connect(connection, options);\n }\n\n static createMessage(content) {\n return new Message(content);\n }\n\n async createChannel(connection) {\n const channel = await connection.createChannel();\n return channel;\n }\n\n async assertExchange(channel, { exchange, type, options }) {\n return await channel.assertExchange(exchange, type, options);\n }\n\n async assertQueue(channel, { queue, options }) {\n return await channel.assertQueue(queue, options);\n }\n\n async bindQueue(channel, { queue, exchange, routingKey, args }) {\n return await channel.bindQueue(queue, exchange, routingKey, args);\n }\n\n async bindExchange(channel, { source, destination, routingKey, args }) {\n return await channel.bindExchange(destination, source, routingKey, args);\n }\n\n async subscribeToQueue(channel, { queue, cb, options }) {\n return await channel.consume(queue, cb, options);\n }\n\n publishToExchange(channel, { exchange, routingKey, content, options }) {\n return channel.publish(exchange, routingKey, content, options);\n }\n}\n\nclass Message {\n constructor(content) {\n this.toExchange = null;\n this.content = content;\n this.options = {\n contentType: \"application/json\",\n timestamp: Date.now(),\n };\n this.routingKey = \"\";\n }\n\n get correlationId() {\n return this.options.correlationId || null;\n }\n\n to({ exchange }) {\n if (typeof exchange === \"undefined\")\n throw new Error(\"Exchange is required\");\n this.toExchange = exchange;\n return this;\n }\n\n withType(type) {\n this.options.type = type;\n return this;\n }\n\n withRoutingKey(routingKey) {\n this.routingKey = routingKey;\n return this;\n }\n\n withHeaders(headers) {\n if (!this.options.headers) this.options.headers = {};\n this.options.headers = { ...this.options.headers, ...headers };\n return this;\n }\n\n withContext(context) {\n for (let key in context) {\n this.withHeaders({ [key]: context[key] });\n }\n return this;\n }\n\n withCorrelationId(correlationId) {\n this.options.correlationId = correlationId;\n return this;\n }\n\n withReplyTo(queue) {\n this.options.replyTo = queue;\n return this;\n }\n\n build() {\n let content = this.content;\n if (content.build && typeof content.build === \"function\")\n content = content.build();\n\n return {\n exchange: this.toExchange,\n content: Buffer.from(JSON.stringify(content)),\n options: this.options,\n routingKey: this.routingKey,\n };\n }\n}\n","export const amqpExchanges = {\n // routes commands based on `command-name` header and in many cases `property-id` header\n Commands: {\n name: \"kohost.commands\",\n type: \"headers\",\n options: {\n durable: true,\n },\n },\n CommandResponses: {\n name: \"kohost.commandResponses\",\n type: \"topic\",\n options: {\n durable: true,\n },\n },\n // routes events based on routing keys\n DriverEvents: {\n name: \"kohost.events.drivers\",\n type: \"topic\",\n options: {\n durable: true,\n },\n },\n AppEvents: {\n name: \"kohost.events.app\",\n type: \"topic\",\n options: {\n durable: true,\n },\n },\n Direct: {\n name: \"kohost.direct\",\n type: \"direct\",\n options: {\n durable: true,\n },\n },\n // dead letter exchange\n dlx: {\n name: \"kohost.dlx\",\n type: \"direct\",\n },\n};\n\nexport const deviceTypes = [\n \"dimmer\",\n \"switch\",\n \"thermostat\",\n \"lock\",\n \"windowCovering\",\n \"courtesy\",\n \"alarm\",\n \"camera\",\n \"mediaSource\",\n \"motionSensor\",\n \"gateway\",\n];\n","// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-13T20:36:28.617Z\n\nexport * from \"./appError\";\nexport * from \"./authenticationError\";\nexport * from \"./authorizationError\";\nexport * from \"./conflictError\";\nexport * from \"./deviceCommError\";\nexport * from \"./loginError\";\nexport * from \"./notFoundError\";\nexport * from \"./requestError\";\nexport * from \"./systemCommError\";\nexport * from \"./tokenExpiredError\";\nexport * from \"./unprocessableRequestError\";\nexport * from \"./validationError\";","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 AuthenticationError extends AppError {\n constructor(message = \"Authentication Error\", options = {}) {\n super(message, options);\n this.statusCode = 401;\n this.name = \"AuthenticationError\";\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class AuthorizationError extends AppError {\n constructor(message = \"Authorization Error\", options = {}) {\n super(message, options);\n this.statusCode = 403;\n this.name = \"AuthorizationError\";\n Object.setPrototypeOf(this, AuthorizationError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class ConflictError extends AppError {\n constructor(message = \"Bad Request\", options = {}) {\n super(message, options);\n this.statusCode = 409;\n this.name = \"ConflictError\";\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class DeviceCommError extends AppError {\n constructor(message = \"Device Communication Error\", options = {}) {\n super(message, options);\n this.statusCode = 503;\n this.name = \"DeviceCommError\";\n Object.setPrototypeOf(this, DeviceCommError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class LoginError extends AppError {\n constructor(message = \"Invalid Login information provided\", options = {}) {\n super(message, options);\n this.statusCode = 401;\n this.name = \"LoginError\";\n Object.setPrototypeOf(this, LoginError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class NotFoundError extends AppError {\n constructor(message = \"Resource Not Found\", options = {}) {\n super(message, options);\n this.statusCode = 404;\n this.name = \"NotFoundError\";\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class RequestError extends AppError {\n constructor(message = \"Bad Request\", options = {}) {\n super(message, options);\n this.statusCode = 400;\n this.name = \"RequestError\";\n Object.setPrototypeOf(this, RequestError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class SystemCommError extends AppError {\n constructor(message = \"System Communication Error\", options = {}) {\n super(message, options);\n this.statusCode = 503;\n this.name = \"SystemCommError\";\n Object.setPrototypeOf(this, SystemCommError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class TokenExpiredError extends AppError {\n constructor(message = \"Token Expired\", options = {}) {\n super(message, options);\n this.statusCode = 401;\n this.name = \"TokenExpiredError\";\n Object.setPrototypeOf(this, TokenExpiredError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class UnprocessableRequestError extends AppError {\n constructor(message = \"Unprocessable Request Error\", options = {}) {\n super(message, options);\n this.statusCode = 422;\n this.name = \"UnprocessableRequestError\";\n Object.setPrototypeOf(this, UnprocessableRequestError.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"],"mappings":"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","names":["randomUUID","dbg","error"]}
|
|
1
|
+
{"version":3,"sources":["../src/amqpClient.js","../src/defs.js","../src/errors/index.js","../src/errors/appError.js","../src/errors/authenticationError.js","../src/errors/authorizationError.js","../src/errors/conflictError.js","../src/errors/deviceCommError.js","../src/errors/loginError.js","../src/errors/notFoundError.js","../src/errors/requestError.js","../src/errors/systemCommError.js","../src/errors/tokenExpiredError.js","../src/errors/unprocessableRequestError.js","../src/errors/validationError.js"],"sourcesContent":["import { connect } from \"amqplib\";\nimport { isFatalError } from \"amqplib/lib/connection\";\nimport dbg from \"debug\";\nimport { Buffer } from \"node:buffer\";\nimport * as crypto from \"node:crypto\";\nimport { amqpExchanges as exchanges } from \"./defs\";\nimport * as Errors from \"./errors\";\n\nconst randomUUID = crypto.randomUUID;\n\nconst debug = dbg(\"kohost:amqp-client\");\n\nconst HEADER_KEY_ORGANIZATION_ID = \"X-Organization-Id\";\nconst HEADER_KEY_PROPERTY_ID = \"X-Property-Id\";\nconst HEADER_KEY_DRIVER = \"X-Driver\";\nconst HEADER_KEY_COMMAND_NAME = \"X-Command-Name\";\nconst HEADER_KEY_EVENT_NAME = \"X-Event-Name\";\n\nexport class KohostAMQPClient {\n static get Message() {\n return Message;\n }\n\n static get exchanges() {\n return exchanges;\n }\n static generateCorrelationId() {\n return randomUUID();\n }\n\n static validateMessage(message) {\n if (!message) throw new Error(\"Message is required\");\n }\n\n static parseError(err) {\n let type;\n let message;\n let options = {};\n if (err.message && err.type) {\n const { message: errMessage, type: errType, ...rest } = err;\n type = errType;\n message = errMessage;\n options = rest;\n } else {\n message = err.message || \"Unknown Error\";\n }\n\n debug(\"parseError\", type, message, options);\n\n if (type && Errors[type]) {\n return new Errors[type](message, options);\n }\n\n return new Error(message, options);\n }\n\n static parseMessage(message) {\n let error = null;\n let data = {};\n let query = {};\n let context = {};\n let headers = {};\n\n const isCommand = message?.properties?.type === \"Command\";\n const isEvent = message?.properties?.type === \"Event\";\n\n const messageHeaders = message?.properties?.headers || {};\n\n const commandName = messageHeaders[HEADER_KEY_COMMAND_NAME] || null;\n const eventName = messageHeaders[HEADER_KEY_EVENT_NAME] || null;\n\n if (message.content) {\n try {\n const payload =\n message.properties?.contentType === \"application/json\"\n ? JSON.parse(message.content.toString())\n : message.content.toString();\n data = payload?.data || {};\n error = payload?.error;\n query = payload?.query || {};\n context = payload?.context || {};\n } catch (error) {\n debug(\"error parsing content\", error);\n data = message.content.toString();\n }\n }\n\n if (message?.properties?.headers) {\n const orgHeader = message.properties.headers[HEADER_KEY_ORGANIZATION_ID];\n const propertyHeader = message.properties.headers[HEADER_KEY_PROPERTY_ID];\n const driverHeader = message.properties.headers[HEADER_KEY_DRIVER];\n\n if (orgHeader) {\n context.organizationId = orgHeader;\n headers[HEADER_KEY_ORGANIZATION_ID] = orgHeader;\n }\n\n if (propertyHeader) {\n context.propertyId = propertyHeader;\n headers[HEADER_KEY_PROPERTY_ID] = propertyHeader;\n }\n\n if (driverHeader) {\n context.driver = driverHeader;\n headers[HEADER_KEY_DRIVER] = driverHeader;\n }\n }\n\n const parsed = {};\n\n if (error) parsed.error = this.parseError(error);\n\n parsed.data = data;\n parsed.query = query;\n parsed.context = context;\n parsed.headers = headers;\n\n if (isEvent && eventName) parsed.event = eventName;\n else if (isCommand && commandName) parsed.command = commandName;\n\n debug(\"amqp parsed %o\", parsed);\n\n return parsed;\n }\n\n static getMessage(message) {\n if (!message?.content) return null;\n const payload = JSON.parse(message.content.toString());\n const data = payload?.data;\n return data;\n }\n\n static isFatalError(err) {\n return isFatalError(err);\n }\n\n async createConnection(connection, options = {}) {\n return await connect(connection, options);\n }\n\n static createMessage(content) {\n return new Message(content);\n }\n\n async createChannel(connection) {\n const channel = await connection.createChannel();\n return channel;\n }\n\n async assertExchange(channel, { exchange, type, options }) {\n return await channel.assertExchange(exchange, type, options);\n }\n\n async assertQueue(channel, { queue, options }) {\n return await channel.assertQueue(queue, options);\n }\n\n async bindQueue(channel, { queue, exchange, routingKey, args }) {\n return await channel.bindQueue(queue, exchange, routingKey, args);\n }\n\n async bindExchange(channel, { source, destination, routingKey, args }) {\n return await channel.bindExchange(destination, source, routingKey, args);\n }\n\n async subscribeToQueue(channel, { queue, cb, options }) {\n return await channel.consume(queue, cb, options);\n }\n\n publishToExchange(channel, { exchange, routingKey, content, options }) {\n return channel.publish(exchange, routingKey, content, options);\n }\n}\n\nclass Message {\n constructor(content) {\n this.toExchange = null;\n this.content = content;\n this.options = {\n contentType: \"application/json\",\n timestamp: Date.now(),\n };\n this.routingKey = \"\";\n }\n\n get correlationId() {\n return this.options.correlationId || null;\n }\n\n to({ exchange }) {\n if (typeof exchange === \"undefined\")\n throw new Error(\"Exchange is required\");\n this.toExchange = exchange;\n return this;\n }\n\n withType(type) {\n this.options.type = type;\n return this;\n }\n\n withRoutingKey(routingKey) {\n this.routingKey = routingKey;\n return this;\n }\n\n withHeaders(headers) {\n if (!this.options.headers) this.options.headers = {};\n this.options.headers = { ...this.options.headers, ...headers };\n return this;\n }\n\n withContext(context) {\n for (let key in context) {\n this.withHeaders({ [key]: context[key] });\n }\n return this;\n }\n\n withCorrelationId(correlationId) {\n this.options.correlationId = correlationId;\n return this;\n }\n\n withReplyTo(queue) {\n this.options.replyTo = queue;\n return this;\n }\n\n build() {\n let content = this.content;\n if (content.build && typeof content.build === \"function\")\n content = content.build();\n\n return {\n exchange: this.toExchange,\n content: Buffer.from(JSON.stringify(content)),\n options: this.options,\n routingKey: this.routingKey,\n };\n }\n}\n","export const amqpExchanges = {\n // routes commands based on `command-name` header and in many cases `property-id` header\n Commands: {\n name: \"kohost.commands\",\n type: \"headers\",\n options: {\n durable: true,\n },\n },\n CommandResponses: {\n name: \"kohost.commandResponses\",\n type: \"topic\",\n options: {\n durable: true,\n },\n },\n // routes events based on routing keys\n DriverEvents: {\n name: \"kohost.events.drivers\",\n type: \"topic\",\n options: {\n durable: true,\n },\n },\n AppEvents: {\n name: \"kohost.events.app\",\n type: \"topic\",\n options: {\n durable: true,\n },\n },\n Direct: {\n name: \"kohost.direct\",\n type: \"direct\",\n options: {\n durable: true,\n },\n },\n // dead letter exchange\n dlx: {\n name: \"kohost.dlx\",\n type: \"direct\",\n },\n};\n\nexport const deviceTypes = [\n \"dimmer\",\n \"switch\",\n \"thermostat\",\n \"lock\",\n \"windowCovering\",\n \"courtesy\",\n \"alarm\",\n \"camera\",\n \"mediaSource\",\n \"motionSensor\",\n \"gateway\",\n];\n","// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-17T21:50:38.418Z\n\nexport * from \"./appError\";\nexport * from \"./authenticationError\";\nexport * from \"./authorizationError\";\nexport * from \"./conflictError\";\nexport * from \"./deviceCommError\";\nexport * from \"./loginError\";\nexport * from \"./notFoundError\";\nexport * from \"./requestError\";\nexport * from \"./systemCommError\";\nexport * from \"./tokenExpiredError\";\nexport * from \"./unprocessableRequestError\";\nexport * from \"./validationError\";","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 AuthenticationError extends AppError {\n constructor(message = \"Authentication Error\", options = {}) {\n super(message, options);\n this.statusCode = 401;\n this.name = \"AuthenticationError\";\n Object.setPrototypeOf(this, AuthenticationError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class AuthorizationError extends AppError {\n constructor(message = \"Authorization Error\", options = {}) {\n super(message, options);\n this.statusCode = 403;\n this.name = \"AuthorizationError\";\n Object.setPrototypeOf(this, AuthorizationError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class ConflictError extends AppError {\n constructor(message = \"Bad Request\", options = {}) {\n super(message, options);\n this.statusCode = 409;\n this.name = \"ConflictError\";\n Object.setPrototypeOf(this, ConflictError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class DeviceCommError extends AppError {\n constructor(message = \"Device Communication Error\", options = {}) {\n super(message, options);\n this.statusCode = 503;\n this.name = \"DeviceCommError\";\n Object.setPrototypeOf(this, DeviceCommError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class LoginError extends AppError {\n constructor(message = \"Invalid Login information provided\", options = {}) {\n super(message, options);\n this.statusCode = 401;\n this.name = \"LoginError\";\n Object.setPrototypeOf(this, LoginError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class NotFoundError extends AppError {\n constructor(message = \"Resource Not Found\", options = {}) {\n super(message, options);\n this.statusCode = 404;\n this.name = \"NotFoundError\";\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class RequestError extends AppError {\n constructor(message = \"Bad Request\", options = {}) {\n super(message, options);\n this.statusCode = 400;\n this.name = \"RequestError\";\n Object.setPrototypeOf(this, RequestError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class SystemCommError extends AppError {\n constructor(message = \"System Communication Error\", options = {}) {\n super(message, options);\n this.statusCode = 503;\n this.name = \"SystemCommError\";\n Object.setPrototypeOf(this, SystemCommError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class TokenExpiredError extends AppError {\n constructor(message = \"Token Expired\", options = {}) {\n super(message, options);\n this.statusCode = 401;\n this.name = \"TokenExpiredError\";\n Object.setPrototypeOf(this, TokenExpiredError.prototype);\n }\n}\n","import { AppError } from \"./appError\";\n\nexport class UnprocessableRequestError extends AppError {\n constructor(message = \"Unprocessable Request Error\", options = {}) {\n super(message, options);\n this.statusCode = 422;\n this.name = \"UnprocessableRequestError\";\n Object.setPrototypeOf(this, UnprocessableRequestError.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"],"mappings":"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","names":["randomUUID","dbg","error"]}
|
package/dist/amqpClient.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{KohostAMQPClient}from"./chunk-
|
|
1
|
+
import{KohostAMQPClient}from"./chunk-XORT6HQQ.js";import"./chunk-ZARKTUMC.js";import"./chunk-FU3MLFEZ.js";import"./chunk-S3LGXCUW.js";import"./chunk-R36FVWOK.js";import"./chunk-J3IXW2RX.js";import"./chunk-ELAUVDF4.js";import"./chunk-ZXW3Q5ZK.js";import"./chunk-5FSWHSBF.js";import"./chunk-FWQABD55.js";import"./chunk-WN4Z5JJD.js";import"./chunk-7GGLCJ6I.js";import"./chunk-3AE3KSKI.js";import"./chunk-P3ZPJTJ2.js";import"./chunk-THXOWLL3.js";import"./chunk-XE4OXN2W.js";export{KohostAMQPClient};//# sourceMappingURL=amqpClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateTimeSheet}from"./chunk-
|
|
1
|
+
import{validateTimeSheet}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var TimeSheet=class extends Entity{static{__name(this,"TimeSheet")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.userId=data.userId,this.day=data.day,void 0!==data.locked&&(this.locked=data.locked),void 0!==data.timeEntries&&(this.timeEntries=data.timeEntries)}};Object.defineProperty(TimeSheet.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"timeSheet.json",title:"Time Sheet",type:"object",required:["userId","day"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"timeSheet",enum:["timeSheet"]},userId:{$ref:"definitions.json#/definitions/id"},day:{type:["string","object"],format:"date-time"},locked:{type:"boolean",default:!1,description:"If true, the time sheet is locked and cannot be modified"},timeEntries:{type:"array",default:[],items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},discriminator:{type:"string",enum:["working","driving","meeting","break"]},start:{type:["string","object"],format:"date-time"},end:{type:["string","object"],format:"date-time"},comment:{type:"string"},ticketId:{type:"string"}},required:["start","discriminator"],additionalProperties:!1}}}}}),Object.defineProperty(TimeSheet.prototype,"validator",{get:__name((function(){return validateTimeSheet}),"get")});export{TimeSheet};//# sourceMappingURL=chunk-2ZHDK2LA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{UpdateReservation}from"./chunk-FTCH2YVK.js";import{UpdateUser}from"./chunk-25TS7WQK.js";import{UploadImage}from"./chunk-BHG5VJNQ.js";import{SetCourtesy}from"./chunk-JKB4GVXZ.js";import{SetDimmer}from"./chunk-PVVJAJ2U.js";import{SetLock}from"./chunk-ANEFCLND.js";import{SetMedia}from"./chunk-F7RJAXJ3.js";import{SetScene}from"./chunk-HQAVS73L.js";import{SetSwitch}from"./chunk-AXJW3S5W.js";import{SetThermostat}from"./chunk-4PPJAXMZ.js";import{SetWindowCovering}from"./chunk-XYE4QWAL.js";import{GetRooms}from"./chunk-QGACPW7L.js";import{GetUsers}from"./chunk-RP66PVLU.js";import{OCRDocument}from"./chunk-2YCWOIUR.js";import{SellProducts}from"./chunk-DOX5ZOSZ.js";import{SendEmail}from"./chunk-RBVPAANY.js";import{SendSMS}from"./chunk-RMDNQAV4.js";import{SetAlarm}from"./chunk-XURK32UQ.js";import{CreateImageUploadEndpoint}from"./chunk-K3ERMR2X.js";import{CreateShortLink}from"./chunk-2C6SKQY6.js";import{GetCategories}from"./chunk-XFXENMXN.js";import{GetMobileKey}from"./chunk-J3KAHJ7Z.js";import{GetProducts}from"./chunk-5Z3DQU4I.js";import{GetReservationSpaceCategoryAvailabilities}from"./chunk-VE45ITDQ.js";import{GetReservations}from"./chunk-6D6FRQCU.js";import{CheckInReservation}from"./chunk-RIWQUPNT.js";import{CheckOutReservation}from"./chunk-HF3F4KLM.js";import{Command}from"./chunk-4FR6LYG3.js";import{__export}from"./chunk-XE4OXN2W.js";var commands_exports={};__export(commands_exports,{CheckInReservation:()=>CheckInReservation,CheckOutReservation:()=>CheckOutReservation,Command:()=>Command,CreateImageUploadEndpoint:()=>CreateImageUploadEndpoint,CreateShortLink:()=>CreateShortLink,GetCategories:()=>GetCategories,GetMobileKey:()=>GetMobileKey,GetProducts:()=>GetProducts,GetReservationSpaceCategoryAvailabilities:()=>GetReservationSpaceCategoryAvailabilities,GetReservations:()=>GetReservations,GetRooms:()=>GetRooms,GetUsers:()=>GetUsers,OCRDocument:()=>OCRDocument,SellProducts:()=>SellProducts,SendEmail:()=>SendEmail,SendSMS:()=>SendSMS,SetAlarm:()=>SetAlarm,SetCourtesy:()=>SetCourtesy,SetDimmer:()=>SetDimmer,SetLock:()=>SetLock,SetMedia:()=>SetMedia,SetScene:()=>SetScene,SetSwitch:()=>SetSwitch,SetThermostat:()=>SetThermostat,SetWindowCovering:()=>SetWindowCovering,UpdateReservation:()=>UpdateReservation,UpdateUser:()=>UpdateUser,UploadImage:()=>UploadImage});export{commands_exports};//# sourceMappingURL=chunk-
|
|
1
|
+
import{UpdateReservation}from"./chunk-FTCH2YVK.js";import{UpdateUser}from"./chunk-25TS7WQK.js";import{UploadImage}from"./chunk-BHG5VJNQ.js";import{SetCourtesy}from"./chunk-JKB4GVXZ.js";import{SetDimmer}from"./chunk-PVVJAJ2U.js";import{SetLock}from"./chunk-ANEFCLND.js";import{SetMedia}from"./chunk-F7RJAXJ3.js";import{SetScene}from"./chunk-HQAVS73L.js";import{SetSwitch}from"./chunk-AXJW3S5W.js";import{SetThermostat}from"./chunk-4PPJAXMZ.js";import{SetWindowCovering}from"./chunk-XYE4QWAL.js";import{GetRooms}from"./chunk-QGACPW7L.js";import{GetUsers}from"./chunk-RP66PVLU.js";import{OCRDocument}from"./chunk-2YCWOIUR.js";import{SellProducts}from"./chunk-DOX5ZOSZ.js";import{SendEmail}from"./chunk-RBVPAANY.js";import{SendSMS}from"./chunk-RMDNQAV4.js";import{SetAlarm}from"./chunk-XURK32UQ.js";import{CreateImageUploadEndpoint}from"./chunk-K3ERMR2X.js";import{CreateShortLink}from"./chunk-2C6SKQY6.js";import{GetCategories}from"./chunk-XFXENMXN.js";import{GetMobileKey}from"./chunk-J3KAHJ7Z.js";import{GetProducts}from"./chunk-5Z3DQU4I.js";import{GetReservationSpaceCategoryAvailabilities}from"./chunk-VE45ITDQ.js";import{GetReservations}from"./chunk-6D6FRQCU.js";import{CheckInReservation}from"./chunk-RIWQUPNT.js";import{CheckOutReservation}from"./chunk-HF3F4KLM.js";import{Command}from"./chunk-4FR6LYG3.js";import{__export}from"./chunk-XE4OXN2W.js";var commands_exports={};__export(commands_exports,{CheckInReservation:()=>CheckInReservation,CheckOutReservation:()=>CheckOutReservation,Command:()=>Command,CreateImageUploadEndpoint:()=>CreateImageUploadEndpoint,CreateShortLink:()=>CreateShortLink,GetCategories:()=>GetCategories,GetMobileKey:()=>GetMobileKey,GetProducts:()=>GetProducts,GetReservationSpaceCategoryAvailabilities:()=>GetReservationSpaceCategoryAvailabilities,GetReservations:()=>GetReservations,GetRooms:()=>GetRooms,GetUsers:()=>GetUsers,OCRDocument:()=>OCRDocument,SellProducts:()=>SellProducts,SendEmail:()=>SendEmail,SendSMS:()=>SendSMS,SetAlarm:()=>SetAlarm,SetCourtesy:()=>SetCourtesy,SetDimmer:()=>SetDimmer,SetLock:()=>SetLock,SetMedia:()=>SetMedia,SetScene:()=>SetScene,SetSwitch:()=>SetSwitch,SetThermostat:()=>SetThermostat,SetWindowCovering:()=>SetWindowCovering,UpdateReservation:()=>UpdateReservation,UpdateUser:()=>UpdateUser,UploadImage:()=>UploadImage});export{commands_exports};//# sourceMappingURL=chunk-3JKVMXXF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/index.js"],"sourcesContent":["// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-
|
|
1
|
+
{"version":3,"sources":["../src/commands/index.js"],"sourcesContent":["// This file is auto-generated. Do not edit this file manually.\n// Generated on: 2025-03-17T21:50:38.419Z\n\nexport * from \"./checkInReservation\";\nexport * from \"./checkOutReservation\";\nexport * from \"./command\";\nexport * from \"./createImageUploadEndpoint\";\nexport * from \"./createShortLink\";\nexport * from \"./getCategories\";\nexport * from \"./getMobileKey\";\nexport * from \"./getProducts\";\nexport * from \"./getReservationSpaceCategoryAvailabilities\";\nexport * from \"./getReservations\";\nexport * from \"./getRooms\";\nexport * from \"./getUsers\";\nexport * from \"./ocrDocument\";\nexport * from \"./sellProducts\";\nexport * from \"./sendEmail\";\nexport * from \"./sendSMS\";\nexport * from \"./setAlarm\";\nexport * from \"./setCourtesy\";\nexport * from \"./setDimmer\";\nexport * from \"./setLock\";\nexport * from \"./setMedia\";\nexport * from \"./setScene\";\nexport * from \"./setSwitch\";\nexport * from \"./setThermostat\";\nexport * from \"./setWindowCovering\";\nexport * from \"./updateReservation\";\nexport * from \"./updateUser\";\nexport * from \"./uploadImage\";"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateCategory}from"./chunk-
|
|
1
|
+
import{validateCategory}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Category=class extends Entity{static{__name(this,"Category")}constructor(data){super(data),this.id=data.id,this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.description&&(this.description=data.description),void 0!==data.image&&(this.image=data.image),void 0!==data.rating&&(this.rating=data.rating),this.discriminator=data.discriminator,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Category.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"category.json",title:"Category",type:"object",required:["id","type","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["category"],default:"category"},name:{type:"string",minLength:1},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},image:{$ref:"mediaFile.json"},rating:{type:"number",minimum:0,maximum:10,default:9},discriminator:{type:"string",enum:["space","product","mediaFile"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Category.prototype,"validator",{get:__name((function(){return validateCategory}),"get")});export{Category};//# sourceMappingURL=chunk-4JO2ZCI2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/category.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateCategory as validate } from \"../validate\";\n\n/**\n * @typedef {Object} CategoryData\n * @property {string} id - Identifier of the object.\n * @property {\"category\"} type - Default: \"category\"\n * @property {string} [name]\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 {string} [description]\n * @property {{id?: any, type: \"mediaFile\", name?: string, fileHash?: string, category?: string, mimeType?: (\"image/*\"|\"image/jpeg\"|\"image/png\"|\"image/gif\"|\"image/webp\"|\"image/avif\"|\"image/svg+xml\"|\"application/pdf\"), data?: string, url?: string, width?: number, height?: number, size?: number, uploadUrl?: string, uploadUrlExpires?: any, createdBy?: string, systemId?: any}} [image] - Any media file\n * @property {number} [rating] - Default: 9\n * @property {(\"space\"|\"product\"|\"mediaFile\")} discriminator\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n */\n\n/**\n *\n * @class Category\n * @extends {Entity}\n */\nexport class Category extends Entity {\n /**\n * @constructor\n * @param {CategoryData} data - The data to initialize the Category with\n */\n constructor(data) {\n super(data);\n this.id = data.id;\n this.type = data.type;\n if (data.name !== undefined) this.name = data.name;\n if (data.driver !== undefined) this.driver = data.driver;\n if (data.description !== undefined) this.description = data.description;\n if (data.image !== undefined) this.image = data.image;\n if (data.rating !== undefined) this.rating = data.rating;\n this.discriminator = data.discriminator;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n }\n}\n\nObject.defineProperty(Category.prototype, \"schema\", {\n value: {\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: { $ref: \"definitions.json#/definitions/id\" },\n type: { type: \"string\", enum: [\"category\"], default: \"category\" },\n name: { type: \"string\", minLength: 1 },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n description: { type: \"string\" },\n image: { $ref: \"mediaFile.json\" },\n rating: { type: \"number\", minimum: 0, maximum: 10, default: 9 },\n discriminator: {\n type: \"string\",\n enum: [\"space\", \"product\", \"mediaFile\"],\n },\n systemId: { $ref: \"definitions.json#/definitions/systemId\" },\n },\n },\n});\n\nObject.defineProperty(Category.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":";;;;;;;;;;;AAwBO,IAAM,WAAN,cAAuB,OAAO;AAAA,EAxBrC,OAwBqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnC,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,SAAK,KAAK,KAAK;AACf,SAAK,OAAO,KAAK;AACjB,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,gBAAgB,OAAW,MAAK,cAAc,KAAK;AAC5D,QAAI,KAAK,UAAU,OAAW,MAAK,QAAQ,KAAK;AAChD,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,SAAK,gBAAgB,KAAK;AAC1B,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AAAA,EACxD;AACF;AAEA,OAAO,eAAe,SAAS,WAAW,UAAU;AAAA,EAClD,OAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU,CAAC,MAAM,QAAQ,eAAe;AAAA,IACxC,YAAY;AAAA,MACV,IAAI,EAAE,MAAM,mCAAmC;AAAA,MAC/C,MAAM,EAAE,MAAM,UAAU,MAAM,CAAC,UAAU,GAAG,SAAS,WAAW;AAAA,MAChE,MAAM,EAAE,MAAM,UAAU,WAAW,EAAE;AAAA,MACrC,QAAQ,EAAE,MAAM,uCAAuC;AAAA,MACvD,aAAa,EAAE,MAAM,SAAS;AAAA,MAC9B,OAAO,EAAE,MAAM,iBAAiB;AAAA,MAChC,QAAQ,EAAE,MAAM,UAAU,SAAS,GAAG,SAAS,IAAI,SAAS,EAAE;AAAA,MAC9D,eAAe;AAAA,QACb,MAAM;AAAA,QACN,MAAM,CAAC,SAAS,WAAW,WAAW;AAAA,MACxC;AAAA,MACA,UAAU,EAAE,MAAM,yCAAyC;AAAA,IAC7D;AAAA,EACF;AACF,CAAC;AAED,OAAO,eAAe,SAAS,WAAW,aAAa;AAAA,EACrD,KAAK,kCAAY;AACf,WAAO;AAAA,EACT,GAFK;AAGP,CAAC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateLock}from"./chunk-
|
|
1
|
+
import{validateLock}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Lock=class extends Entity{static{__name(this,"Lock")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,this.state=data.state,void 0!==data.mode&&(this.mode=data.mode),void 0!==data.supportedModes&&(this.supportedModes=data.supportedModes),void 0!==data.batteryLevel&&(this.batteryLevel=data.batteryLevel),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Lock.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"lock.json",title:"Lock",description:"Any smart lock",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},state:{type:["string","null"],enum:["locked","unlocked",null]},mode:{type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null},supportedModes:{type:"array",uniqueItems:!0,items:{enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null]}},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]}}),Object.defineProperty(Lock.prototype,"validator",{get:__name((function(){return validateLock}),"get")});export{Lock};//# sourceMappingURL=chunk-6U3D7INH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/lock.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateLock as validate } from \"../validate\";\n\n/**\n * @typedef {Object} LockData Any smart lock\n * @property {string} id - Identifier of the object.\n * @property {string} [name]\n * @property {(\"alarm\"|\"dimmer\"|\"switch\"|\"motionSensor\"|\"windowCovering\"|\"camera\"|\"mediaSource\"|\"thermostat\"|\"lock\"|\"courtesy\"|\"gateway\"|\"tv\"|\"dvr\"|\"appleTv\"|\"discPlayer\"|\"mediaPlayer\"|\"uncontrolledDevice\")} type\n * @property {boolean} [offline]\n * @property {(\"button 1\"|\"button 2\"|\"button 3\"|\"button 4\"|\"button 5\"|\"idle\"|\"powerHasBeedApplied\"|\"acMainsDisconnected\"|\"acMainsReconnected\"|\"replaceBatterySoon\"|\"replaceBatteryNow\"|\"batteryOk\"|\"hardwareFailure\"|\"softwareFailure\"|\"hardwareFailureWithCode\"|\"softwareFailureWithCode\"|\"motionDetection\"|\"airFilterNeedsCleaned\"|\"airFilterNeedsReplaced\"|\"smokeDetected\"|\"outsideSafeTemperatureRange\"|\"outsideSafeHumidityRange\"|\"scheduleMaintenance\"|\"doorAjar\"|\"communicationFailure\"|\"communicationOk\"|\"burglarAlarm\"|\"fireAlarm\")[]} [supportedNotifications]\n * @property {{name?: string, timestamp?: number, description?: string}} [notification]\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 {(\"locked\"|\"unlocked\")} state\n * @property {(\"normal\"|\"autoLock\"|\"emergencyOpen\"|\"emergencyClose\"|\"holdOpen\"|\"lockdown\")} [mode] - emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated. Default: null\n * @property {(\"normal\"|\"autoLock\"|\"emergencyOpen\"|\"emergencyClose\"|\"holdOpen\"|\"lockdown\")[]} [supportedModes]\n * @property {number} [batteryLevel]\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n * @property {number} [watts]\n * @property {string} [icon]\n * @property {string} [modelNumber]\n * @property {string} [serialNumber]\n * @property {string} [firmwareVersion]\n */\n\n/**\n * Any smart lock\n * @class Lock\n * @extends {Entity}\n */\nexport class Lock extends Entity {\n /**\n * @constructor\n * @param {LockData} data - The data to initialize the Lock with\n */\n constructor(data) {\n super(data);\n this.id = data.id;\n if (data.name !== undefined) this.name = data.name;\n this.type = data.type;\n if (data.offline !== undefined) this.offline = data.offline;\n if (data.supportedNotifications !== undefined)\n this.supportedNotifications = data.supportedNotifications;\n if (data.notification !== undefined) this.notification = data.notification;\n this.driver = data.driver;\n this.state = data.state;\n if (data.mode !== undefined) this.mode = data.mode;\n if (data.supportedModes !== undefined)\n this.supportedModes = data.supportedModes;\n if (data.batteryLevel !== undefined) this.batteryLevel = data.batteryLevel;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n if (data.watts !== undefined) this.watts = data.watts;\n if (data.icon !== undefined) this.icon = data.icon;\n if (data.modelNumber !== undefined) this.modelNumber = data.modelNumber;\n if (data.serialNumber !== undefined) this.serialNumber = data.serialNumber;\n if (data.firmwareVersion !== undefined)\n this.firmwareVersion = data.firmwareVersion;\n }\n}\n\nObject.defineProperty(Lock.prototype, \"schema\", {\n value: {\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: { $ref: \"definitions.json#/definitions/id\" },\n name: { type: \"string\" },\n type: { $ref: \"definitions.json#/definitions/type\" },\n offline: { type: \"boolean\" },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: { $ref: \"definitions.json#/definitions/notification\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n state: { type: [\"string\", \"null\"], enum: [\"locked\", \"unlocked\", null] },\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: { $ref: \"definitions.json#/definitions/batteryLevel\" },\n systemId: { $ref: \"definitions.json#/definitions/systemId\" },\n watts: { $ref: \"definitions.json#/definitions/watts\" },\n icon: { type: \"string\" },\n modelNumber: { type: \"string\" },\n serialNumber: { type: \"string\" },\n firmwareVersion: { type: \"string\" },\n },\n required: [\"id\", \"type\", \"state\", \"driver\"],\n },\n});\n\nObject.defineProperty(Lock.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":";;;;;;;;;;;AAgCO,IAAM,OAAN,cAAmB,OAAO;AAAA,EAhCjC,OAgCiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK/B,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,SAAK,KAAK,KAAK;AACf,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,SAAK,OAAO,KAAK;AACjB,QAAI,KAAK,YAAY,OAAW,MAAK,UAAU,KAAK;AACpD,QAAI,KAAK,2BAA2B;AAClC,WAAK,yBAAyB,KAAK;AACrC,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,SAAK,SAAS,KAAK;AACnB,SAAK,QAAQ,KAAK;AAClB,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,mBAAmB;AAC1B,WAAK,iBAAiB,KAAK;AAC7B,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,QAAI,KAAK,UAAU,OAAW,MAAK,QAAQ,KAAK;AAChD,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,gBAAgB,OAAW,MAAK,cAAc,KAAK;AAC5D,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,QAAI,KAAK,oBAAoB;AAC3B,WAAK,kBAAkB,KAAK;AAAA,EAChC;AACF;AAEA,OAAO,eAAe,KAAK,WAAW,UAAU;AAAA,EAC9C,OAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,YAAY;AAAA,MACV,IAAI,EAAE,MAAM,mCAAmC;AAAA,MAC/C,MAAM,EAAE,MAAM,SAAS;AAAA,MACvB,MAAM,EAAE,MAAM,qCAAqC;AAAA,MACnD,SAAS,EAAE,MAAM,UAAU;AAAA,MAC3B,wBAAwB;AAAA,QACtB,MAAM;AAAA,MACR;AAAA,MACA,cAAc,EAAE,MAAM,6CAA6C;AAAA,MACnE,QAAQ,EAAE,MAAM,uCAAuC;AAAA,MACvD,OAAO,EAAE,MAAM,CAAC,UAAU,MAAM,GAAG,MAAM,CAAC,UAAU,YAAY,IAAI,EAAE;AAAA,MACtE,MAAM;AAAA,QACJ,MAAM,CAAC,UAAU,MAAM;AAAA,QACvB,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,aACE;AAAA,QACF,SAAS;AAAA,MACX;AAAA,MACA,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,UACL,MAAM;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc,EAAE,MAAM,6CAA6C;AAAA,MACnE,UAAU,EAAE,MAAM,yCAAyC;AAAA,MAC3D,OAAO,EAAE,MAAM,sCAAsC;AAAA,MACrD,MAAM,EAAE,MAAM,SAAS;AAAA,MACvB,aAAa,EAAE,MAAM,SAAS;AAAA,MAC9B,cAAc,EAAE,MAAM,SAAS;AAAA,MAC/B,iBAAiB,EAAE,MAAM,SAAS;AAAA,IACpC;AAAA,IACA,UAAU,CAAC,MAAM,QAAQ,SAAS,QAAQ;AAAA,EAC5C;AACF,CAAC;AAED,OAAO,eAAe,KAAK,WAAW,aAAa;AAAA,EACjD,KAAK,kCAAY;AACf,WAAO;AAAA,EACT,GAFK;AAGP,CAAC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateReservation}from"./chunk-
|
|
1
|
+
import{validateReservation}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Reservation=class extends Entity{static{__name(this,"Reservation")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.primaryGuest&&(this.primaryGuest=data.primaryGuest),this.type=data.type,void 0!==data.sharedGuests&&(this.sharedGuests=data.sharedGuests),void 0!==data.spaceCategory&&(this.spaceCategory=data.spaceCategory),void 0!==data.space&&(this.space=data.space),void 0!==data.previousSpace&&(this.previousSpace=data.previousSpace),this.status=data.status,void 0!==data.mobileCheckInSpaceCategoryChanged&&(this.mobileCheckInSpaceCategoryChanged=data.mobileCheckInSpaceCategoryChanged),void 0!==data.mobileCheckInSpaceChanged&&(this.mobileCheckInSpaceChanged=data.mobileCheckInSpaceChanged),void 0!==data.mobileCheckInStatus&&(this.mobileCheckInStatus=data.mobileCheckInStatus),void 0!==data.mobileCheckInStatusMessage&&(this.mobileCheckInStatusMessage=data.mobileCheckInStatusMessage),void 0!==data.confirmationNumber&&(this.confirmationNumber=data.confirmationNumber),void 0!==data.expectedCheckInDateTime&&(this.expectedCheckInDateTime=data.expectedCheckInDateTime),this.checkInDateTime=data.checkInDateTime,this.checkOutDateTime=data.checkOutDateTime,void 0!==data.adultCount&&(this.adultCount=data.adultCount),void 0!==data.childCount&&(this.childCount=data.childCount),void 0!==data.spaceCategoryAvailabilites&&(this.spaceCategoryAvailabilites=data.spaceCategoryAvailabilites),void 0!==data.revenue&&(this.revenue=data.revenue),void 0!==data.rateSuppressed&&(this.rateSuppressed=data.rateSuppressed),void 0!==data.payment&&(this.payment=data.payment),void 0!==data.company&&(this.company=data.company),void 0!==data.travelAgent&&(this.travelAgent=data.travelAgent),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.metadata&&(this.metadata=data.metadata),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}checkInTime(tz){return new Date(this.checkInDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:tz})}checkOutTime(tz){return new Date(this.checkOutDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:tz})}getNights(){const start=new Date(this.checkInDateTime),end=new Date(this.checkOutDateTime);let nights=Math.round((end-start)/864e5);return nights<=0&&(nights=1),nights}};Object.defineProperty(Reservation.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"reservation.json",title:"Reservation",type:"object",required:["type","status","checkInDateTime","checkOutDateTime"],properties:{id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},primaryGuest:{type:"string"},type:{type:"string",default:"reservation",enum:["reservation"]},sharedGuests:{type:"array",items:{type:"string"}},spaceCategory:{type:"string"},space:{type:["string","null"]},previousSpace:{type:["string","null"],default:null,description:"Used when there was a space assigned and it changes"},status:{type:"string",enum:["reserved","checkedIn","checkedOut","cancelled","noShow","enquired","requested","optional"],description:" 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)"},mobileCheckInSpaceCategoryChanged:{type:"boolean",description:"spaceCategory has changed from original."},mobileCheckInSpaceChanged:{type:"boolean"},mobileCheckInStatus:{type:"string",enum:["ready","blocked","preArrivalStepsRequired","spaceNotAssigned","spaceNotReady","checkInTimeNotStarted"]},mobileCheckInStatusMessage:{type:"string"},confirmationNumber:{type:"string"},expectedCheckInDateTime:{type:["string","object"],format:"date-time",description:"Expected arrival time of guest."},checkInDateTime:{type:["string","object"],format:"date-time"},checkOutDateTime:{type:["string","object"],format:"date-time"},adultCount:{type:"number",default:1,minimum:1},childCount:{type:"number",default:0},spaceCategoryAvailabilites:{type:"array",items:{type:"object",properties:{id:{type:"string"},price:{type:"number"},unit:{type:"string",enum:["night","stay","hour"]},isUpgrade:{type:"boolean"}}}},revenue:{$ref:"definitions.json#/definitions/revenue"},rateSuppressed:{type:"boolean"},payment:{type:"string"},company:{type:"string"},travelAgent:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},metadata:{$ref:"definitions.json#/definitions/metadata"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}}),Object.defineProperty(Reservation.prototype,"validator",{get:__name((function(){return validateReservation}),"get")});export{Reservation};//# sourceMappingURL=chunk-7OSTDOUM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/reservation.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateReservation as validate } from \"../validate\";\n\n/**\n * @typedef {Object} ReservationData \n * @property {string} [id] - Identifier of the object.\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 {string} [primaryGuest]\n * @property {\"reservation\"} type - Default: \"reservation\"\n * @property {string[]} [sharedGuests]\n * @property {string} [spaceCategory]\n * @property {string} [space]\n * @property {string} [previousSpace] - Used when there was a space assigned and it changes. Default: null\n * @property {(\"reserved\"|\"checkedIn\"|\"checkedOut\"|\"cancelled\"|\"noShow\"|\"enquired\"|\"requested\"|\"optional\")} status - 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 * @property {boolean} [mobileCheckInSpaceCategoryChanged] - spaceCategory has changed from original.\n * @property {boolean} [mobileCheckInSpaceChanged]\n * @property {(\"ready\"|\"blocked\"|\"preArrivalStepsRequired\"|\"spaceNotAssigned\"|\"spaceNotReady\"|\"checkInTimeNotStarted\")} [mobileCheckInStatus]\n * @property {string} [mobileCheckInStatusMessage]\n * @property {string} [confirmationNumber]\n * @property {(string|object)} [expectedCheckInDateTime] - Expected arrival time of guest.\n * @property {(string|object)} checkInDateTime\n * @property {(string|object)} checkOutDateTime\n * @property {number} [adultCount] - Default: 1\n * @property {number} [childCount] - Default: 0\n * @property {{id?: string, price?: number, unit?: (\"night\"|\"stay\"|\"hour\"), isUpgrade?: boolean}[]} [spaceCategoryAvailabilites]\n * @property {{id?: string, name?: string, date?: string, price?: number, tax?: number}[]} [revenue]\n * @property {boolean} [rateSuppressed]\n * @property {string} [payment]\n * @property {string} [company]\n * @property {string} [travelAgent]\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n * @property {{}} [metadata]\n * @property {(string|object)} [updatedAt]\n */\n\n/**\n *\n * @class Reservation\n * @extends {Entity}\n */\nexport class Reservation extends Entity {\n /**\n * @constructor\n * @param {ReservationData} data - The data to initialize the Reservation with\n */\n constructor(data) {\n super(data);\n if (data.id !== undefined) this.id = data.id;\n if (data.driver !== undefined) this.driver = data.driver;\n if (data.primaryGuest !== undefined) this.primaryGuest = data.primaryGuest;\n this.type = data.type;\n if (data.sharedGuests !== undefined) this.sharedGuests = data.sharedGuests;\n if (data.spaceCategory !== undefined)\n this.spaceCategory = data.spaceCategory;\n if (data.space !== undefined) this.space = data.space;\n if (data.previousSpace !== undefined)\n this.previousSpace = data.previousSpace;\n this.status = data.status;\n if (data.mobileCheckInSpaceCategoryChanged !== undefined)\n this.mobileCheckInSpaceCategoryChanged =\n data.mobileCheckInSpaceCategoryChanged;\n if (data.mobileCheckInSpaceChanged !== undefined)\n this.mobileCheckInSpaceChanged = data.mobileCheckInSpaceChanged;\n if (data.mobileCheckInStatus !== undefined)\n this.mobileCheckInStatus = data.mobileCheckInStatus;\n if (data.mobileCheckInStatusMessage !== undefined)\n this.mobileCheckInStatusMessage = data.mobileCheckInStatusMessage;\n if (data.confirmationNumber !== undefined)\n this.confirmationNumber = data.confirmationNumber;\n if (data.expectedCheckInDateTime !== undefined)\n this.expectedCheckInDateTime = data.expectedCheckInDateTime;\n this.checkInDateTime = data.checkInDateTime;\n this.checkOutDateTime = data.checkOutDateTime;\n if (data.adultCount !== undefined) this.adultCount = data.adultCount;\n if (data.childCount !== undefined) this.childCount = data.childCount;\n if (data.spaceCategoryAvailabilites !== undefined)\n this.spaceCategoryAvailabilites = data.spaceCategoryAvailabilites;\n if (data.revenue !== undefined) this.revenue = data.revenue;\n if (data.rateSuppressed !== undefined)\n this.rateSuppressed = data.rateSuppressed;\n if (data.payment !== undefined) this.payment = data.payment;\n if (data.company !== undefined) this.company = data.company;\n if (data.travelAgent !== undefined) this.travelAgent = data.travelAgent;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n if (data.metadata !== undefined) this.metadata = data.metadata;\n if (data.updatedAt !== undefined) this.updatedAt = data.updatedAt;\n }\n\n checkInTime(tz) {\n return new Date(this.checkInDateTime).toLocaleString(\"default\", {\n hour: \"numeric\",\n minute: \"numeric\",\n timeZone: tz,\n });\n }\n checkOutTime(tz) {\n return new Date(this.checkOutDateTime).toLocaleString(\"default\", {\n hour: \"numeric\",\n minute: \"numeric\",\n timeZone: tz,\n });\n }\n 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}\n\nObject.defineProperty(Reservation.prototype, \"schema\", {\n value: {\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: { $ref: \"definitions.json#/definitions/id\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n primaryGuest: { type: \"string\" },\n type: { type: \"string\", default: \"reservation\", enum: [\"reservation\"] },\n sharedGuests: { type: \"array\", items: { type: \"string\" } },\n spaceCategory: { type: \"string\" },\n space: { type: [\"string\", \"null\"] },\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: { type: \"boolean\" },\n mobileCheckInStatus: {\n type: \"string\",\n enum: [\n \"ready\",\n \"blocked\",\n \"preArrivalStepsRequired\",\n \"spaceNotAssigned\",\n \"spaceNotReady\",\n \"checkInTimeNotStarted\",\n ],\n },\n mobileCheckInStatusMessage: { type: \"string\" },\n confirmationNumber: { type: \"string\" },\n expectedCheckInDateTime: {\n type: [\"string\", \"object\"],\n format: \"date-time\",\n description: \"Expected arrival time of guest.\",\n },\n checkInDateTime: { type: [\"string\", \"object\"], format: \"date-time\" },\n checkOutDateTime: { type: [\"string\", \"object\"], format: \"date-time\" },\n adultCount: { type: \"number\", default: 1, minimum: 1 },\n childCount: { type: \"number\", default: 0 },\n spaceCategoryAvailabilites: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n price: { type: \"number\" },\n unit: { type: \"string\", enum: [\"night\", \"stay\", \"hour\"] },\n isUpgrade: { type: \"boolean\" },\n },\n },\n },\n revenue: { $ref: \"definitions.json#/definitions/revenue\" },\n rateSuppressed: { type: \"boolean\" },\n payment: { type: \"string\" },\n company: { type: \"string\" },\n travelAgent: { type: \"string\" },\n systemId: { $ref: \"definitions.json#/definitions/systemId\" },\n metadata: { $ref: \"definitions.json#/definitions/metadata\" },\n updatedAt: { $ref: \"definitions.json#/definitions/updatedAt\" },\n },\n },\n});\n\nObject.defineProperty(Reservation.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateSpace}from"./chunk-
|
|
1
|
+
import{validateSpace}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Space=class extends Entity{static{__name(this,"Space")}constructor(data){super(data),this.id=data.id,this.name=data.name,this.type=data.type,void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.floor&&(this.floor=data.floor),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.category&&(this.category=data.category),void 0!==data.rooms&&(this.rooms=data.rooms),void 0!==data.occupied&&(this.occupied=data.occupied),void 0!==data.inUse&&(this.inUse=data.inUse),void 0!==data.eco&&(this.eco=data.eco),void 0!==data.features&&(this.features=data.features),void 0!==data.maximumOccupancy&&(this.maximumOccupancy=data.maximumOccupancy),void 0!==data.housekeepingStatus&&(this.housekeepingStatus=data.housekeepingStatus),void 0!==data.serviceStatus&&(this.serviceStatus=data.serviceStatus),void 0!==data.systemId&&(this.systemId=data.systemId)}get hasDimmer(){return this.rooms.some((room=>room.hasDimmer))}get hasSwitch(){return this.rooms.some((room=>room.hasSwitch))}get hasWindowCovering(){return this.rooms.some((room=>room.hasWindowCovering))}get hasThermostat(){return this.rooms.some((room=>room.hasThermostat))}get hasLock(){return this.rooms.some((room=>room.hasLock))}get hasCourtesy(){return this.rooms.some((room=>room.hasCourtesy))}get hasCamera(){return this.rooms.some((room=>room.hasCamera))}get hasAlarm(){return this.rooms.some((room=>room.hasAlarm))}get hasMedia(){return this.rooms.some((room=>room.hasMedia))}};Object.defineProperty(Space.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"space.json",title:"Space",type:"object",required:["id","name","type"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",minLength:1},type:{type:"string",default:"space",enum:["space"]},discriminator:{type:"string",enum:["classRoom","hotelRoom","office","building","commonArea","conferenceRoom","lobby","gym","pool","restaurant","unit"]},floor:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},category:{type:"string",description:"This is the category id"},rooms:{type:"array",items:{type:"string"}},occupied:{type:"boolean"},inUse:{type:"boolean"},eco:{type:"object",additionalProperties:!1,default:{active:!1,allowed:!1,previousState:null},properties:{active:{type:"boolean",default:!1},activatedAt:{type:["string","object"],format:"date-time"},allowed:{type:"boolean",default:!1},previousState:{type:["object","null"],properties:{thermostats:{type:"object",patternProperties:{".*":{type:"object",properties:{setpoints:{$ref:"thermostat.json#/properties/setpoints"}}}}}},additionalProperties:!1}}},features:{type:"array",items:{type:"string",enum:["pet"]}},maximumOccupancy:{type:"number",minimum:1},housekeepingStatus:{type:"string",enum:["clean","dirty","inspected","pickup"]},serviceStatus:{type:"string",enum:["inService","outOfOrder","outOfService"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Space.prototype,"validator",{get:__name((function(){return validateSpace}),"get")});export{Space};//# sourceMappingURL=chunk-7VS2JHRH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/space.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateSpace as validate } from \"../validate\";\n\n/**\n * @typedef {Object} SpaceData\n * @property {string} id - Identifier of the object.\n * @property {string} name\n * @property {\"space\"} type - Default: \"space\"\n * @property {(\"classRoom\"|\"hotelRoom\"|\"office\"|\"building\"|\"commonArea\"|\"conferenceRoom\"|\"lobby\"|\"gym\"|\"pool\"|\"restaurant\"|\"unit\")} [discriminator]\n * @property {string} [floor]\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 {string} [category] - This is the category id\n * @property {string[]} [rooms]\n * @property {boolean} [occupied]\n * @property {boolean} [inUse]\n * @property {{active?: boolean, activatedAt?: (string|object), allowed?: boolean, previousState?: object}} [eco] - Default: {\"active\":false,\"allowed\":false,\"previousState\":null}\n * @property {boolean} [eco.active] - Default: false\n * @property {(string|object)} [eco.activatedAt]\n * @property {boolean} [eco.allowed] - Default: false\n * @property {object} [eco.previousState]\n * @property {\"pet\"[]} [features]\n * @property {number} [maximumOccupancy]\n * @property {(\"clean\"|\"dirty\"|\"inspected\"|\"pickup\")} [housekeepingStatus]\n * @property {(\"inService\"|\"outOfOrder\"|\"outOfService\")} [serviceStatus]\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n */\n\n/**\n *\n * @class Space\n * @extends {Entity}\n */\nexport class Space extends Entity {\n /**\n * @constructor\n * @param {SpaceData} data - The data to initialize the Space with\n */\n constructor(data) {\n super(data);\n this.id = data.id;\n this.name = data.name;\n this.type = data.type;\n if (data.discriminator !== undefined)\n this.discriminator = data.discriminator;\n if (data.floor !== undefined) this.floor = data.floor;\n if (data.driver !== undefined) this.driver = data.driver;\n if (data.category !== undefined) this.category = data.category;\n if (data.rooms !== undefined) this.rooms = data.rooms;\n if (data.occupied !== undefined) this.occupied = data.occupied;\n if (data.inUse !== undefined) this.inUse = data.inUse;\n if (data.eco !== undefined) this.eco = data.eco;\n if (data.features !== undefined) this.features = data.features;\n if (data.maximumOccupancy !== undefined)\n this.maximumOccupancy = data.maximumOccupancy;\n if (data.housekeepingStatus !== undefined)\n this.housekeepingStatus = data.housekeepingStatus;\n if (data.serviceStatus !== undefined)\n this.serviceStatus = data.serviceStatus;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n }\n\n get hasDimmer() {\n return this.rooms.some((room) => room.hasDimmer);\n }\n get hasSwitch() {\n return this.rooms.some((room) => room.hasSwitch);\n }\n get hasWindowCovering() {\n return this.rooms.some((room) => room.hasWindowCovering);\n }\n get hasThermostat() {\n return this.rooms.some((room) => room.hasThermostat);\n }\n get hasLock() {\n return this.rooms.some((room) => room.hasLock);\n }\n get hasCourtesy() {\n return this.rooms.some((room) => room.hasCourtesy);\n }\n get hasCamera() {\n return this.rooms.some((room) => room.hasCamera);\n }\n get hasAlarm() {\n return this.rooms.some((room) => room.hasAlarm);\n }\n get hasMedia() {\n return this.rooms.some((room) => room.hasMedia);\n }\n}\n\nObject.defineProperty(Space.prototype, \"schema\", {\n value: {\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: { $ref: \"definitions.json#/definitions/id\" },\n name: { type: \"string\", minLength: 1 },\n type: { type: \"string\", default: \"space\", enum: [\"space\"] },\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: { type: \"string\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n category: { type: \"string\", description: \"This is the category id\" },\n rooms: { type: \"array\", items: { type: \"string\" } },\n occupied: { type: \"boolean\" },\n inUse: { type: \"boolean\" },\n eco: {\n type: \"object\",\n additionalProperties: false,\n default: { active: false, allowed: false, previousState: null },\n properties: {\n active: { type: \"boolean\", default: false },\n activatedAt: { type: [\"string\", \"object\"], format: \"date-time\" },\n allowed: { type: \"boolean\", default: false },\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: { type: \"array\", items: { type: \"string\", enum: [\"pet\"] } },\n maximumOccupancy: { type: \"number\", minimum: 1 },\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: { $ref: \"definitions.json#/definitions/systemId\" },\n },\n },\n});\n\nObject.defineProperty(Space.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateGateway}from"./chunk-
|
|
1
|
+
import{validateGateway}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Gateway=class extends Entity{static{__name(this,"Gateway")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),void 0!==data.offline&&(this.offline=data.offline),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.status=data.status,void 0!==data.systemId&&(this.systemId=data.systemId),this.driver=data.driver,void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Gateway.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},offline:{type:"boolean"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]}}),Object.defineProperty(Gateway.prototype,"validator",{get:__name((function(){return validateGateway}),"get")});export{Gateway};//# sourceMappingURL=chunk-AQVI4C4C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/gateway.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateGateway as validate } from \"../validate\";\n\n/**\n * @typedef {Object} GatewayData Any smart gateway that is an entrypoint for controlling devices\n * @property {string} id - Identifier of the object.\n * @property {string} [name]\n * @property {boolean} [offline]\n * @property {(\"alarm\"|\"dimmer\"|\"switch\"|\"motionSensor\"|\"windowCovering\"|\"camera\"|\"mediaSource\"|\"thermostat\"|\"lock\"|\"courtesy\"|\"gateway\"|\"tv\"|\"dvr\"|\"appleTv\"|\"discPlayer\"|\"mediaPlayer\"|\"uncontrolledDevice\")} type\n * @property {(\"button 1\"|\"button 2\"|\"button 3\"|\"button 4\"|\"button 5\"|\"idle\"|\"powerHasBeedApplied\"|\"acMainsDisconnected\"|\"acMainsReconnected\"|\"replaceBatterySoon\"|\"replaceBatteryNow\"|\"batteryOk\"|\"hardwareFailure\"|\"softwareFailure\"|\"hardwareFailureWithCode\"|\"softwareFailureWithCode\"|\"motionDetection\"|\"airFilterNeedsCleaned\"|\"airFilterNeedsReplaced\"|\"smokeDetected\"|\"outsideSafeTemperatureRange\"|\"outsideSafeHumidityRange\"|\"scheduleMaintenance\"|\"doorAjar\"|\"communicationFailure\"|\"communicationOk\"|\"burglarAlarm\"|\"fireAlarm\")[]} [supportedNotifications]\n * @property {{name?: string, timestamp?: number, description?: string}} [notification]\n * @property {string} status\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\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 {number} [watts]\n * @property {string} [icon]\n * @property {string} [modelNumber]\n * @property {string} [serialNumber]\n * @property {string} [firmwareVersion]\n */\n\n/**\n * Any smart gateway that is an entrypoint for controlling devices\n * @class Gateway\n * @extends {Entity}\n */\nexport class Gateway extends Entity {\n /**\n * @constructor\n * @param {GatewayData} data - The data to initialize the Gateway with\n */\n constructor(data) {\n super(data);\n this.id = data.id;\n if (data.name !== undefined) this.name = data.name;\n if (data.offline !== undefined) this.offline = data.offline;\n this.type = data.type;\n if (data.supportedNotifications !== undefined)\n this.supportedNotifications = data.supportedNotifications;\n if (data.notification !== undefined) this.notification = data.notification;\n this.status = data.status;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n this.driver = data.driver;\n if (data.watts !== undefined) this.watts = data.watts;\n if (data.icon !== undefined) this.icon = data.icon;\n if (data.modelNumber !== undefined) this.modelNumber = data.modelNumber;\n if (data.serialNumber !== undefined) this.serialNumber = data.serialNumber;\n if (data.firmwareVersion !== undefined)\n this.firmwareVersion = data.firmwareVersion;\n }\n}\n\nObject.defineProperty(Gateway.prototype, \"schema\", {\n value: {\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: { $ref: \"definitions.json#/definitions/id\" },\n name: { type: \"string\" },\n offline: { type: \"boolean\" },\n type: { $ref: \"definitions.json#/definitions/type\" },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: { $ref: \"definitions.json#/definitions/notification\" },\n status: { type: \"string\" },\n systemId: { $ref: \"definitions.json#/definitions/systemId\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n watts: { $ref: \"definitions.json#/definitions/watts\" },\n icon: { type: \"string\" },\n modelNumber: { type: \"string\" },\n serialNumber: { type: \"string\" },\n firmwareVersion: { type: \"string\" },\n },\n required: [\"id\", \"type\", \"status\", \"driver\"],\n },\n});\n\nObject.defineProperty(Gateway.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":";;;;;;;;;;;AA6BO,IAAM,UAAN,cAAsB,OAAO;AAAA,EA7BpC,OA6BoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKlC,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,SAAK,KAAK,KAAK;AACf,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,YAAY,OAAW,MAAK,UAAU,KAAK;AACpD,SAAK,OAAO,KAAK;AACjB,QAAI,KAAK,2BAA2B;AAClC,WAAK,yBAAyB,KAAK;AACrC,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,SAAK,SAAS,KAAK;AACnB,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,SAAK,SAAS,KAAK;AACnB,QAAI,KAAK,UAAU,OAAW,MAAK,QAAQ,KAAK;AAChD,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,gBAAgB,OAAW,MAAK,cAAc,KAAK;AAC5D,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,QAAI,KAAK,oBAAoB;AAC3B,WAAK,kBAAkB,KAAK;AAAA,EAChC;AACF;AAEA,OAAO,eAAe,QAAQ,WAAW,UAAU;AAAA,EACjD,OAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,aACE;AAAA,IACF,MAAM;AAAA,IACN,YAAY;AAAA,MACV,IAAI,EAAE,MAAM,mCAAmC;AAAA,MAC/C,MAAM,EAAE,MAAM,SAAS;AAAA,MACvB,SAAS,EAAE,MAAM,UAAU;AAAA,MAC3B,MAAM,EAAE,MAAM,qCAAqC;AAAA,MACnD,wBAAwB;AAAA,QACtB,MAAM;AAAA,MACR;AAAA,MACA,cAAc,EAAE,MAAM,6CAA6C;AAAA,MACnE,QAAQ,EAAE,MAAM,SAAS;AAAA,MACzB,UAAU,EAAE,MAAM,yCAAyC;AAAA,MAC3D,QAAQ,EAAE,MAAM,uCAAuC;AAAA,MACvD,OAAO,EAAE,MAAM,sCAAsC;AAAA,MACrD,MAAM,EAAE,MAAM,SAAS;AAAA,MACvB,aAAa,EAAE,MAAM,SAAS;AAAA,MAC9B,cAAc,EAAE,MAAM,SAAS;AAAA,MAC/B,iBAAiB,EAAE,MAAM,SAAS;AAAA,IACpC;AAAA,IACA,UAAU,CAAC,MAAM,QAAQ,UAAU,QAAQ;AAAA,EAC7C;AACF,CAAC;AAED,OAAO,eAAe,QAAQ,WAAW,aAAa;AAAA,EACpD,KAAK,kCAAY;AACf,WAAO;AAAA,EACT,GAFK;AAGP,CAAC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateEmailMessage}from"./chunk-
|
|
1
|
+
import{validateEmailMessage}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var EmailMessage=class extends Entity{static{__name(this,"EmailMessage")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.to=data.to,this.from=data.from,this.subject=data.subject,this.status=data.status,void 0!==data.statusMessage&&(this.statusMessage=data.statusMessage),void 0!==data.html&&(this.html=data.html),void 0!==data.text&&(this.text=data.text),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.appData&&(this.appData=data.appData),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(EmailMessage.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"emailMessage.json",title:"Email Message",type:"object",required:["to","from","status","subject"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"emailMessage",enum:["emailMessage"]},to:{type:"string",pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},from:{type:"string",pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*",description:"Must be in the format of 'Sender <email@example.com>"},subject:{type:"string"},status:{type:"string",enum:["queued","sending","sent","deferred","delivered","undelivered","bounced","blocked","receiving","received","opened","clicked","unsubscribed","spamReport"]},statusMessage:{type:"string"},html:{type:"string"},text:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(EmailMessage.prototype,"validator",{get:__name((function(){return validateEmailMessage}),"get")});export{EmailMessage};//# sourceMappingURL=chunk-ASUIVB2I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateLog}from"./chunk-
|
|
1
|
+
import{validateLog}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Log=class extends Entity{static{__name(this,"Log")}constructor(data){super(data),this.type=data.type,this.timestamp=data.timestamp,this.id=data.id,this.driver=data.driver,this.name=data.name,void 0!==data.field1&&(this.field1=data.field1),void 0!==data.field2&&(this.field2=data.field2),void 0!==data.field3&&(this.field3=data.field3),void 0!==data.field4&&(this.field4=data.field4),void 0!==data.field5&&(this.field5=data.field5),void 0!==data.field6&&(this.field6=data.field6)}};Object.defineProperty(Log.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"log.json",title:"Log",type:"object",required:["type","timestamp","id","driver","name"],properties:{type:{type:"string",default:"log",enum:["log"]},timestamp:{type:"number",minimum:1655907956593},id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},name:{type:"string",description:"Event name"},field1:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field2:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field3:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field4:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field5:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field6:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}}}}}),Object.defineProperty(Log.prototype,"validator",{get:__name((function(){return validateLog}),"get")});export{Log};//# sourceMappingURL=chunk-BAIHVN4F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/log.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateLog as validate } from \"../validate\";\n\n/**\n * @typedef {Object} LogData\n * @property {\"log\"} type - Default: \"log\"\n * @property {number} timestamp\n * @property {string} id - Identifier of the object.\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 {string} name - Event name\n * @property {{name: string, value: string}} [field1]\n * @property {string} field1.name\n * @property {string} field1.value\n * @property {{name: string, value: string}} [field2]\n * @property {string} field2.name\n * @property {string} field2.value\n * @property {{name: string, value: string}} [field3]\n * @property {string} field3.name\n * @property {string} field3.value\n * @property {{name: string, value: string}} [field4]\n * @property {string} field4.name\n * @property {string} field4.value\n * @property {{name: string, value: string}} [field5]\n * @property {string} field5.name\n * @property {string} field5.value\n * @property {{name: string, value: string}} [field6]\n * @property {string} field6.name\n * @property {string} field6.value\n */\n\n/**\n *\n * @class Log\n * @extends {Entity}\n */\nexport class Log extends Entity {\n /**\n * @constructor\n * @param {LogData} data - The data to initialize the Log with\n */\n constructor(data) {\n super(data);\n this.type = data.type;\n this.timestamp = data.timestamp;\n this.id = data.id;\n this.driver = data.driver;\n this.name = data.name;\n if (data.field1 !== undefined) this.field1 = data.field1;\n if (data.field2 !== undefined) this.field2 = data.field2;\n if (data.field3 !== undefined) this.field3 = data.field3;\n if (data.field4 !== undefined) this.field4 = data.field4;\n if (data.field5 !== undefined) this.field5 = data.field5;\n if (data.field6 !== undefined) this.field6 = data.field6;\n }\n}\n\nObject.defineProperty(Log.prototype, \"schema\", {\n value: {\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: { type: \"string\", default: \"log\", enum: [\"log\"] },\n timestamp: { type: \"number\", minimum: 1655907956593 },\n id: { $ref: \"definitions.json#/definitions/id\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n name: { type: \"string\", description: \"Event name\" },\n field1: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: { name: { type: \"string\" }, value: { type: \"string\" } },\n },\n field2: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: { name: { type: \"string\" }, value: { type: \"string\" } },\n },\n field3: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: { name: { type: \"string\" }, value: { type: \"string\" } },\n },\n field4: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: { name: { type: \"string\" }, value: { type: \"string\" } },\n },\n field5: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: { name: { type: \"string\" }, value: { type: \"string\" } },\n },\n field6: {\n type: \"object\",\n required: [\"name\", \"value\"],\n properties: { name: { type: \"string\" }, value: { type: \"string\" } },\n },\n },\n },\n});\n\nObject.defineProperty(Log.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":";;;;;;;;;;;AAsCO,IAAM,MAAN,cAAkB,OAAO;AAAA,EAtChC,OAsCgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9B,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,SAAK,OAAO,KAAK;AACjB,SAAK,YAAY,KAAK;AACtB,SAAK,KAAK,KAAK;AACf,SAAK,SAAS,KAAK;AACnB,SAAK,OAAO,KAAK;AACjB,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAClD,QAAI,KAAK,WAAW,OAAW,MAAK,SAAS,KAAK;AAAA,EACpD;AACF;AAEA,OAAO,eAAe,IAAI,WAAW,UAAU;AAAA,EAC7C,OAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU,CAAC,QAAQ,aAAa,MAAM,UAAU,MAAM;AAAA,IACtD,YAAY;AAAA,MACV,MAAM,EAAE,MAAM,UAAU,SAAS,OAAO,MAAM,CAAC,KAAK,EAAE;AAAA,MACtD,WAAW,EAAE,MAAM,UAAU,SAAS,cAAc;AAAA,MACpD,IAAI,EAAE,MAAM,mCAAmC;AAAA,MAC/C,QAAQ,EAAE,MAAM,uCAAuC;AAAA,MACvD,MAAM,EAAE,MAAM,UAAU,aAAa,aAAa;AAAA,MAClD,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,UAAU,CAAC,QAAQ,OAAO;AAAA,QAC1B,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,SAAS,EAAE;AAAA,MACpE;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,UAAU,CAAC,QAAQ,OAAO;AAAA,QAC1B,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,SAAS,EAAE;AAAA,MACpE;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,UAAU,CAAC,QAAQ,OAAO;AAAA,QAC1B,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,SAAS,EAAE;AAAA,MACpE;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,UAAU,CAAC,QAAQ,OAAO;AAAA,QAC1B,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,SAAS,EAAE;AAAA,MACpE;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,UAAU,CAAC,QAAQ,OAAO;AAAA,QAC1B,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,SAAS,EAAE;AAAA,MACpE;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,UAAU,CAAC,QAAQ,OAAO;AAAA,QAC1B,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,SAAS,EAAE;AAAA,MACpE;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,OAAO,eAAe,IAAI,WAAW,aAAa;AAAA,EAChD,KAAK,kCAAY;AACf,WAAO;AAAA,EACT,GAFK;AAGP,CAAC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateMediaFile}from"./chunk-
|
|
1
|
+
import{validateMediaFile}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var MediaFile=class extends Entity{static{__name(this,"MediaFile")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.fileHash&&(this.fileHash=data.fileHash),void 0!==data.category&&(this.category=data.category),void 0!==data.mimeType&&(this.mimeType=data.mimeType),void 0!==data.data&&(this.data=data.data),void 0!==data.url&&(this.url=data.url),void 0!==data.width&&(this.width=data.width),void 0!==data.height&&(this.height=data.height),void 0!==data.size&&(this.size=data.size),void 0!==data.uploadUrl&&(this.uploadUrl=data.uploadUrl),void 0!==data.uploadUrlExpires&&(this.uploadUrlExpires=data.uploadUrlExpires),void 0!==data.createdBy&&(this.createdBy=data.createdBy),void 0!==data.systemId&&(this.systemId=data.systemId)}createImageVariant(params){if("image/*"!=this.mimeType)throw new Error("Only dynamic images can have variants");if(!this.url)throw new Error("MediaFile has no url");const query=Object.keys(params).map((key=>`${key}=${params[key]}`)).join(",");return this.url.replace(/\/public$/,`/${query}`)}};Object.defineProperty(MediaFile.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]}}),Object.defineProperty(MediaFile.prototype,"validator",{get:__name((function(){return validateMediaFile}),"get")});export{MediaFile};//# sourceMappingURL=chunk-BRZVBG7Y.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateCamera}from"./chunk-
|
|
1
|
+
import{validateCamera}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Camera=class extends Entity{static{__name(this,"Camera")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.liveStreams&&(this.liveStreams=data.liveStreams),void 0!==data.liveStream&&(this.liveStream=data.liveStream),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Camera.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",enum:["camera"],default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Camera.prototype,"validator",{get:__name((function(){return validateCamera}),"get")});export{Camera};//# sourceMappingURL=chunk-DGMWQ4PP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/camera.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateCamera as validate } from \"../validate\";\n\n/**\n * @typedef {Object} CameraData Any smart camera\n * @property {string} id - Identifier of the object.\n * @property {string} [name]\n * @property {\"camera\"} type - Default: \"camera\"\n * @property {boolean} [offline]\n * @property {(\"button 1\"|\"button 2\"|\"button 3\"|\"button 4\"|\"button 5\"|\"idle\"|\"powerHasBeedApplied\"|\"acMainsDisconnected\"|\"acMainsReconnected\"|\"replaceBatterySoon\"|\"replaceBatteryNow\"|\"batteryOk\"|\"hardwareFailure\"|\"softwareFailure\"|\"hardwareFailureWithCode\"|\"softwareFailureWithCode\"|\"motionDetection\"|\"airFilterNeedsCleaned\"|\"airFilterNeedsReplaced\"|\"smokeDetected\"|\"outsideSafeTemperatureRange\"|\"outsideSafeHumidityRange\"|\"scheduleMaintenance\"|\"doorAjar\"|\"communicationFailure\"|\"communicationOk\"|\"burglarAlarm\"|\"fireAlarm\")[]} [supportedNotifications]\n * @property {{name?: string, timestamp?: number, description?: string}} [notification]\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 {{iframe?: string, hls?: string, webRTC?: string, rtsp?: string}} [liveStreams]\n * @property {string} [liveStreams.iframe]\n * @property {string} [liveStreams.hls]\n * @property {string} [liveStreams.webRTC]\n * @property {string} [liveStreams.rtsp]\n * @property {{id?: string, driver?: (\"cloudflare-stream\"|\"aws-kinesis\"|\"digital-watchdog\"|\"mediamtx\"), allowedOrigins?: string[], authRequired?: boolean, iframe?: string, hls?: string, webRTC?: string, rtsp?: string, previewImage?: string}} [liveStream]\n * @property {string} [liveStream.id]\n * @property {(\"cloudflare-stream\"|\"aws-kinesis\"|\"digital-watchdog\"|\"mediamtx\")} [liveStream.driver]\n * @property {string[]} [liveStream.allowedOrigins]\n * @property {boolean} [liveStream.authRequired]\n * @property {string} [liveStream.iframe]\n * @property {string} [liveStream.hls]\n * @property {string} [liveStream.webRTC]\n * @property {string} [liveStream.rtsp] - Local RTSP stream URL\n * @property {string} [liveStream.previewImage] - Source to preview the camera stream\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n * @property {number} [watts]\n * @property {string} [icon]\n * @property {string} [modelNumber]\n * @property {string} [serialNumber]\n * @property {string} [firmwareVersion]\n */\n\n/**\n * Any smart camera\n * @class Camera\n * @extends {Entity}\n */\nexport class Camera extends Entity {\n /**\n * @constructor\n * @param {CameraData} data - The data to initialize the Camera with\n */\n constructor(data) {\n super(data);\n this.id = data.id;\n if (data.name !== undefined) this.name = data.name;\n this.type = data.type;\n if (data.offline !== undefined) this.offline = data.offline;\n if (data.supportedNotifications !== undefined)\n this.supportedNotifications = data.supportedNotifications;\n if (data.notification !== undefined) this.notification = data.notification;\n this.driver = data.driver;\n if (data.liveStreams !== undefined) this.liveStreams = data.liveStreams;\n if (data.liveStream !== undefined) this.liveStream = data.liveStream;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n if (data.watts !== undefined) this.watts = data.watts;\n if (data.icon !== undefined) this.icon = data.icon;\n if (data.modelNumber !== undefined) this.modelNumber = data.modelNumber;\n if (data.serialNumber !== undefined) this.serialNumber = data.serialNumber;\n if (data.firmwareVersion !== undefined)\n this.firmwareVersion = data.firmwareVersion;\n }\n}\n\nObject.defineProperty(Camera.prototype, \"schema\", {\n value: {\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: { $ref: \"definitions.json#/definitions/id\" },\n name: { type: \"string\" },\n type: { type: \"string\", enum: [\"camera\"], default: \"camera\" },\n offline: { type: \"boolean\" },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: { $ref: \"definitions.json#/definitions/notification\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\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: { type: [\"string\", \"null\"] },\n hls: { type: [\"string\", \"null\"] },\n webRTC: { type: [\"string\", \"null\"] },\n rtsp: { type: [\"string\", \"null\"] },\n },\n },\n liveStream: {\n type: \"object\",\n additionalProperties: false,\n properties: {\n id: { type: \"string\" },\n driver: {\n type: \"string\",\n enum: [\n \"cloudflare-stream\",\n \"aws-kinesis\",\n \"digital-watchdog\",\n \"mediamtx\",\n ],\n },\n allowedOrigins: { type: \"array\", items: { type: \"string\" } },\n authRequired: { type: \"boolean\" },\n iframe: { type: [\"string\", \"null\"] },\n hls: { type: [\"string\", \"null\"] },\n webRTC: { type: [\"string\", \"null\"] },\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: { $ref: \"definitions.json#/definitions/systemId\" },\n watts: { $ref: \"definitions.json#/definitions/watts\" },\n icon: { type: \"string\" },\n modelNumber: { type: \"string\" },\n serialNumber: { type: \"string\" },\n firmwareVersion: { type: \"string\" },\n },\n },\n});\n\nObject.defineProperty(Camera.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validateSwitch}from"./chunk-
|
|
1
|
+
import{validateSwitch}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Switch=class extends Entity{static{__name(this,"Switch")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.state=data.state,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion),void 0!==data.restoresAt&&(this.restoresAt=data.restoresAt)}};Object.defineProperty(Switch.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"switch.json",title:"Switch",description:"Any smart switch",type:"object",required:["id","type","state","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},discriminator:{type:"string",enum:["light","fan","irrigation"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},state:{type:"string",enum:["on","off"]},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},restoresAt:{type:"string",format:"date-time"}}}}),Object.defineProperty(Switch.prototype,"validator",{get:__name((function(){return validateSwitch}),"get")});export{Switch};//# sourceMappingURL=chunk-E7DC44YR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/switch.js"],"sourcesContent":["/* @ts-nocheck */\n/* This file is automatically generated. Do not modify it manually. */\n\nimport { Entity } from \"./entity\";\nimport { validateSwitch as validate } from \"../validate\";\n\n/**\n * @typedef {Object} SwitchData Any smart switch\n * @property {string} id - Identifier of the object.\n * @property {string} [name]\n * @property {(\"alarm\"|\"dimmer\"|\"switch\"|\"motionSensor\"|\"windowCovering\"|\"camera\"|\"mediaSource\"|\"thermostat\"|\"lock\"|\"courtesy\"|\"gateway\"|\"tv\"|\"dvr\"|\"appleTv\"|\"discPlayer\"|\"mediaPlayer\"|\"uncontrolledDevice\")} type\n * @property {(\"light\"|\"fan\"|\"irrigation\")} [discriminator]\n * @property {(\"button 1\"|\"button 2\"|\"button 3\"|\"button 4\"|\"button 5\"|\"idle\"|\"powerHasBeedApplied\"|\"acMainsDisconnected\"|\"acMainsReconnected\"|\"replaceBatterySoon\"|\"replaceBatteryNow\"|\"batteryOk\"|\"hardwareFailure\"|\"softwareFailure\"|\"hardwareFailureWithCode\"|\"softwareFailureWithCode\"|\"motionDetection\"|\"airFilterNeedsCleaned\"|\"airFilterNeedsReplaced\"|\"smokeDetected\"|\"outsideSafeTemperatureRange\"|\"outsideSafeHumidityRange\"|\"scheduleMaintenance\"|\"doorAjar\"|\"communicationFailure\"|\"communicationOk\"|\"burglarAlarm\"|\"fireAlarm\")[]} [supportedNotifications]\n * @property {{name?: string, timestamp?: number, description?: string}} [notification]\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 {boolean} [offline]\n * @property {(\"on\"|\"off\")} state\n * @property {string} [systemId] - Identifier of the object, directly related to the system.\n * @property {number} [watts]\n * @property {string} [icon]\n * @property {string} [modelNumber]\n * @property {string} [serialNumber]\n * @property {string} [firmwareVersion]\n * @property {string} [restoresAt]\n */\n\n/**\n * Any smart switch\n * @class Switch\n * @extends {Entity}\n */\nexport class Switch extends Entity {\n /**\n * @constructor\n * @param {SwitchData} data - The data to initialize the Switch with\n */\n constructor(data) {\n super(data);\n this.id = data.id;\n if (data.name !== undefined) this.name = data.name;\n this.type = data.type;\n if (data.discriminator !== undefined)\n this.discriminator = data.discriminator;\n if (data.supportedNotifications !== undefined)\n this.supportedNotifications = data.supportedNotifications;\n if (data.notification !== undefined) this.notification = data.notification;\n this.driver = data.driver;\n if (data.offline !== undefined) this.offline = data.offline;\n this.state = data.state;\n if (data.systemId !== undefined) this.systemId = data.systemId;\n if (data.watts !== undefined) this.watts = data.watts;\n if (data.icon !== undefined) this.icon = data.icon;\n if (data.modelNumber !== undefined) this.modelNumber = data.modelNumber;\n if (data.serialNumber !== undefined) this.serialNumber = data.serialNumber;\n if (data.firmwareVersion !== undefined)\n this.firmwareVersion = data.firmwareVersion;\n if (data.restoresAt !== undefined) this.restoresAt = data.restoresAt;\n }\n}\n\nObject.defineProperty(Switch.prototype, \"schema\", {\n value: {\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: { $ref: \"definitions.json#/definitions/id\" },\n name: { type: \"string\" },\n type: { $ref: \"definitions.json#/definitions/type\" },\n discriminator: { type: \"string\", enum: [\"light\", \"fan\", \"irrigation\"] },\n supportedNotifications: {\n $ref: \"definitions.json#/definitions/supportedNotifications\",\n },\n notification: { $ref: \"definitions.json#/definitions/notification\" },\n driver: { $ref: \"definitions.json#/definitions/driver\" },\n offline: { type: \"boolean\" },\n state: { type: \"string\", enum: [\"on\", \"off\"] },\n systemId: { $ref: \"definitions.json#/definitions/systemId\" },\n watts: { $ref: \"definitions.json#/definitions/watts\" },\n icon: { type: \"string\" },\n modelNumber: { type: \"string\" },\n serialNumber: { type: \"string\" },\n firmwareVersion: { type: \"string\" },\n restoresAt: { type: \"string\", format: \"date-time\" },\n },\n },\n});\n\nObject.defineProperty(Switch.prototype, \"validator\", {\n get: function () {\n return validate;\n },\n});\n"],"mappings":";;;;;;;;;;;AA+BO,IAAM,SAAN,cAAqB,OAAO;AAAA,EA/BnC,OA+BmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjC,YAAY,MAAM;AAChB,UAAM,IAAI;AACV,SAAK,KAAK,KAAK;AACf,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,SAAK,OAAO,KAAK;AACjB,QAAI,KAAK,kBAAkB;AACzB,WAAK,gBAAgB,KAAK;AAC5B,QAAI,KAAK,2BAA2B;AAClC,WAAK,yBAAyB,KAAK;AACrC,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,SAAK,SAAS,KAAK;AACnB,QAAI,KAAK,YAAY,OAAW,MAAK,UAAU,KAAK;AACpD,SAAK,QAAQ,KAAK;AAClB,QAAI,KAAK,aAAa,OAAW,MAAK,WAAW,KAAK;AACtD,QAAI,KAAK,UAAU,OAAW,MAAK,QAAQ,KAAK;AAChD,QAAI,KAAK,SAAS,OAAW,MAAK,OAAO,KAAK;AAC9C,QAAI,KAAK,gBAAgB,OAAW,MAAK,cAAc,KAAK;AAC5D,QAAI,KAAK,iBAAiB,OAAW,MAAK,eAAe,KAAK;AAC9D,QAAI,KAAK,oBAAoB;AAC3B,WAAK,kBAAkB,KAAK;AAC9B,QAAI,KAAK,eAAe,OAAW,MAAK,aAAa,KAAK;AAAA,EAC5D;AACF;AAEA,OAAO,eAAe,OAAO,WAAW,UAAU;AAAA,EAChD,OAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,UAAU,CAAC,MAAM,QAAQ,SAAS,QAAQ;AAAA,IAC1C,YAAY;AAAA,MACV,IAAI,EAAE,MAAM,mCAAmC;AAAA,MAC/C,MAAM,EAAE,MAAM,SAAS;AAAA,MACvB,MAAM,EAAE,MAAM,qCAAqC;AAAA,MACnD,eAAe,EAAE,MAAM,UAAU,MAAM,CAAC,SAAS,OAAO,YAAY,EAAE;AAAA,MACtE,wBAAwB;AAAA,QACtB,MAAM;AAAA,MACR;AAAA,MACA,cAAc,EAAE,MAAM,6CAA6C;AAAA,MACnE,QAAQ,EAAE,MAAM,uCAAuC;AAAA,MACvD,SAAS,EAAE,MAAM,UAAU;AAAA,MAC3B,OAAO,EAAE,MAAM,UAAU,MAAM,CAAC,MAAM,KAAK,EAAE;AAAA,MAC7C,UAAU,EAAE,MAAM,yCAAyC;AAAA,MAC3D,OAAO,EAAE,MAAM,sCAAsC;AAAA,MACrD,MAAM,EAAE,MAAM,SAAS;AAAA,MACvB,aAAa,EAAE,MAAM,SAAS;AAAA,MAC9B,cAAc,EAAE,MAAM,SAAS;AAAA,MAC/B,iBAAiB,EAAE,MAAM,SAAS;AAAA,MAClC,YAAY,EAAE,MAAM,UAAU,QAAQ,YAAY;AAAA,IACpD;AAAA,EACF;AACF,CAAC;AAED,OAAO,eAAe,OAAO,WAAW,aAAa;AAAA,EACnD,KAAK,kCAAY;AACf,WAAO;AAAA,EACT,GAFK;AAGP,CAAC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{validatePayment}from"./chunk-
|
|
1
|
+
import{validatePayment}from"./chunk-H4CYVROE.js";import{Entity}from"./chunk-YPJMXYGL.js";import{__name}from"./chunk-XE4OXN2W.js";var Payment=class extends Entity{static{__name(this,"Payment")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.enabled&&(this.enabled=data.enabled),void 0!==data.storageData&&(this.storageData=data.storageData),this.maskedNumber=data.maskedNumber,void 0!==data.issued&&(this.issued=data.issued),this.expires=data.expires,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Payment.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"payment.json",title:"Payment",type:"object",required:["type","maskedNumber","expires"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},enabled:{type:"boolean",default:!0},storageData:{type:["string","null"]},maskedNumber:{type:"string"},issued:{type:["string","null"]},expires:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Payment.prototype,"validator",{get:__name((function(){return validatePayment}),"get")});export{Payment};//# sourceMappingURL=chunk-EIKLORN2.js.map
|