@api-client/core 0.18.56 → 0.18.57
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/helpers/Intelisense.d.ts +1 -0
- package/build/src/modeling/helpers/Intelisense.d.ts.map +1 -1
- package/build/src/modeling/helpers/Intelisense.js +23 -0
- package/build/src/modeling/helpers/Intelisense.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/data/models/example-generator-api.json +6 -6
- package/package.json +2 -7
- package/src/modeling/helpers/Intelisense.ts +23 -0
- package/tests/unit/modeling/helpers/intellisense.spec.ts +46 -0
- package/build/src/modeling/templates/index.d.ts +0 -21
- package/build/src/modeling/templates/index.d.ts.map +0 -1
- package/build/src/modeling/templates/index.js +0 -176
- package/build/src/modeling/templates/index.js.map +0 -1
- package/build/src/modeling/templates/meta/blog-publishing-platform.json +0 -1
- package/build/src/modeling/templates/meta/ecommerce-platform.json +0 -1
- package/build/src/modeling/templates/meta/education-management-platform.json +0 -1
- package/build/src/modeling/templates/meta/financial-services-platform.json +0 -1
- package/build/src/modeling/templates/meta/gaming-platform.json +0 -1
- package/build/src/modeling/templates/meta/healthcare-management-platform.json +0 -1
- package/build/src/modeling/templates/meta/hospitality-platform.json +0 -1
- package/build/src/modeling/templates/meta/index.d.ts +0 -64
- package/build/src/modeling/templates/meta/index.d.ts.map +0 -1
- package/build/src/modeling/templates/meta/index.js +0 -150
- package/build/src/modeling/templates/meta/index.js.map +0 -1
- package/build/src/modeling/templates/meta/iot-smart-home-platform.json +0 -1
- package/build/src/modeling/templates/meta/legal-services-platform.json +0 -1
- package/build/src/modeling/templates/meta/manufacturing-platform.json +0 -1
- package/build/src/modeling/templates/meta/non-profit-platform.json +0 -1
- package/build/src/modeling/templates/meta/real-estate-management-platform.json +0 -1
- package/build/src/modeling/templates/template-registry.d.ts +0 -55
- package/build/src/modeling/templates/template-registry.d.ts.map +0 -1
- package/build/src/modeling/templates/template-registry.js +0 -111
- package/build/src/modeling/templates/template-registry.js.map +0 -1
- package/build/src/modeling/templates/types.d.ts +0 -167
- package/build/src/modeling/templates/types.d.ts.map +0 -1
- package/build/src/modeling/templates/types.js +0 -2
- package/build/src/modeling/templates/types.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.d.ts +0 -39
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.js +0 -672
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js +0 -942
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts +0 -45
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js +0 -797
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/index.d.ts +0 -21
- package/build/src/modeling/templates/verticals/business-services/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/index.js +0 -50
- package/build/src/modeling/templates/verticals/business-services/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts +0 -46
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js +0 -837
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/education-domain.js +0 -725
- package/build/src/modeling/templates/verticals/education-training/education-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/education-training/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/index.js +0 -21
- package/build/src/modeling/templates/verticals/education-training/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js +0 -859
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js +0 -21
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/index.d.ts +0 -79
- package/build/src/modeling/templates/verticals/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/index.js +0 -186
- package/build/src/modeling/templates/verticals/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js +0 -22
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts +0 -45
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js +0 -710
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/public-sector/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/index.js +0 -22
- package/build/src/modeling/templates/verticals/public-sector/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts +0 -47
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js +0 -864
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/index.js +0 -21
- package/build/src/modeling/templates/verticals/real-estate-construction/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js +0 -727
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.js +0 -629
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts +0 -46
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js +0 -1033
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/index.d.ts +0 -21
- package/build/src/modeling/templates/verticals/technology-media/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/index.js +0 -42
- package/build/src/modeling/templates/verticals/technology-media/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts +0 -47
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js +0 -1029
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js.map +0 -1
- package/src/modeling/templates/meta/blog-publishing-platform.json +0 -1
- package/src/modeling/templates/meta/ecommerce-platform.json +0 -1
- package/src/modeling/templates/meta/education-management-platform.json +0 -1
- package/src/modeling/templates/meta/financial-services-platform.json +0 -1
- package/src/modeling/templates/meta/gaming-platform.json +0 -1
- package/src/modeling/templates/meta/healthcare-management-platform.json +0 -1
- package/src/modeling/templates/meta/hospitality-platform.json +0 -1
- package/src/modeling/templates/meta/iot-smart-home-platform.json +0 -1
- package/src/modeling/templates/meta/legal-services-platform.json +0 -1
- package/src/modeling/templates/meta/manufacturing-platform.json +0 -1
- package/src/modeling/templates/meta/non-profit-platform.json +0 -1
- package/src/modeling/templates/meta/real-estate-management-platform.json +0 -1
- package/src/modeling/templates/readme.md +0 -260
- package/src/modeling/templates/template-registry.ts +0 -140
- package/src/modeling/templates/types.ts +0 -175
- package/src/modeling/templates/verticals/README.md +0 -122
- package/src/modeling/templates/verticals/business-services/ecommerce-domain.ts +0 -844
- package/src/modeling/templates/verticals/business-services/financial-services-domain.ts +0 -1177
- package/src/modeling/templates/verticals/business-services/hospitality-domain.ts +0 -994
- package/src/modeling/templates/verticals/business-services/legal-services-domain.ts +0 -1059
- package/src/modeling/templates/verticals/education-training/education-domain.ts +0 -922
- package/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.ts +0 -1111
- package/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.ts +0 -895
- package/src/modeling/templates/verticals/public-sector/non-profit-domain.ts +0 -1109
- package/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.ts +0 -944
- package/src/modeling/templates/verticals/technology-media/blog-domain.ts +0 -796
- package/src/modeling/templates/verticals/technology-media/gaming-domain.ts +0 -1290
- package/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.ts +0 -1289
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{ "id": "hospitality-platform", "name": "Hospitality Platform", "description": "A comprehensive hospitality platform with guest management, reservations, property management, services, revenue optimization, and operations", "createdAt": "2025-01-27T00:00:00.000Z", "updatedAt": "2025-01-27T00:00:00.000Z", "version": "1.0.0", "author": "API Now! Core Team", "tags": ["hospitality", "hotel", "guest-management", "reservations", "revenue-management"], "structure": { "domain": { "name": "Hospitality Platform", "description": "A comprehensive hospitality platform with guest management, reservations, property management, services, revenue optimization, and operations", "totalEntities": 15, "totalProperties": 122, "totalAssociations": 9 }, "namespaces": [{ "name": "GuestManagement", "displayName": "Guest Management", "description": "Guest profiles, preferences, and loyalty programs", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Guests", "displayName": "Guest Management", "description": "Guest profiles and information", "entityCount": 3, "entities": [{ "name": "guest", "displayName": "Guest", "description": "Hotel guest with profile and preferences", "propertyCount": 12, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Guest ID", "description": "Unique identifier for the guest", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Guest name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Guest description and notes", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "email", "displayName": "Email Address", "description": "Guest email address", "type": "string", "required": true, "semantics": ["Semantic#Email"] }, { "name": "phone", "displayName": "Phone Number", "description": "Guest phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "date_of_birth", "displayName": "Date of Birth", "description": "Guest date of birth", "type": "date", "required": false, "semantics": [] }, { "name": "nationality", "displayName": "Nationality", "description": "Guest nationality", "type": "string", "required": false, "semantics": [] }, { "name": "address", "displayName": "Address", "description": "Guest address", "type": "string", "required": false, "semantics": [] }, { "name": "guest_type", "displayName": "Guest Type", "description": "Type of guest", "type": "string", "required": true, "semantics": [], "enumValues": ["individual", "business", "group", "vip"] }, { "name": "status", "displayName": "Guest Status", "description": "Current status of the guest", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "blacklisted"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the guest record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the guest record was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "guest_preference", "displayName": "Guest Preference", "description": "Guest preferences and special requirements", "propertyCount": 6, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Preference ID", "description": "Unique identifier for the guest preference", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Preference name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "preference_type", "displayName": "Preference Type", "description": "Type of preference", "type": "string", "required": true, "semantics": [], "enumValues": ["room", "amenity", "service", "dietary", "accessibility"] }, { "name": "value", "displayName": "Value", "description": "Preference value or setting", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Preference Status", "description": "Current status of the preference", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the preference was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "guest", "displayName": "Guest", "description": "Guest for this preference", "required": true, "multiple": false, "targetEntities": ["guest"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "loyalty_program", "displayName": "Loyalty Program", "description": "Guest loyalty program and membership", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Loyalty ID", "description": "Unique identifier for the loyalty program", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Loyalty program name", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "membership_number", "displayName": "Membership Number", "description": "Loyalty membership number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "tier_level", "displayName": "Tier Level", "description": "Loyalty tier level", "type": "string", "required": true, "semantics": [], "enumValues": ["bronze", "silver", "gold", "platinum", "diamond"] }, { "name": "points_balance", "displayName": "Points Balance", "description": "Current points balance", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Loyalty Status", "description": "Current status of the loyalty membership", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the loyalty membership was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "guest", "displayName": "Guest", "description": "Guest for this loyalty program", "required": true, "multiple": false, "targetEntities": ["guest"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "ReservationSystem", "displayName": "Reservation System", "description": "Bookings, availability, and pricing management", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Reservations", "displayName": "Reservation Management", "description": "Reservation and booking management", "entityCount": 2, "entities": [{ "name": "reservation", "displayName": "Reservation", "description": "Guest reservation and booking", "propertyCount": 10, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Reservation ID", "description": "Unique identifier for the reservation", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Reservation name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "check_in_date", "displayName": "Check-in Date", "description": "Guest check-in date", "type": "date", "required": true, "semantics": [] }, { "name": "check_out_date", "displayName": "Check-out Date", "description": "Guest check-out date", "type": "date", "required": true, "semantics": [] }, { "name": "adults", "displayName": "Adults", "description": "Number of adult guests", "type": "number", "required": true, "semantics": [] }, { "name": "children", "displayName": "Children", "description": "Number of children", "type": "number", "required": true, "semantics": [] }, { "name": "reservation_type", "displayName": "Reservation Type", "description": "Type of reservation", "type": "string", "required": true, "semantics": [], "enumValues": ["direct", "ota", "corporate", "group", "package"] }, { "name": "total_amount", "displayName": "Total Amount", "description": "Total reservation amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Reservation Status", "description": "Current status of the reservation", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["confirmed", "pending", "cancelled", "checked_in", "checked_out"], "defaultValue": "confirmed" }, { "name": "created_at", "displayName": "Created At", "description": "When the reservation was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "guest", "displayName": "Guest", "description": "Guest for this reservation", "required": true, "multiple": false, "targetEntities": ["guest"], "semantics": [], "cardinality": "One-to-One" }, { "name": "room", "displayName": "Room", "description": "Room for this reservation", "required": true, "multiple": false, "targetEntities": ["room"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "room_rate", "displayName": "Room Rate", "description": "Room pricing and rate management", "propertyCount": 8, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Rate ID", "description": "Unique identifier for the room rate", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Rate name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "rate_type", "displayName": "Rate Type", "description": "Type of room rate", "type": "string", "required": true, "semantics": [], "enumValues": ["rack", "corporate", "package", "promotional", "seasonal"] }, { "name": "start_date", "displayName": "Start Date", "description": "Rate start date", "type": "date", "required": true, "semantics": [] }, { "name": "end_date", "displayName": "End Date", "description": "Rate end date", "type": "date", "required": true, "semantics": [] }, { "name": "base_rate", "displayName": "Base Rate", "description": "Base room rate", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Rate Status", "description": "Current status of the room rate", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "expired"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the room rate was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }] }, { "name": "PropertyManagement", "displayName": "Property Management", "description": "Rooms, amenities, and housekeeping management", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Property", "displayName": "Property Management", "description": "Property and room management", "entityCount": 3, "entities": [{ "name": "room", "displayName": "Room", "description": "Hotel room with amenities and status", "propertyCount": 9, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Room ID", "description": "Unique identifier for the room", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Room name and number", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Room description and features", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "room_type", "displayName": "Room Type", "description": "Type of room", "type": "string", "required": true, "semantics": [], "enumValues": ["standard", "deluxe", "suite", "presidential", "accessible"] }, { "name": "floor", "displayName": "Floor", "description": "Room floor number", "type": "number", "required": true, "semantics": [] }, { "name": "capacity", "displayName": "Capacity", "description": "Room guest capacity", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Room Status", "description": "Current status of the room", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["available", "occupied", "maintenance", "out_of_order"], "defaultValue": "available" }, { "name": "created_at", "displayName": "Created At", "description": "When the room was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the room was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "amenity", "displayName": "Amenity", "description": "Hotel amenities and services", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Amenity ID", "description": "Unique identifier for the amenity", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Amenity name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Amenity description and features", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "amenity_type", "displayName": "Amenity Type", "description": "Type of amenity", "type": "string", "required": true, "semantics": [], "enumValues": ["room", "hotel", "recreation", "business", "wellness"] }, { "name": "location", "displayName": "Location", "description": "Amenity location", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Amenity Status", "description": "Current status of the amenity", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["available", "maintenance", "closed"], "defaultValue": "available" }, { "name": "created_at", "displayName": "Created At", "description": "When the amenity was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "housekeeping_task", "displayName": "Housekeeping Task", "description": "Housekeeping tasks and room cleaning", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Task ID", "description": "Unique identifier for the housekeeping task", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Task name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "task_type", "displayName": "Task Type", "description": "Type of housekeeping task", "type": "string", "required": true, "semantics": [], "enumValues": ["daily_cleaning", "turnover", "deep_cleaning", "maintenance", "inspection"] }, { "name": "assigned_to", "displayName": "Assigned To", "description": "Staff member assigned to task", "type": "string", "required": true, "semantics": [] }, { "name": "scheduled_time", "displayName": "Scheduled Time", "description": "Scheduled task time", "type": "datetime", "required": true, "semantics": [] }, { "name": "status", "displayName": "Task Status", "description": "Current status of the housekeeping task", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "in_progress", "completed", "cancelled"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the task was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "room", "displayName": "Room", "description": "Room for this housekeeping task", "required": true, "multiple": false, "targetEntities": ["room"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "ServiceManagement", "displayName": "Service Management", "description": "Concierge, room service, and activities management", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Services", "displayName": "Service Management", "description": "Guest services and activities", "entityCount": 2, "entities": [{ "name": "service_request", "displayName": "Service Request", "description": "Guest service requests and orders", "propertyCount": 7, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Request ID", "description": "Unique identifier for the service request", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Service request description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "service_type", "displayName": "Service Type", "description": "Type of service requested", "type": "string", "required": true, "semantics": [], "enumValues": ["concierge", "room_service", "housekeeping", "maintenance", "transportation"] }, { "name": "priority", "displayName": "Priority", "description": "Request priority level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "urgent"] }, { "name": "requested_time", "displayName": "Requested Time", "description": "Time service was requested", "type": "datetime", "required": true, "semantics": [] }, { "name": "status", "displayName": "Request Status", "description": "Current status of the service request", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "in_progress", "completed", "cancelled"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the service request was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "guest", "displayName": "Guest", "description": "Guest for this service request", "required": true, "multiple": false, "targetEntities": ["guest"], "semantics": [], "cardinality": "One-to-One" }, { "name": "room", "displayName": "Room", "description": "Room for this service request", "required": true, "multiple": false, "targetEntities": ["room"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "activity", "displayName": "Activity", "description": "Hotel activities and events", "propertyCount": 9, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Activity ID", "description": "Unique identifier for the activity", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Activity name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Activity description and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "activity_type", "displayName": "Activity Type", "description": "Type of activity", "type": "string", "required": true, "semantics": [], "enumValues": ["recreation", "entertainment", "wellness", "business", "cultural"] }, { "name": "start_time", "displayName": "Start Time", "description": "Activity start time", "type": "datetime", "required": true, "semantics": [] }, { "name": "end_time", "displayName": "End Time", "description": "Activity end time", "type": "datetime", "required": true, "semantics": [] }, { "name": "capacity", "displayName": "Capacity", "description": "Activity capacity", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Activity Status", "description": "Current status of the activity", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["scheduled", "in_progress", "completed", "cancelled"], "defaultValue": "scheduled" }, { "name": "created_at", "displayName": "Created At", "description": "When the activity was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }] }, { "name": "RevenueManagement", "displayName": "Revenue Management", "description": "Pricing, promotions, and revenue optimization", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Revenue", "displayName": "Revenue Management", "description": "Revenue optimization and pricing", "entityCount": 2, "entities": [{ "name": "promotion", "displayName": "Promotion", "description": "Hotel promotions and special offers", "propertyCount": 9, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Promotion ID", "description": "Unique identifier for the promotion", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Promotion name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Promotion details and terms", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "promotion_type", "displayName": "Promotion Type", "description": "Type of promotion", "type": "string", "required": true, "semantics": [], "enumValues": ["discount", "package", "loyalty", "seasonal", "corporate"] }, { "name": "start_date", "displayName": "Start Date", "description": "Promotion start date", "type": "date", "required": true, "semantics": [] }, { "name": "end_date", "displayName": "End Date", "description": "Promotion end date", "type": "date", "required": true, "semantics": [] }, { "name": "discount_percentage", "displayName": "Discount Percentage", "description": "Discount percentage", "type": "number", "required": false, "semantics": [] }, { "name": "status", "displayName": "Promotion Status", "description": "Current status of the promotion", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "expired"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the promotion was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "revenue_report", "displayName": "Revenue Report", "description": "Revenue reports and analytics", "propertyCount": 9, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Report ID", "description": "Unique identifier for the revenue report", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Report name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "report_type", "displayName": "Report Type", "description": "Type of revenue report", "type": "string", "required": true, "semantics": [], "enumValues": ["daily", "weekly", "monthly", "quarterly", "annual"] }, { "name": "report_date", "displayName": "Report Date", "description": "Report date", "type": "date", "required": true, "semantics": [] }, { "name": "total_revenue", "displayName": "Total Revenue", "description": "Total revenue for the period", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "average_daily_rate", "displayName": "Average Daily Rate", "description": "Average daily room rate", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "occupancy_rate", "displayName": "Occupancy Rate", "description": "Room occupancy rate percentage", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Report Status", "description": "Current status of the revenue report", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["draft", "final", "archived"], "defaultValue": "draft" }, { "name": "created_at", "displayName": "Created At", "description": "When the revenue report was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }] }, { "name": "Operations", "displayName": "Operations", "description": "Staff scheduling, maintenance, and security", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Operations", "displayName": "Operations Management", "description": "Hotel operations and staff management", "entityCount": 3, "entities": [{ "name": "staff", "displayName": "Staff", "description": "Hotel staff and employees", "propertyCount": 10, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Staff ID", "description": "Unique identifier for the staff member", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Staff name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "email", "displayName": "Email Address", "description": "Staff email address", "type": "string", "required": true, "semantics": ["Semantic#Email"] }, { "name": "phone", "displayName": "Phone Number", "description": "Staff phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "department", "displayName": "Department", "description": "Staff department", "type": "string", "required": true, "semantics": [], "enumValues": ["front_office", "housekeeping", "food_beverage", "maintenance", "security", "management"] }, { "name": "position", "displayName": "Position", "description": "Staff position", "type": "string", "required": true, "semantics": [] }, { "name": "hire_date", "displayName": "Hire Date", "description": "Staff hire date", "type": "date", "required": true, "semantics": [] }, { "name": "status", "displayName": "Staff Status", "description": "Current status of the staff member", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "on_leave", "terminated"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the staff record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the staff record was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "staff_schedule", "displayName": "Staff Schedule", "description": "Staff scheduling and shift management", "propertyCount": 6, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Schedule ID", "description": "Unique identifier for the staff schedule", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "shift_type", "displayName": "Shift Type", "description": "Type of work shift", "type": "string", "required": true, "semantics": [], "enumValues": ["morning", "afternoon", "night", "split", "overtime"] }, { "name": "start_time", "displayName": "Start Time", "description": "Shift start time", "type": "datetime", "required": true, "semantics": [] }, { "name": "end_time", "displayName": "End Time", "description": "Shift end time", "type": "datetime", "required": true, "semantics": [] }, { "name": "status", "displayName": "Schedule Status", "description": "Current status of the staff schedule", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["scheduled", "in_progress", "completed", "cancelled"], "defaultValue": "scheduled" }, { "name": "created_at", "displayName": "Created At", "description": "When the schedule was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "staff", "displayName": "Staff", "description": "Staff member for this schedule", "required": true, "multiple": false, "targetEntities": ["staff"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "maintenance_request", "displayName": "Maintenance Request", "description": "Property maintenance requests", "propertyCount": 6, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Maintenance ID", "description": "Unique identifier for the maintenance request", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Maintenance request description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "maintenance_type", "displayName": "Maintenance Type", "description": "Type of maintenance", "type": "string", "required": true, "semantics": [], "enumValues": ["preventive", "corrective", "emergency", "inspection"] }, { "name": "priority", "displayName": "Priority", "description": "Maintenance priority level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "critical"] }, { "name": "status", "displayName": "Maintenance Status", "description": "Current status of the maintenance request", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "in_progress", "completed", "cancelled"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the maintenance request was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "room", "displayName": "Room", "description": "Room for this maintenance request", "required": false, "multiple": false, "targetEntities": ["room"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }] } }
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-generated template registry index
|
|
3
|
-
* Generated on: 2025-08-09T20:52:36.596Z
|
|
4
|
-
*
|
|
5
|
-
* This file is auto-generated by scripts/generate-template-metadata.js
|
|
6
|
-
* Do not edit manually - your changes will be overwritten.
|
|
7
|
-
*/
|
|
8
|
-
import type { CreateTemplateOptions, DomainTemplate } from '../types.js';
|
|
9
|
-
import { DataDomain } from '../../DataDomain.js';
|
|
10
|
-
/**
|
|
11
|
-
* Registry of all available template metadata
|
|
12
|
-
*/
|
|
13
|
-
export declare const TEMPLATE_METADATA_REGISTRY: Record<string, DomainTemplate>;
|
|
14
|
-
/**
|
|
15
|
-
* Array of all template IDs for iteration
|
|
16
|
-
*/
|
|
17
|
-
export declare const TEMPLATE_IDS: readonly ["ecommerce-platform", "blog-publishing-platform", "healthcare-management-platform", "financial-services-platform", "education-management-platform", "real-estate-management-platform", "manufacturing-platform", "hospitality-platform", "legal-services-platform", "non-profit-platform", "iot-smart-home-platform", "gaming-platform"];
|
|
18
|
-
/**
|
|
19
|
-
* Template categories for filtering
|
|
20
|
-
*/
|
|
21
|
-
export declare const TEMPLATE_CATEGORIES: {
|
|
22
|
-
readonly business: readonly ["e-commerce", "retail", "business", "inventory", "orders", "crm", "finance"];
|
|
23
|
-
readonly content: readonly ["blog", "cms", "publishing", "content", "media", "editorial"];
|
|
24
|
-
readonly social: readonly ["social", "community", "networking", "communication"];
|
|
25
|
-
readonly technical: readonly ["api", "service", "microservice", "system", "integration"];
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Get all templates
|
|
29
|
-
*/
|
|
30
|
-
export declare function getAllTemplates(): DomainTemplate[];
|
|
31
|
-
/**
|
|
32
|
-
* Get template by ID
|
|
33
|
-
*/
|
|
34
|
-
export declare function getTemplate(id: string): DomainTemplate | undefined;
|
|
35
|
-
/**
|
|
36
|
-
* Get templates by tag
|
|
37
|
-
*/
|
|
38
|
-
export declare function getTemplatesByTag(tag: string): DomainTemplate[];
|
|
39
|
-
/**
|
|
40
|
-
* Get templates by category
|
|
41
|
-
*/
|
|
42
|
-
export declare function getTemplatesByCategory(category: keyof typeof TEMPLATE_CATEGORIES): DomainTemplate[];
|
|
43
|
-
/**
|
|
44
|
-
* Search templates
|
|
45
|
-
*/
|
|
46
|
-
export declare function searchTemplates(query: string): DomainTemplate[];
|
|
47
|
-
/**
|
|
48
|
-
* Get template statistics
|
|
49
|
-
*/
|
|
50
|
-
export declare function getTemplateStats(): {
|
|
51
|
-
totalTemplates: number;
|
|
52
|
-
totalEntities: number;
|
|
53
|
-
totalProperties: number;
|
|
54
|
-
totalAssociations: number;
|
|
55
|
-
categoryCounts: Record<string, number>;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Creates a domain by its ID
|
|
59
|
-
* @param id The ID of the template
|
|
60
|
-
* @param options Options for creating the template
|
|
61
|
-
* @returns The created data domain
|
|
62
|
-
*/
|
|
63
|
-
export declare function createDomainById(id: string, options?: CreateTemplateOptions): DataDomain;
|
|
64
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modeling/templates/meta/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAkBhD;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAa5D,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,YAAY,oVAaf,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAA;AAEV;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAElE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,OAAO,mBAAmB,GAAG,cAAc,EAAE,CAKnG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAQ/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB;;;;;;EAqB/B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,UAAU,CAsBxF"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-generated template registry index
|
|
3
|
-
* Generated on: 2025-08-09T20:52:36.596Z
|
|
4
|
-
*
|
|
5
|
-
* This file is auto-generated by scripts/generate-template-metadata.js
|
|
6
|
-
* Do not edit manually - your changes will be overwritten.
|
|
7
|
-
*/
|
|
8
|
-
import * as domains from '../verticals/index.js';
|
|
9
|
-
// Template metadata imports
|
|
10
|
-
import ecommercePlatformMetadata from './ecommerce-platform.json' with { type: 'json' };
|
|
11
|
-
import blogPublishingPlatformMetadata from './blog-publishing-platform.json' with { type: 'json' };
|
|
12
|
-
import healthcareManagementPlatformMetadata from './healthcare-management-platform.json' with { type: 'json' };
|
|
13
|
-
import financialServicesPlatformMetadata from './financial-services-platform.json' with { type: 'json' };
|
|
14
|
-
import educationManagementPlatformMetadata from './education-management-platform.json' with { type: 'json' };
|
|
15
|
-
import realEstateManagementPlatformMetadata from './real-estate-management-platform.json' with { type: 'json' };
|
|
16
|
-
import manufacturingPlatformMetadata from './manufacturing-platform.json' with { type: 'json' };
|
|
17
|
-
import hospitalityPlatformMetadata from './hospitality-platform.json' with { type: 'json' };
|
|
18
|
-
import legalServicesPlatformMetadata from './legal-services-platform.json' with { type: 'json' };
|
|
19
|
-
import nonProfitPlatformMetadata from './non-profit-platform.json' with { type: 'json' };
|
|
20
|
-
import iotSmartHomePlatformMetadata from './iot-smart-home-platform.json' with { type: 'json' };
|
|
21
|
-
import gamingPlatformMetadata from './gaming-platform.json' with { type: 'json' };
|
|
22
|
-
/**
|
|
23
|
-
* Registry of all available template metadata
|
|
24
|
-
*/
|
|
25
|
-
export const TEMPLATE_METADATA_REGISTRY = {
|
|
26
|
-
'ecommerce-platform': ecommercePlatformMetadata,
|
|
27
|
-
'blog-publishing-platform': blogPublishingPlatformMetadata,
|
|
28
|
-
'healthcare-management-platform': healthcareManagementPlatformMetadata,
|
|
29
|
-
'financial-services-platform': financialServicesPlatformMetadata,
|
|
30
|
-
'education-management-platform': educationManagementPlatformMetadata,
|
|
31
|
-
'real-estate-management-platform': realEstateManagementPlatformMetadata,
|
|
32
|
-
'manufacturing-platform': manufacturingPlatformMetadata,
|
|
33
|
-
'hospitality-platform': hospitalityPlatformMetadata,
|
|
34
|
-
'legal-services-platform': legalServicesPlatformMetadata,
|
|
35
|
-
'non-profit-platform': nonProfitPlatformMetadata,
|
|
36
|
-
'iot-smart-home-platform': iotSmartHomePlatformMetadata,
|
|
37
|
-
'gaming-platform': gamingPlatformMetadata,
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Array of all template IDs for iteration
|
|
41
|
-
*/
|
|
42
|
-
export const TEMPLATE_IDS = [
|
|
43
|
-
'ecommerce-platform',
|
|
44
|
-
'blog-publishing-platform',
|
|
45
|
-
'healthcare-management-platform',
|
|
46
|
-
'financial-services-platform',
|
|
47
|
-
'education-management-platform',
|
|
48
|
-
'real-estate-management-platform',
|
|
49
|
-
'manufacturing-platform',
|
|
50
|
-
'hospitality-platform',
|
|
51
|
-
'legal-services-platform',
|
|
52
|
-
'non-profit-platform',
|
|
53
|
-
'iot-smart-home-platform',
|
|
54
|
-
'gaming-platform',
|
|
55
|
-
];
|
|
56
|
-
/**
|
|
57
|
-
* Template categories for filtering
|
|
58
|
-
*/
|
|
59
|
-
export const TEMPLATE_CATEGORIES = {
|
|
60
|
-
business: ['e-commerce', 'retail', 'business', 'inventory', 'orders', 'crm', 'finance'],
|
|
61
|
-
content: ['blog', 'cms', 'publishing', 'content', 'media', 'editorial'],
|
|
62
|
-
social: ['social', 'community', 'networking', 'communication'],
|
|
63
|
-
technical: ['api', 'service', 'microservice', 'system', 'integration'],
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Get all templates
|
|
67
|
-
*/
|
|
68
|
-
export function getAllTemplates() {
|
|
69
|
-
return Object.values(TEMPLATE_METADATA_REGISTRY);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Get template by ID
|
|
73
|
-
*/
|
|
74
|
-
export function getTemplate(id) {
|
|
75
|
-
return TEMPLATE_METADATA_REGISTRY[id];
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get templates by tag
|
|
79
|
-
*/
|
|
80
|
-
export function getTemplatesByTag(tag) {
|
|
81
|
-
return getAllTemplates().filter((template) => template.tags.includes(tag.toLowerCase()));
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Get templates by category
|
|
85
|
-
*/
|
|
86
|
-
export function getTemplatesByCategory(category) {
|
|
87
|
-
const categoryTags = TEMPLATE_CATEGORIES[category] || [];
|
|
88
|
-
return getAllTemplates().filter((template) => template.tags.some((tag) => categoryTags.includes(tag)));
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Search templates
|
|
92
|
-
*/
|
|
93
|
-
export function searchTemplates(query) {
|
|
94
|
-
const searchTerm = query.toLowerCase();
|
|
95
|
-
return getAllTemplates().filter((template) => template.name.toLowerCase().includes(searchTerm) ||
|
|
96
|
-
template.description.toLowerCase().includes(searchTerm) ||
|
|
97
|
-
template.tags.some((tag) => tag.includes(searchTerm)));
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get template statistics
|
|
101
|
-
*/
|
|
102
|
-
export function getTemplateStats() {
|
|
103
|
-
const templates = getAllTemplates();
|
|
104
|
-
const totalEntities = templates.reduce((sum, t) => sum + t.structure.domain.totalEntities, 0);
|
|
105
|
-
const totalProperties = templates.reduce((sum, t) => sum + t.structure.domain.totalProperties, 0);
|
|
106
|
-
const totalAssociations = templates.reduce((sum, t) => sum + t.structure.domain.totalAssociations, 0);
|
|
107
|
-
const categoryCounts = {};
|
|
108
|
-
templates.forEach((template) => {
|
|
109
|
-
template.tags.forEach((tag) => {
|
|
110
|
-
categoryCounts[tag] = (categoryCounts[tag] || 0) + 1;
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
return {
|
|
114
|
-
totalTemplates: templates.length,
|
|
115
|
-
totalEntities,
|
|
116
|
-
totalProperties,
|
|
117
|
-
totalAssociations,
|
|
118
|
-
categoryCounts,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Creates a domain by its ID
|
|
123
|
-
* @param id The ID of the template
|
|
124
|
-
* @param options Options for creating the template
|
|
125
|
-
* @returns The created data domain
|
|
126
|
-
*/
|
|
127
|
-
export function createDomainById(id, options) {
|
|
128
|
-
const map = new Map();
|
|
129
|
-
map.set('ecommerce-platform', 'createEcommerceDomain');
|
|
130
|
-
map.set('blog-publishing-platform', 'createBlogDomain');
|
|
131
|
-
map.set('healthcare-management-platform', 'createHealthcareDomain');
|
|
132
|
-
map.set('financial-services-platform', 'createFinancialServicesDomain');
|
|
133
|
-
map.set('education-management-platform', 'createEducationDomain');
|
|
134
|
-
map.set('real-estate-management-platform', 'createRealEstateDomain');
|
|
135
|
-
map.set('manufacturing-platform', 'createManufacturingDomain');
|
|
136
|
-
map.set('hospitality-platform', 'createHospitalityDomain');
|
|
137
|
-
map.set('legal-services-platform', 'createLegalServicesDomain');
|
|
138
|
-
map.set('non-profit-platform', 'createNonProfitDomain');
|
|
139
|
-
map.set('iot-smart-home-platform', 'createIoTSmartHomeDomain');
|
|
140
|
-
map.set('gaming-platform', 'createGamingDomain');
|
|
141
|
-
const createDomainFn = map.get(id);
|
|
142
|
-
if (!createDomainFn) {
|
|
143
|
-
throw new Error(`No create function found for template ID ${id}`);
|
|
144
|
-
}
|
|
145
|
-
if (typeof domains[createDomainFn] !== 'function') {
|
|
146
|
-
throw new Error(`Function ${createDomainFn} is not defined in domains module`);
|
|
147
|
-
}
|
|
148
|
-
return domains[createDomainFn](options);
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modeling/templates/meta/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Auto-generated template registry index\n * Generated on: 2025-08-09T20:52:36.596Z\n *\n * This file is auto-generated by scripts/generate-template-metadata.js\n * Do not edit manually - your changes will be overwritten.\n */\n\nimport type { CreateTemplateOptions, DomainTemplate } from '../types.js'\nimport { DataDomain } from '../../DataDomain.js'\nimport * as domains from '../verticals/index.js'\nimport type * as Verticals from '../verticals/index.js'\n\n// Template metadata imports\nimport ecommercePlatformMetadata from './ecommerce-platform.json' with { type: 'json' }\nimport blogPublishingPlatformMetadata from './blog-publishing-platform.json' with { type: 'json' }\nimport healthcareManagementPlatformMetadata from './healthcare-management-platform.json' with { type: 'json' }\nimport financialServicesPlatformMetadata from './financial-services-platform.json' with { type: 'json' }\nimport educationManagementPlatformMetadata from './education-management-platform.json' with { type: 'json' }\nimport realEstateManagementPlatformMetadata from './real-estate-management-platform.json' with { type: 'json' }\nimport manufacturingPlatformMetadata from './manufacturing-platform.json' with { type: 'json' }\nimport hospitalityPlatformMetadata from './hospitality-platform.json' with { type: 'json' }\nimport legalServicesPlatformMetadata from './legal-services-platform.json' with { type: 'json' }\nimport nonProfitPlatformMetadata from './non-profit-platform.json' with { type: 'json' }\nimport iotSmartHomePlatformMetadata from './iot-smart-home-platform.json' with { type: 'json' }\nimport gamingPlatformMetadata from './gaming-platform.json' with { type: 'json' }\n\n/**\n * Registry of all available template metadata\n */\nexport const TEMPLATE_METADATA_REGISTRY: Record<string, DomainTemplate> = {\n 'ecommerce-platform': ecommercePlatformMetadata as DomainTemplate,\n 'blog-publishing-platform': blogPublishingPlatformMetadata as DomainTemplate,\n 'healthcare-management-platform': healthcareManagementPlatformMetadata as DomainTemplate,\n 'financial-services-platform': financialServicesPlatformMetadata as DomainTemplate,\n 'education-management-platform': educationManagementPlatformMetadata as DomainTemplate,\n 'real-estate-management-platform': realEstateManagementPlatformMetadata as DomainTemplate,\n 'manufacturing-platform': manufacturingPlatformMetadata as DomainTemplate,\n 'hospitality-platform': hospitalityPlatformMetadata as DomainTemplate,\n 'legal-services-platform': legalServicesPlatformMetadata as DomainTemplate,\n 'non-profit-platform': nonProfitPlatformMetadata as DomainTemplate,\n 'iot-smart-home-platform': iotSmartHomePlatformMetadata as DomainTemplate,\n 'gaming-platform': gamingPlatformMetadata as DomainTemplate,\n} as const\n\n/**\n * Array of all template IDs for iteration\n */\nexport const TEMPLATE_IDS = [\n 'ecommerce-platform',\n 'blog-publishing-platform',\n 'healthcare-management-platform',\n 'financial-services-platform',\n 'education-management-platform',\n 'real-estate-management-platform',\n 'manufacturing-platform',\n 'hospitality-platform',\n 'legal-services-platform',\n 'non-profit-platform',\n 'iot-smart-home-platform',\n 'gaming-platform',\n] as const\n\n/**\n * Template categories for filtering\n */\nexport const TEMPLATE_CATEGORIES = {\n business: ['e-commerce', 'retail', 'business', 'inventory', 'orders', 'crm', 'finance'],\n content: ['blog', 'cms', 'publishing', 'content', 'media', 'editorial'],\n social: ['social', 'community', 'networking', 'communication'],\n technical: ['api', 'service', 'microservice', 'system', 'integration'],\n} as const\n\n/**\n * Get all templates\n */\nexport function getAllTemplates(): DomainTemplate[] {\n return Object.values(TEMPLATE_METADATA_REGISTRY)\n}\n\n/**\n * Get template by ID\n */\nexport function getTemplate(id: string): DomainTemplate | undefined {\n return TEMPLATE_METADATA_REGISTRY[id]\n}\n\n/**\n * Get templates by tag\n */\nexport function getTemplatesByTag(tag: string): DomainTemplate[] {\n return getAllTemplates().filter((template) => template.tags.includes(tag.toLowerCase()))\n}\n\n/**\n * Get templates by category\n */\nexport function getTemplatesByCategory(category: keyof typeof TEMPLATE_CATEGORIES): DomainTemplate[] {\n const categoryTags = TEMPLATE_CATEGORIES[category] || []\n return getAllTemplates().filter((template) =>\n template.tags.some((tag) => (categoryTags as readonly string[]).includes(tag))\n )\n}\n\n/**\n * Search templates\n */\nexport function searchTemplates(query: string): DomainTemplate[] {\n const searchTerm = query.toLowerCase()\n return getAllTemplates().filter(\n (template) =>\n template.name.toLowerCase().includes(searchTerm) ||\n template.description.toLowerCase().includes(searchTerm) ||\n template.tags.some((tag) => tag.includes(searchTerm))\n )\n}\n\n/**\n * Get template statistics\n */\nexport function getTemplateStats() {\n const templates = getAllTemplates()\n\n const totalEntities = templates.reduce((sum, t) => sum + t.structure.domain.totalEntities, 0)\n const totalProperties = templates.reduce((sum, t) => sum + t.structure.domain.totalProperties, 0)\n const totalAssociations = templates.reduce((sum, t) => sum + t.structure.domain.totalAssociations, 0)\n\n const categoryCounts: Record<string, number> = {}\n templates.forEach((template) => {\n template.tags.forEach((tag) => {\n categoryCounts[tag] = (categoryCounts[tag] || 0) + 1\n })\n })\n\n return {\n totalTemplates: templates.length,\n totalEntities,\n totalProperties,\n totalAssociations,\n categoryCounts,\n }\n}\n\n/**\n * Creates a domain by its ID\n * @param id The ID of the template\n * @param options Options for creating the template\n * @returns The created data domain\n */\nexport function createDomainById(id: string, options?: CreateTemplateOptions): DataDomain {\n const map = new Map<string, keyof typeof Verticals>()\n map.set('ecommerce-platform', 'createEcommerceDomain')\n map.set('blog-publishing-platform', 'createBlogDomain')\n map.set('healthcare-management-platform', 'createHealthcareDomain')\n map.set('financial-services-platform', 'createFinancialServicesDomain')\n map.set('education-management-platform', 'createEducationDomain')\n map.set('real-estate-management-platform', 'createRealEstateDomain')\n map.set('manufacturing-platform', 'createManufacturingDomain')\n map.set('hospitality-platform', 'createHospitalityDomain')\n map.set('legal-services-platform', 'createLegalServicesDomain')\n map.set('non-profit-platform', 'createNonProfitDomain')\n map.set('iot-smart-home-platform', 'createIoTSmartHomeDomain')\n map.set('gaming-platform', 'createGamingDomain')\n const createDomainFn = map.get(id)\n if (!createDomainFn) {\n throw new Error(`No create function found for template ID ${id}`)\n }\n if (typeof domains[createDomainFn] !== 'function') {\n throw new Error(`Function ${createDomainFn} is not defined in domains module`)\n }\n return domains[createDomainFn](options)\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
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": [] }] }] }] } }
|