@api-client/core 0.18.24 → 0.18.26
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/build/src/modeling/DomainEntity.d.ts +6 -1
- package/build/src/modeling/DomainEntity.d.ts.map +1 -1
- package/build/src/modeling/DomainEntity.js +24 -5
- package/build/src/modeling/DomainEntity.js.map +1 -1
- package/build/src/modeling/Semantics.d.ts +254 -0
- package/build/src/modeling/Semantics.d.ts.map +1 -1
- package/build/src/modeling/Semantics.js +328 -0
- package/build/src/modeling/Semantics.js.map +1 -1
- package/build/src/modeling/definitions/Email.js +1 -1
- package/build/src/modeling/definitions/Email.js.map +1 -1
- package/build/src/modeling/definitions/Password.d.ts.map +1 -1
- package/build/src/modeling/definitions/Password.js +1 -3
- package/build/src/modeling/definitions/Password.js.map +1 -1
- package/build/src/modeling/helpers/Intelisense.d.ts +7 -7
- package/build/src/modeling/helpers/Intelisense.d.ts.map +1 -1
- package/build/src/modeling/helpers/Intelisense.js +24 -58
- package/build/src/modeling/helpers/Intelisense.js.map +1 -1
- package/build/src/modeling/templates/meta/blog-publishing-platform.json +1 -1
- package/build/src/modeling/templates/meta/financial-services-platform.json +1 -1
- package/build/src/modeling/templates/meta/index.d.ts +1 -1
- package/build/src/modeling/templates/meta/index.js +1 -1
- package/build/src/modeling/templates/meta/index.js.map +1 -1
- package/build/src/modeling/templates/meta/iot-smart-home-platform.json +1 -1
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts.map +1 -1
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js +248 -63
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js.map +1 -1
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.js +5 -5
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.js.map +1 -1
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts.map +1 -1
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js +2 -0
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js.map +1 -1
- package/build/src/modeling/validation/postgresql.d.ts.map +1 -1
- package/build/src/modeling/validation/postgresql.js +0 -1
- package/build/src/modeling/validation/postgresql.js.map +1 -1
- package/build/src/runtime/modeling/Semantics.d.ts +84 -0
- package/build/src/runtime/modeling/Semantics.d.ts.map +1 -0
- package/build/src/runtime/modeling/Semantics.js +124 -0
- package/build/src/runtime/modeling/Semantics.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/data/models/example-generator-api.json +8 -8
- package/package.json +1 -1
- package/src/modeling/DomainEntity.ts +27 -5
- package/src/modeling/Semantics.ts +493 -0
- package/src/modeling/definitions/Email.ts +1 -1
- package/src/modeling/definitions/Password.ts +1 -3
- package/src/modeling/helpers/Intelisense.ts +33 -65
- package/src/modeling/templates/meta/blog-publishing-platform.json +1 -1
- package/src/modeling/templates/meta/financial-services-platform.json +1 -1
- package/src/modeling/templates/meta/iot-smart-home-platform.json +1 -1
- package/src/modeling/templates/verticals/business-services/financial-services-domain.ts +285 -65
- package/src/modeling/templates/verticals/technology-media/blog-domain.ts +5 -5
- package/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.ts +2 -0
- package/src/modeling/validation/postgresql.ts +0 -1
- package/src/runtime/modeling/Semantics.ts +196 -0
- package/tests/unit/modeling/client_ip_address_semantic.spec.ts +71 -0
- package/tests/unit/modeling/definitions/password.spec.ts +0 -2
- package/tests/unit/modeling/domain_entity_parents.spec.ts +243 -0
- package/tests/unit/modeling/semantic_runtime.spec.ts +113 -0
- package/tests/unit/modeling/semantics.spec.ts +68 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"iot-smart-home-platform","name":"IoT Smart Home Platform","description":"A comprehensive IoT/Smart Home platform with device management, data collection, automation, user management, monitoring, and integration","createdAt":"2025-01-27T00:00:00.000Z","updatedAt":"2025-01-27T00:00:00.000Z","version":"1.0.0","author":"API Now! Core Team","tags":["iot","smart-home","automation","device-management","sensors"],"structure":{"domain":{"name":"IoT Smart Home Platform","description":"A comprehensive IoT/Smart Home platform with device management, data collection, automation, user management, monitoring, and integration","totalEntities":18,"totalProperties":162,"totalAssociations":14},"namespaces":[{"name":"DeviceManagement","displayName":"Device Management","description":"Devices, sensors, connectivity, and firmware","modelCount":1,"entityCount":3,"models":[{"name":"Devices","displayName":"Device Management","description":"IoT devices and sensors","entityCount":3,"entities":[{"name":"device","displayName":"Device","description":"IoT device with sensors and capabilities","propertyCount":14,"associationCount":0,"properties":[{"name":"id","displayName":"Device ID","description":"Unique identifier for the device","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Device name and model","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Device description and capabilities","type":"string","semantics":["Semantic#Description"]},{"name":"device_type","displayName":"Device Type","description":"Type of IoT device","type":"string","required":true,"semantics":[],"enumValues":["sensor","actuator","controller","gateway","camera","thermostat","light","lock","appliance","speaker"]},{"name":"manufacturer","displayName":"Manufacturer","description":"Device manufacturer","type":"string","required":true,"semantics":[]},{"name":"model","displayName":"Model","description":"Device model","type":"string","required":true,"semantics":[]},{"name":"serial_number","displayName":"Serial Number","description":"Device serial number","type":"string","required":true,"unique":true,"semantics":[]},{"name":"mac_address","displayName":"MAC Address","description":"Device MAC address","type":"string","required":true,"unique":true,"semantics":[]},{"name":"ip_address","displayName":"IP Address","description":"Device IP address","type":"string","required":false,"semantics":[]},{"name":"location","displayName":"Location","description":"Device location in home","type":"string","required":false,"semantics":[]},{"name":"firmware_version","displayName":"Firmware Version","description":"Current firmware version","type":"string","required":true,"semantics":[]},{"name":"status","displayName":"Device Status","description":"Current status of the device","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["online","offline","maintenance","error","updating"],"defaultValue":"online"},{"name":"created_at","displayName":"Created At","description":"When the device was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]},{"name":"updated_at","displayName":"Updated At","description":"When the device was last updated","type":"datetime","readOnly":true,"semantics":["Semantic#UpdatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"sensor","displayName":"Sensor","description":"IoT sensor with measurement capabilities","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Sensor ID","description":"Unique identifier for the sensor","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Sensor name and type","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Sensor description and capabilities","type":"string","semantics":["Semantic#Description"]},{"name":"sensor_type","displayName":"Sensor Type","description":"Type of sensor","type":"string","required":true,"semantics":[],"enumValues":["temperature","humidity","pressure","motion","light","sound","air_quality","water_level","smoke","carbon_monoxide"]},{"name":"measurement_unit","displayName":"Measurement Unit","description":"Unit of measurement","type":"string","required":true,"semantics":[]},{"name":"min_value","displayName":"Minimum Value","description":"Minimum measurement value","type":"number","required":false,"semantics":[]},{"name":"max_value","displayName":"Maximum Value","description":"Maximum measurement value","type":"number","required":false,"semantics":[]},{"name":"status","displayName":"Sensor Status","description":"Current status of the sensor","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","calibrating","error"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the sensor was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this sensor","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"firmware","displayName":"Firmware","description":"Device firmware versions and updates","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Firmware ID","description":"Unique identifier for the firmware","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Firmware name and version","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Firmware description and changes","type":"string","semantics":["Semantic#Description"]},{"name":"version","displayName":"Version","description":"Firmware version number","type":"string","required":true,"semantics":[]},{"name":"release_date","displayName":"Release Date","description":"Firmware release date","type":"date","required":true,"semantics":[]},{"name":"file_size","displayName":"File Size","description":"Firmware file size in bytes","type":"number","required":true,"semantics":[]},{"name":"compatibility","displayName":"Compatibility","description":"Compatible device models","type":"string","required":true,"semantics":[]},{"name":"status","displayName":"Firmware Status","description":"Current status of the firmware","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["available","installing","installed","failed"],"defaultValue":"available"},{"name":"created_at","displayName":"Created At","description":"When the firmware was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this firmware","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"DataCollection","displayName":"Data Collection","description":"Sensor data, telemetry, and analytics","modelCount":1,"entityCount":3,"models":[{"name":"Data","displayName":"Data Collection","description":"Sensor data and telemetry","entityCount":3,"entities":[{"name":"sensor_data","displayName":"Sensor Data","description":"Sensor measurement data","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Data ID","description":"Unique identifier for the sensor data","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Data name and description","type":"string","semantics":["Semantic#Title"]},{"name":"timestamp","displayName":"Timestamp","description":"Data timestamp","type":"datetime","required":true,"semantics":[]},{"name":"value","displayName":"Value","description":"Sensor measurement value","type":"number","required":true,"semantics":[]},{"name":"unit","displayName":"Unit","description":"Measurement unit","type":"string","required":true,"semantics":[]},{"name":"quality","displayName":"Quality","description":"Data quality indicator","type":"string","required":true,"semantics":[],"enumValues":["excellent","good","fair","poor"]},{"name":"status","displayName":"Data Status","description":"Current status of the sensor data","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["raw","processed","archived"],"defaultValue":"raw"},{"name":"created_at","displayName":"Created At","description":"When the data was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"sensor","displayName":"Sensor","description":"Sensor for this data","required":true,"multiple":false,"targetEntities":["sensor"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"telemetry","displayName":"Telemetry","description":"Device telemetry and system metrics","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Telemetry ID","description":"Unique identifier for the telemetry","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Telemetry name and description","type":"string","semantics":["Semantic#Title"]},{"name":"timestamp","displayName":"Timestamp","description":"Telemetry timestamp","type":"datetime","required":true,"semantics":[]},{"name":"metric_type","displayName":"Metric Type","description":"Type of telemetry metric","type":"string","required":true,"semantics":[],"enumValues":["cpu_usage","memory_usage","network_traffic","battery_level","signal_strength","temperature"]},{"name":"value","displayName":"Value","description":"Telemetry value","type":"number","required":true,"semantics":[]},{"name":"unit","displayName":"Unit","description":"Measurement unit","type":"string","required":true,"semantics":[]},{"name":"status","displayName":"Telemetry Status","description":"Current status of the telemetry","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["normal","warning","critical"],"defaultValue":"normal"},{"name":"created_at","displayName":"Created At","description":"When the telemetry was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this telemetry","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"analytics","displayName":"Analytics","description":"Data analytics and insights","propertyCount":9,"associationCount":0,"properties":[{"name":"id","displayName":"Analytics ID","description":"Unique identifier for the analytics","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Analytics name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Analytics description and insights","type":"string","semantics":["Semantic#Description"]},{"name":"analytics_type","displayName":"Analytics Type","description":"Type of analytics","type":"string","required":true,"semantics":[],"enumValues":["trend_analysis","pattern_recognition","anomaly_detection","predictive_modeling","usage_statistics"]},{"name":"time_period","displayName":"Time Period","description":"Analytics time period","type":"string","required":true,"semantics":[],"enumValues":["hourly","daily","weekly","monthly","yearly"]},{"name":"start_date","displayName":"Start Date","description":"Analytics start date","type":"date","required":true,"semantics":[]},{"name":"end_date","displayName":"End Date","description":"Analytics end date","type":"date","required":true,"semantics":[]},{"name":"status","displayName":"Analytics Status","description":"Current status of the analytics","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["processing","completed","failed"],"defaultValue":"processing"},{"name":"created_at","displayName":"Created At","description":"When the analytics was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[],"semantics":[]}]}]},{"name":"Automation","displayName":"Automation","description":"Rules, triggers, actions, and schedules","modelCount":1,"entityCount":4,"models":[{"name":"Automation","displayName":"Automation Management","description":"Automation rules and schedules","entityCount":4,"entities":[{"name":"rule","displayName":"Rule","description":"Automation rule with conditions and actions","propertyCount":9,"associationCount":0,"properties":[{"name":"id","displayName":"Rule ID","description":"Unique identifier for the rule","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Rule name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Rule description and logic","type":"string","semantics":["Semantic#Description"]},{"name":"rule_type","displayName":"Rule Type","description":"Type of automation rule","type":"string","required":true,"semantics":[],"enumValues":["if_then","schedule","location_based","time_based","condition_based"]},{"name":"condition","displayName":"Condition","description":"Rule condition logic","type":"string","required":true,"semantics":[]},{"name":"action","displayName":"Action","description":"Rule action to execute","type":"string","required":true,"semantics":[]},{"name":"priority","displayName":"Priority","description":"Rule priority level","type":"string","required":true,"semantics":[],"enumValues":["low","medium","high","critical"]},{"name":"status","displayName":"Rule Status","description":"Current status of the rule","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","testing","error"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the rule was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"trigger","displayName":"Trigger","description":"Automation trigger event","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Trigger ID","description":"Unique identifier for the trigger","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Trigger name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Trigger description and conditions","type":"string","semantics":["Semantic#Description"]},{"name":"trigger_type","displayName":"Trigger Type","description":"Type of trigger","type":"string","required":true,"semantics":[],"enumValues":["sensor_threshold","time_schedule","location_change","device_state","user_action"]},{"name":"condition","displayName":"Condition","description":"Trigger condition","type":"string","required":true,"semantics":[]},{"name":"frequency","displayName":"Frequency","description":"Trigger frequency","type":"string","required":false,"semantics":[],"enumValues":["once","recurring","continuous"]},{"name":"status","displayName":"Trigger Status","description":"Current status of the trigger","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","paused"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the trigger was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"rule","displayName":"Rule","description":"Rule for this trigger","required":true,"multiple":false,"targetEntities":["rule"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"action","displayName":"Action","description":"Automation action to execute","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Action ID","description":"Unique identifier for the action","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Action name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Action description and parameters","type":"string","semantics":["Semantic#Description"]},{"name":"action_type","displayName":"Action Type","description":"Type of action","type":"string","required":true,"semantics":[],"enumValues":["device_control","notification","data_logging","api_call","script_execution"]},{"name":"parameters","displayName":"Parameters","description":"Action parameters","type":"string","required":false,"semantics":[]},{"name":"delay","displayName":"Delay","description":"Action delay in seconds","type":"number","required":false,"semantics":[]},{"name":"status","displayName":"Action Status","description":"Current status of the action","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["pending","executing","completed","failed"],"defaultValue":"pending"},{"name":"created_at","displayName":"Created At","description":"When the action was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"rule","displayName":"Rule","description":"Rule for this action","required":true,"multiple":false,"targetEntities":["rule"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"schedule","displayName":"Schedule","description":"Automation schedule","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Schedule ID","description":"Unique identifier for the schedule","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Schedule name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Schedule description and timing","type":"string","semantics":["Semantic#Description"]},{"name":"schedule_type","displayName":"Schedule Type","description":"Type of schedule","type":"string","required":true,"semantics":[],"enumValues":["daily","weekly","monthly","custom","sunrise_sunset"]},{"name":"start_time","displayName":"Start Time","description":"Schedule start time","type":"time","required":true,"semantics":[]},{"name":"end_time","displayName":"End Time","description":"Schedule end time","type":"time","required":false,"semantics":[]},{"name":"days_of_week","displayName":"Days of Week","description":"Days of week for schedule","type":"string","required":false,"semantics":[]},{"name":"status","displayName":"Schedule Status","description":"Current status of the schedule","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","paused"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the schedule was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"rule","displayName":"Rule","description":"Rule for this schedule","required":true,"multiple":false,"targetEntities":["rule"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"UserManagement","displayName":"User Management","description":"Users, permissions, and device access","modelCount":1,"entityCount":3,"models":[{"name":"Users","displayName":"User Management","description":"User accounts and permissions","entityCount":3,"entities":[{"name":"user","displayName":"User","description":"System user with access permissions","propertyCount":11,"associationCount":0,"properties":[{"name":"id","displayName":"User ID","description":"Unique identifier for the user","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"User name and title","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"User description and notes","type":"string","semantics":["Semantic#Description"]},{"name":"email","displayName":"Email Address","description":"User email address","type":"string","required":true,"semantics":["Semantic#Email"]},{"name":"phone","displayName":"Phone Number","description":"User phone number","type":"string","semantics":["Semantic#Phone"]},{"name":"user_type","displayName":"User Type","description":"Type of user","type":"string","required":true,"semantics":[],"enumValues":["owner","admin","family_member","guest","service_account"]},{"name":"username","displayName":"Username","description":"User login username","type":"string","required":true,"unique":true,"semantics":[]},{"name":"last_login","displayName":"Last Login","description":"User last login date","type":"datetime","required":false,"semantics":[]},{"name":"status","displayName":"User Status","description":"Current status of the user","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","suspended","pending"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the user was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]},{"name":"updated_at","displayName":"Updated At","description":"When the user was last updated","type":"datetime","readOnly":true,"semantics":["Semantic#UpdatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"permission","displayName":"Permission","description":"User permissions and access rights","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Permission ID","description":"Unique identifier for the permission","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Permission name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Permission description and scope","type":"string","semantics":["Semantic#Description"]},{"name":"permission_type","displayName":"Permission Type","description":"Type of permission","type":"string","required":true,"semantics":[],"enumValues":["read","write","admin","control","view","configure"]},{"name":"resource","displayName":"Resource","description":"Resource for permission","type":"string","required":true,"semantics":[]},{"name":"scope","displayName":"Scope","description":"Permission scope","type":"string","required":true,"semantics":[],"enumValues":["all","specific","room","device","system"]},{"name":"status","displayName":"Permission Status","description":"Current status of the permission","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","temporary"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the permission was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"user","displayName":"User","description":"User for this permission","required":true,"multiple":false,"targetEntities":["user"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"device_access","displayName":"Device Access","description":"User access to specific devices","propertyCount":7,"associationCount":2,"properties":[{"name":"id","displayName":"Access ID","description":"Unique identifier for the device access","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Access name and description","type":"string","semantics":["Semantic#Title"]},{"name":"access_type","displayName":"Access Type","description":"Type of device access","type":"string","required":true,"semantics":[],"enumValues":["full_control","read_only","limited_control","monitor_only"]},{"name":"granted_date","displayName":"Granted Date","description":"Access granted date","type":"date","required":true,"semantics":[]},{"name":"expiry_date","displayName":"Expiry Date","description":"Access expiry date","type":"date","required":false,"semantics":[]},{"name":"status","displayName":"Access Status","description":"Current status of the device access","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","expired","revoked"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the access was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"user","displayName":"User","description":"User for this device access","required":true,"multiple":false,"targetEntities":["user"],"semantics":[],"cardinality":"One-to-One"},{"name":"device","displayName":"Device","description":"Device for this access","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"Monitoring","displayName":"Monitoring","description":"Alerts, notifications, and health status","modelCount":1,"entityCount":3,"models":[{"name":"Monitoring","displayName":"Monitoring Management","description":"System monitoring and alerting","entityCount":3,"entities":[{"name":"alert","displayName":"Alert","description":"System alert or notification","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Alert ID","description":"Unique identifier for the alert","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Alert name and title","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Alert description and details","type":"string","semantics":["Semantic#Description"]},{"name":"alert_type","displayName":"Alert Type","description":"Type of alert","type":"string","required":true,"semantics":[],"enumValues":["error","warning","info","critical","maintenance"]},{"name":"severity","displayName":"Severity","description":"Alert severity level","type":"string","required":true,"semantics":[],"enumValues":["low","medium","high","critical"]},{"name":"triggered_at","displayName":"Triggered At","description":"Alert trigger time","type":"datetime","required":true,"semantics":[]},{"name":"resolved_at","displayName":"Resolved At","description":"Alert resolution time","type":"datetime","required":false,"semantics":[]},{"name":"status","displayName":"Alert Status","description":"Current status of the alert","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","acknowledged","resolved","dismissed"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the alert was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this alert","required":false,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"notification","displayName":"Notification","description":"User notification message","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Notification ID","description":"Unique identifier for the notification","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Notification name and title","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Notification message content","type":"string","semantics":["Semantic#Description"]},{"name":"notification_type","displayName":"Notification Type","description":"Type of notification","type":"string","required":true,"semantics":[],"enumValues":["email","sms","push","in_app","webhook"]},{"name":"recipient","displayName":"Recipient","description":"Notification recipient","type":"string","required":true,"semantics":[]},{"name":"sent_at","displayName":"Sent At","description":"Notification sent time","type":"datetime","required":true,"semantics":[]},{"name":"read_at","displayName":"Read At","description":"Notification read time","type":"datetime","required":false,"semantics":[]},{"name":"status","displayName":"Notification Status","description":"Current status of the notification","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["pending","sent","delivered","read","failed"],"defaultValue":"pending"},{"name":"created_at","displayName":"Created At","description":"When the notification was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"user","displayName":"User","description":"User for this notification","required":true,"multiple":false,"targetEntities":["user"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"health_status","displayName":"Health Status","description":"System and device health status","propertyCount":7,"associationCount":1,"properties":[{"name":"id","displayName":"Health ID","description":"Unique identifier for the health status","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Health status name and description","type":"string","semantics":["Semantic#Title"]},{"name":"health_type","displayName":"Health Type","description":"Type of health status","type":"string","required":true,"semantics":[],"enumValues":["system","device","network","battery","connectivity"]},{"name":"check_time","displayName":"Check Time","description":"Health check time","type":"datetime","required":true,"semantics":[]},{"name":"score","displayName":"Score","description":"Health score (0-100)","type":"number","required":true,"semantics":[]},{"name":"status","displayName":"Health Status","description":"Current health status","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["excellent","good","fair","poor","critical"],"defaultValue":"excellent"},{"name":"created_at","displayName":"Created At","description":"When the health status was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this health status","required":false,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"Integration","displayName":"Integration","description":"Third-party services, APIs, and protocols","modelCount":1,"entityCount":2,"models":[{"name":"Integrations","displayName":"Integration Management","description":"Third-party integrations and APIs","entityCount":2,"entities":[{"name":"integration","displayName":"Integration","description":"Third-party service integration","propertyCount":10,"associationCount":0,"properties":[{"name":"id","displayName":"Integration ID","description":"Unique identifier for the integration","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Integration name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Integration description and capabilities","type":"string","semantics":["Semantic#Description"]},{"name":"integration_type","displayName":"Integration Type","description":"Type of integration","type":"string","required":true,"semantics":[],"enumValues":["api","webhook","protocol","service","platform"]},{"name":"provider","displayName":"Provider","description":"Integration provider","type":"string","required":true,"semantics":[]},{"name":"endpoint_url","displayName":"Endpoint URL","description":"Integration endpoint URL","type":"string","required":false,"semantics":[]},{"name":"api_key","displayName":"API Key","description":"Integration API key","type":"string","required":false,"semantics":[]},{"name":"protocol","displayName":"Protocol","description":"Integration protocol","type":"string","required":false,"semantics":[],"enumValues":["http","https","mqtt","coap","websocket","tcp"]},{"name":"status","displayName":"Integration Status","description":"Current status of the integration","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","testing","error"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the integration was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"api_call","displayName":"API Call","description":"API call to third-party service","propertyCount":10,"associationCount":1,"properties":[{"name":"id","displayName":"Call ID","description":"Unique identifier for the API call","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"API call name and description","type":"string","semantics":["Semantic#Title"]},{"name":"endpoint","displayName":"Endpoint","description":"API endpoint","type":"string","required":true,"semantics":[]},{"name":"method","displayName":"Method","description":"HTTP method","type":"string","required":true,"semantics":[],"enumValues":["GET","POST","PUT","DELETE","PATCH"]},{"name":"request_data","displayName":"Request Data","description":"API request data","type":"string","required":false,"semantics":[]},{"name":"response_data","displayName":"Response Data","description":"API response data","type":"string","required":false,"semantics":[]},{"name":"response_code","displayName":"Response Code","description":"HTTP response code","type":"number","required":false,"semantics":[]},{"name":"duration","displayName":"Duration","description":"API call duration in milliseconds","type":"number","required":false,"semantics":[]},{"name":"status","displayName":"Call Status","description":"Current status of the API call","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["pending","in_progress","completed","failed","timeout"],"defaultValue":"pending"},{"name":"created_at","displayName":"Created At","description":"When the API call was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"integration","displayName":"Integration","description":"Integration for this API call","required":true,"multiple":false,"targetEntities":["integration"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]}]}}
|
|
1
|
+
{"id":"iot-smart-home-platform","name":"IoT Smart Home Platform","description":"A comprehensive IoT/Smart Home platform with device management, data collection, automation, user management, monitoring, and integration","createdAt":"2025-01-27T00:00:00.000Z","updatedAt":"2025-01-27T00:00:00.000Z","version":"1.0.0","author":"API Now! Core Team","tags":["iot","smart-home","automation","device-management","sensors"],"structure":{"domain":{"name":"IoT Smart Home Platform","description":"A comprehensive IoT/Smart Home platform with device management, data collection, automation, user management, monitoring, and integration","totalEntities":18,"totalProperties":162,"totalAssociations":14},"namespaces":[{"name":"DeviceManagement","displayName":"Device Management","description":"Devices, sensors, connectivity, and firmware","modelCount":1,"entityCount":3,"models":[{"name":"Devices","displayName":"Device Management","description":"IoT devices and sensors","entityCount":3,"entities":[{"name":"device","displayName":"Device","description":"IoT device with sensors and capabilities","propertyCount":14,"associationCount":0,"properties":[{"name":"id","displayName":"Device ID","description":"Unique identifier for the device","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Device name and model","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Device description and capabilities","type":"string","semantics":["Semantic#Description"]},{"name":"device_type","displayName":"Device Type","description":"Type of IoT device","type":"string","required":true,"semantics":[],"enumValues":["sensor","actuator","controller","gateway","camera","thermostat","light","lock","appliance","speaker"]},{"name":"manufacturer","displayName":"Manufacturer","description":"Device manufacturer","type":"string","required":true,"semantics":[]},{"name":"model","displayName":"Model","description":"Device model","type":"string","required":true,"semantics":[]},{"name":"serial_number","displayName":"Serial Number","description":"Device serial number","type":"string","required":true,"unique":true,"semantics":[]},{"name":"mac_address","displayName":"MAC Address","description":"Device MAC address","type":"string","required":true,"unique":true,"semantics":[]},{"name":"ip_address","displayName":"IP Address","description":"Device IP address","type":"string","required":false,"semantics":["Semantic#ClientIPAddress"]},{"name":"location","displayName":"Location","description":"Device location in home","type":"string","required":false,"semantics":[]},{"name":"firmware_version","displayName":"Firmware Version","description":"Current firmware version","type":"string","required":true,"semantics":[]},{"name":"status","displayName":"Device Status","description":"Current status of the device","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["online","offline","maintenance","error","updating"],"defaultValue":"online"},{"name":"created_at","displayName":"Created At","description":"When the device was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]},{"name":"updated_at","displayName":"Updated At","description":"When the device was last updated","type":"datetime","readOnly":true,"semantics":["Semantic#UpdatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"sensor","displayName":"Sensor","description":"IoT sensor with measurement capabilities","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Sensor ID","description":"Unique identifier for the sensor","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Sensor name and type","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Sensor description and capabilities","type":"string","semantics":["Semantic#Description"]},{"name":"sensor_type","displayName":"Sensor Type","description":"Type of sensor","type":"string","required":true,"semantics":[],"enumValues":["temperature","humidity","pressure","motion","light","sound","air_quality","water_level","smoke","carbon_monoxide"]},{"name":"measurement_unit","displayName":"Measurement Unit","description":"Unit of measurement","type":"string","required":true,"semantics":[]},{"name":"min_value","displayName":"Minimum Value","description":"Minimum measurement value","type":"number","required":false,"semantics":[]},{"name":"max_value","displayName":"Maximum Value","description":"Maximum measurement value","type":"number","required":false,"semantics":[]},{"name":"status","displayName":"Sensor Status","description":"Current status of the sensor","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","calibrating","error"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the sensor was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this sensor","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"firmware","displayName":"Firmware","description":"Device firmware versions and updates","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Firmware ID","description":"Unique identifier for the firmware","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Firmware name and version","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Firmware description and changes","type":"string","semantics":["Semantic#Description"]},{"name":"version","displayName":"Version","description":"Firmware version number","type":"string","required":true,"semantics":[]},{"name":"release_date","displayName":"Release Date","description":"Firmware release date","type":"date","required":true,"semantics":[]},{"name":"file_size","displayName":"File Size","description":"Firmware file size in bytes","type":"number","required":true,"semantics":[]},{"name":"compatibility","displayName":"Compatibility","description":"Compatible device models","type":"string","required":true,"semantics":[]},{"name":"status","displayName":"Firmware Status","description":"Current status of the firmware","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["available","installing","installed","failed"],"defaultValue":"available"},{"name":"created_at","displayName":"Created At","description":"When the firmware was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this firmware","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"DataCollection","displayName":"Data Collection","description":"Sensor data, telemetry, and analytics","modelCount":1,"entityCount":3,"models":[{"name":"Data","displayName":"Data Collection","description":"Sensor data and telemetry","entityCount":3,"entities":[{"name":"sensor_data","displayName":"Sensor Data","description":"Sensor measurement data","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Data ID","description":"Unique identifier for the sensor data","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Data name and description","type":"string","semantics":["Semantic#Title"]},{"name":"timestamp","displayName":"Timestamp","description":"Data timestamp","type":"datetime","required":true,"semantics":[]},{"name":"value","displayName":"Value","description":"Sensor measurement value","type":"number","required":true,"semantics":[]},{"name":"unit","displayName":"Unit","description":"Measurement unit","type":"string","required":true,"semantics":[]},{"name":"quality","displayName":"Quality","description":"Data quality indicator","type":"string","required":true,"semantics":[],"enumValues":["excellent","good","fair","poor"]},{"name":"status","displayName":"Data Status","description":"Current status of the sensor data","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["raw","processed","archived"],"defaultValue":"raw"},{"name":"created_at","displayName":"Created At","description":"When the data was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"sensor","displayName":"Sensor","description":"Sensor for this data","required":true,"multiple":false,"targetEntities":["sensor"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"telemetry","displayName":"Telemetry","description":"Device telemetry and system metrics","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Telemetry ID","description":"Unique identifier for the telemetry","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Telemetry name and description","type":"string","semantics":["Semantic#Title"]},{"name":"timestamp","displayName":"Timestamp","description":"Telemetry timestamp","type":"datetime","required":true,"semantics":[]},{"name":"metric_type","displayName":"Metric Type","description":"Type of telemetry metric","type":"string","required":true,"semantics":[],"enumValues":["cpu_usage","memory_usage","network_traffic","battery_level","signal_strength","temperature"]},{"name":"value","displayName":"Value","description":"Telemetry value","type":"number","required":true,"semantics":[]},{"name":"unit","displayName":"Unit","description":"Measurement unit","type":"string","required":true,"semantics":[]},{"name":"status","displayName":"Telemetry Status","description":"Current status of the telemetry","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["normal","warning","critical"],"defaultValue":"normal"},{"name":"created_at","displayName":"Created At","description":"When the telemetry was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this telemetry","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"analytics","displayName":"Analytics","description":"Data analytics and insights","propertyCount":9,"associationCount":0,"properties":[{"name":"id","displayName":"Analytics ID","description":"Unique identifier for the analytics","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Analytics name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Analytics description and insights","type":"string","semantics":["Semantic#Description"]},{"name":"analytics_type","displayName":"Analytics Type","description":"Type of analytics","type":"string","required":true,"semantics":[],"enumValues":["trend_analysis","pattern_recognition","anomaly_detection","predictive_modeling","usage_statistics"]},{"name":"time_period","displayName":"Time Period","description":"Analytics time period","type":"string","required":true,"semantics":[],"enumValues":["hourly","daily","weekly","monthly","yearly"]},{"name":"start_date","displayName":"Start Date","description":"Analytics start date","type":"date","required":true,"semantics":[]},{"name":"end_date","displayName":"End Date","description":"Analytics end date","type":"date","required":true,"semantics":[]},{"name":"status","displayName":"Analytics Status","description":"Current status of the analytics","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["processing","completed","failed"],"defaultValue":"processing"},{"name":"created_at","displayName":"Created At","description":"When the analytics was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[],"semantics":[]}]}]},{"name":"Automation","displayName":"Automation","description":"Rules, triggers, actions, and schedules","modelCount":1,"entityCount":4,"models":[{"name":"Automation","displayName":"Automation Management","description":"Automation rules and schedules","entityCount":4,"entities":[{"name":"rule","displayName":"Rule","description":"Automation rule with conditions and actions","propertyCount":9,"associationCount":0,"properties":[{"name":"id","displayName":"Rule ID","description":"Unique identifier for the rule","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Rule name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Rule description and logic","type":"string","semantics":["Semantic#Description"]},{"name":"rule_type","displayName":"Rule Type","description":"Type of automation rule","type":"string","required":true,"semantics":[],"enumValues":["if_then","schedule","location_based","time_based","condition_based"]},{"name":"condition","displayName":"Condition","description":"Rule condition logic","type":"string","required":true,"semantics":[]},{"name":"action","displayName":"Action","description":"Rule action to execute","type":"string","required":true,"semantics":[]},{"name":"priority","displayName":"Priority","description":"Rule priority level","type":"string","required":true,"semantics":[],"enumValues":["low","medium","high","critical"]},{"name":"status","displayName":"Rule Status","description":"Current status of the rule","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","testing","error"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the rule was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"trigger","displayName":"Trigger","description":"Automation trigger event","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Trigger ID","description":"Unique identifier for the trigger","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Trigger name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Trigger description and conditions","type":"string","semantics":["Semantic#Description"]},{"name":"trigger_type","displayName":"Trigger Type","description":"Type of trigger","type":"string","required":true,"semantics":[],"enumValues":["sensor_threshold","time_schedule","location_change","device_state","user_action"]},{"name":"condition","displayName":"Condition","description":"Trigger condition","type":"string","required":true,"semantics":[]},{"name":"frequency","displayName":"Frequency","description":"Trigger frequency","type":"string","required":false,"semantics":[],"enumValues":["once","recurring","continuous"]},{"name":"status","displayName":"Trigger Status","description":"Current status of the trigger","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","paused"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the trigger was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"rule","displayName":"Rule","description":"Rule for this trigger","required":true,"multiple":false,"targetEntities":["rule"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"action","displayName":"Action","description":"Automation action to execute","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Action ID","description":"Unique identifier for the action","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Action name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Action description and parameters","type":"string","semantics":["Semantic#Description"]},{"name":"action_type","displayName":"Action Type","description":"Type of action","type":"string","required":true,"semantics":[],"enumValues":["device_control","notification","data_logging","api_call","script_execution"]},{"name":"parameters","displayName":"Parameters","description":"Action parameters","type":"string","required":false,"semantics":[]},{"name":"delay","displayName":"Delay","description":"Action delay in seconds","type":"number","required":false,"semantics":[]},{"name":"status","displayName":"Action Status","description":"Current status of the action","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["pending","executing","completed","failed"],"defaultValue":"pending"},{"name":"created_at","displayName":"Created At","description":"When the action was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"rule","displayName":"Rule","description":"Rule for this action","required":true,"multiple":false,"targetEntities":["rule"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"schedule","displayName":"Schedule","description":"Automation schedule","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Schedule ID","description":"Unique identifier for the schedule","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Schedule name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Schedule description and timing","type":"string","semantics":["Semantic#Description"]},{"name":"schedule_type","displayName":"Schedule Type","description":"Type of schedule","type":"string","required":true,"semantics":[],"enumValues":["daily","weekly","monthly","custom","sunrise_sunset"]},{"name":"start_time","displayName":"Start Time","description":"Schedule start time","type":"time","required":true,"semantics":[]},{"name":"end_time","displayName":"End Time","description":"Schedule end time","type":"time","required":false,"semantics":[]},{"name":"days_of_week","displayName":"Days of Week","description":"Days of week for schedule","type":"string","required":false,"semantics":[]},{"name":"status","displayName":"Schedule Status","description":"Current status of the schedule","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","paused"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the schedule was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"rule","displayName":"Rule","description":"Rule for this schedule","required":true,"multiple":false,"targetEntities":["rule"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"UserManagement","displayName":"User Management","description":"Users, permissions, and device access","modelCount":1,"entityCount":3,"models":[{"name":"Users","displayName":"User Management","description":"User accounts and permissions","entityCount":3,"entities":[{"name":"user","displayName":"User","description":"System user with access permissions","propertyCount":11,"associationCount":0,"properties":[{"name":"id","displayName":"User ID","description":"Unique identifier for the user","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"User name and title","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"User description and notes","type":"string","semantics":["Semantic#Description"]},{"name":"email","displayName":"Email Address","description":"User email address","type":"string","required":true,"semantics":["Semantic#Email"]},{"name":"phone","displayName":"Phone Number","description":"User phone number","type":"string","semantics":["Semantic#Phone"]},{"name":"user_type","displayName":"User Type","description":"Type of user","type":"string","required":true,"semantics":[],"enumValues":["owner","admin","family_member","guest","service_account"]},{"name":"username","displayName":"Username","description":"User login username","type":"string","required":true,"unique":true,"semantics":[]},{"name":"last_login","displayName":"Last Login","description":"User last login date","type":"datetime","required":false,"semantics":[]},{"name":"status","displayName":"User Status","description":"Current status of the user","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","suspended","pending"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the user was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]},{"name":"updated_at","displayName":"Updated At","description":"When the user was last updated","type":"datetime","readOnly":true,"semantics":["Semantic#UpdatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"permission","displayName":"Permission","description":"User permissions and access rights","propertyCount":8,"associationCount":1,"properties":[{"name":"id","displayName":"Permission ID","description":"Unique identifier for the permission","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Permission name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Permission description and scope","type":"string","semantics":["Semantic#Description"]},{"name":"permission_type","displayName":"Permission Type","description":"Type of permission","type":"string","required":true,"semantics":[],"enumValues":["read","write","admin","control","view","configure"]},{"name":"resource","displayName":"Resource","description":"Resource for permission","type":"string","required":true,"semantics":[]},{"name":"scope","displayName":"Scope","description":"Permission scope","type":"string","required":true,"semantics":[],"enumValues":["all","specific","room","device","system"]},{"name":"status","displayName":"Permission Status","description":"Current status of the permission","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","temporary"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the permission was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"user","displayName":"User","description":"User for this permission","required":true,"multiple":false,"targetEntities":["user"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"device_access","displayName":"Device Access","description":"User access to specific devices","propertyCount":7,"associationCount":2,"properties":[{"name":"id","displayName":"Access ID","description":"Unique identifier for the device access","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Access name and description","type":"string","semantics":["Semantic#Title"]},{"name":"access_type","displayName":"Access Type","description":"Type of device access","type":"string","required":true,"semantics":[],"enumValues":["full_control","read_only","limited_control","monitor_only"]},{"name":"granted_date","displayName":"Granted Date","description":"Access granted date","type":"date","required":true,"semantics":[]},{"name":"expiry_date","displayName":"Expiry Date","description":"Access expiry date","type":"date","required":false,"semantics":[]},{"name":"status","displayName":"Access Status","description":"Current status of the device access","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","expired","revoked"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the access was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"user","displayName":"User","description":"User for this device access","required":true,"multiple":false,"targetEntities":["user"],"semantics":[],"cardinality":"One-to-One"},{"name":"device","displayName":"Device","description":"Device for this access","required":true,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"Monitoring","displayName":"Monitoring","description":"Alerts, notifications, and health status","modelCount":1,"entityCount":3,"models":[{"name":"Monitoring","displayName":"Monitoring Management","description":"System monitoring and alerting","entityCount":3,"entities":[{"name":"alert","displayName":"Alert","description":"System alert or notification","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Alert ID","description":"Unique identifier for the alert","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Alert name and title","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Alert description and details","type":"string","semantics":["Semantic#Description"]},{"name":"alert_type","displayName":"Alert Type","description":"Type of alert","type":"string","required":true,"semantics":[],"enumValues":["error","warning","info","critical","maintenance"]},{"name":"severity","displayName":"Severity","description":"Alert severity level","type":"string","required":true,"semantics":[],"enumValues":["low","medium","high","critical"]},{"name":"triggered_at","displayName":"Triggered At","description":"Alert trigger time","type":"datetime","required":true,"semantics":[]},{"name":"resolved_at","displayName":"Resolved At","description":"Alert resolution time","type":"datetime","required":false,"semantics":[]},{"name":"status","displayName":"Alert Status","description":"Current status of the alert","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","acknowledged","resolved","dismissed"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the alert was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this alert","required":false,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"notification","displayName":"Notification","description":"User notification message","propertyCount":9,"associationCount":1,"properties":[{"name":"id","displayName":"Notification ID","description":"Unique identifier for the notification","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Notification name and title","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Notification message content","type":"string","semantics":["Semantic#Description"]},{"name":"notification_type","displayName":"Notification Type","description":"Type of notification","type":"string","required":true,"semantics":[],"enumValues":["email","sms","push","in_app","webhook"]},{"name":"recipient","displayName":"Recipient","description":"Notification recipient","type":"string","required":true,"semantics":[]},{"name":"sent_at","displayName":"Sent At","description":"Notification sent time","type":"datetime","required":true,"semantics":[]},{"name":"read_at","displayName":"Read At","description":"Notification read time","type":"datetime","required":false,"semantics":[]},{"name":"status","displayName":"Notification Status","description":"Current status of the notification","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["pending","sent","delivered","read","failed"],"defaultValue":"pending"},{"name":"created_at","displayName":"Created At","description":"When the notification was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"user","displayName":"User","description":"User for this notification","required":true,"multiple":false,"targetEntities":["user"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]},{"name":"health_status","displayName":"Health Status","description":"System and device health status","propertyCount":7,"associationCount":1,"properties":[{"name":"id","displayName":"Health ID","description":"Unique identifier for the health status","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Health status name and description","type":"string","semantics":["Semantic#Title"]},{"name":"health_type","displayName":"Health Type","description":"Type of health status","type":"string","required":true,"semantics":[],"enumValues":["system","device","network","battery","connectivity"]},{"name":"check_time","displayName":"Check Time","description":"Health check time","type":"datetime","required":true,"semantics":[]},{"name":"score","displayName":"Score","description":"Health score (0-100)","type":"number","required":true,"semantics":[]},{"name":"status","displayName":"Health Status","description":"Current health status","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["excellent","good","fair","poor","critical"],"defaultValue":"excellent"},{"name":"created_at","displayName":"Created At","description":"When the health status was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"device","displayName":"Device","description":"Device for this health status","required":false,"multiple":false,"targetEntities":["device"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]},{"name":"Integration","displayName":"Integration","description":"Third-party services, APIs, and protocols","modelCount":1,"entityCount":2,"models":[{"name":"Integrations","displayName":"Integration Management","description":"Third-party integrations and APIs","entityCount":2,"entities":[{"name":"integration","displayName":"Integration","description":"Third-party service integration","propertyCount":10,"associationCount":0,"properties":[{"name":"id","displayName":"Integration ID","description":"Unique identifier for the integration","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"Integration name and description","type":"string","semantics":["Semantic#Title"]},{"name":"description","displayName":"Description","description":"Integration description and capabilities","type":"string","semantics":["Semantic#Description"]},{"name":"integration_type","displayName":"Integration Type","description":"Type of integration","type":"string","required":true,"semantics":[],"enumValues":["api","webhook","protocol","service","platform"]},{"name":"provider","displayName":"Provider","description":"Integration provider","type":"string","required":true,"semantics":[]},{"name":"endpoint_url","displayName":"Endpoint URL","description":"Integration endpoint URL","type":"string","required":false,"semantics":[]},{"name":"api_key","displayName":"API Key","description":"Integration API key","type":"string","required":false,"semantics":[]},{"name":"protocol","displayName":"Protocol","description":"Integration protocol","type":"string","required":false,"semantics":[],"enumValues":["http","https","mqtt","coap","websocket","tcp"]},{"name":"status","displayName":"Integration Status","description":"Current status of the integration","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["active","inactive","testing","error"],"defaultValue":"active"},{"name":"created_at","displayName":"Created At","description":"When the integration was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[],"semantics":[]},{"name":"api_call","displayName":"API Call","description":"API call to third-party service","propertyCount":10,"associationCount":1,"properties":[{"name":"id","displayName":"Call ID","description":"Unique identifier for the API call","type":"string","primary":true,"readOnly":true,"semantics":[]},{"name":"name","displayName":"Name","description":"API call name and description","type":"string","semantics":["Semantic#Title"]},{"name":"endpoint","displayName":"Endpoint","description":"API endpoint","type":"string","required":true,"semantics":[]},{"name":"method","displayName":"Method","description":"HTTP method","type":"string","required":true,"semantics":[],"enumValues":["GET","POST","PUT","DELETE","PATCH"]},{"name":"request_data","displayName":"Request Data","description":"API request data","type":"string","required":false,"semantics":[]},{"name":"response_data","displayName":"Response Data","description":"API response data","type":"string","required":false,"semantics":[]},{"name":"response_code","displayName":"Response Code","description":"HTTP response code","type":"number","required":false,"semantics":[]},{"name":"duration","displayName":"Duration","description":"API call duration in milliseconds","type":"number","required":false,"semantics":[]},{"name":"status","displayName":"Call Status","description":"Current status of the API call","type":"string","required":true,"semantics":["Semantic#Status"],"enumValues":["pending","in_progress","completed","failed","timeout"],"defaultValue":"pending"},{"name":"created_at","displayName":"Created At","description":"When the API call was created","type":"datetime","readOnly":true,"semantics":["Semantic#CreatedTimestamp"]}],"associations":[{"name":"integration","displayName":"Integration","description":"Integration for this API call","required":true,"multiple":false,"targetEntities":["integration"],"semantics":[],"cardinality":"One-to-One"}],"semantics":[]}]}]}]}}
|