@api-client/core 0.18.21 → 0.18.23
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 +1 -0
- package/build/src/modeling/helpers/Intelisense.js.map +1 -1
- package/build/src/modeling/templates/index.d.ts +1 -0
- package/build/src/modeling/templates/index.d.ts.map +1 -1
- package/build/src/modeling/templates/index.js +2 -0
- package/build/src/modeling/templates/index.js.map +1 -1
- package/build/src/modeling/templates/meta/education-management-platform.json +1 -0
- package/build/src/modeling/templates/meta/financial-services-platform.json +1 -0
- package/build/src/modeling/templates/meta/gaming-platform.json +1 -0
- package/build/src/modeling/templates/meta/healthcare-management-platform.json +1 -0
- package/build/src/modeling/templates/meta/hospitality-platform.json +1 -0
- package/build/src/modeling/templates/meta/index.d.ts +11 -3
- package/build/src/modeling/templates/meta/index.d.ts.map +1 -1
- package/build/src/modeling/templates/meta/index.js +61 -1
- package/build/src/modeling/templates/meta/index.js.map +1 -1
- package/build/src/modeling/templates/meta/iot-smart-home-platform.json +1 -0
- package/build/src/modeling/templates/meta/legal-services-platform.json +1 -0
- package/build/src/modeling/templates/meta/manufacturing-platform.json +1 -0
- package/build/src/modeling/templates/meta/non-profit-platform.json +1 -0
- package/build/src/modeling/templates/meta/real-estate-management-platform.json +1 -0
- package/build/src/modeling/templates/template-registry.d.ts +14 -0
- package/build/src/modeling/templates/template-registry.d.ts.map +1 -1
- package/build/src/modeling/templates/template-registry.js +63 -0
- package/build/src/modeling/templates/template-registry.js.map +1 -1
- package/build/src/modeling/templates/{ecommerce-domain.d.ts → verticals/business-services/ecommerce-domain.d.ts} +2 -2
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/{ecommerce-domain.js → verticals/business-services/ecommerce-domain.js} +6 -6
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts +40 -0
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js +744 -0
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts +45 -0
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js +797 -0
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/index.d.ts +21 -0
- package/build/src/modeling/templates/verticals/business-services/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/index.js +50 -0
- package/build/src/modeling/templates/verticals/business-services/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts +46 -0
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js +837 -0
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts +40 -0
- package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/education-training/education-domain.js +725 -0
- package/build/src/modeling/templates/verticals/education-training/education-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/education-training/index.d.ts +18 -0
- package/build/src/modeling/templates/verticals/education-training/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/education-training/index.js +21 -0
- package/build/src/modeling/templates/verticals/education-training/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts +40 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js +859 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts +18 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js +21 -0
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/index.d.ts +79 -0
- package/build/src/modeling/templates/verticals/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/index.js +186 -0
- package/build/src/modeling/templates/verticals/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts +18 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js +22 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts +45 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js +710 -0
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/public-sector/index.d.ts +18 -0
- package/build/src/modeling/templates/verticals/public-sector/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/public-sector/index.js +22 -0
- package/build/src/modeling/templates/verticals/public-sector/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts +47 -0
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js +864 -0
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts +18 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/index.js +21 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts +40 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js +727 -0
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js.map +1 -0
- package/build/src/modeling/templates/{blog-domain.d.ts → verticals/technology-media/blog-domain.d.ts} +2 -2
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/{blog-domain.js → verticals/technology-media/blog-domain.js} +5 -5
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts +46 -0
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js +1033 -0
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js.map +1 -0
- package/build/src/modeling/templates/verticals/technology-media/index.d.ts +21 -0
- package/build/src/modeling/templates/verticals/technology-media/index.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/technology-media/index.js +42 -0
- package/build/src/modeling/templates/verticals/technology-media/index.js.map +1 -0
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts +47 -0
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts.map +1 -0
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js +1027 -0
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/data/models/example-generator-api.json +23 -23
- package/package.json +1 -1
- package/src/modeling/helpers/Intelisense.ts +1 -0
- package/src/modeling/templates/meta/education-management-platform.json +1 -0
- package/src/modeling/templates/meta/financial-services-platform.json +1 -0
- package/src/modeling/templates/meta/gaming-platform.json +1 -0
- package/src/modeling/templates/meta/healthcare-management-platform.json +1 -0
- package/src/modeling/templates/meta/hospitality-platform.json +1 -0
- package/src/modeling/templates/meta/iot-smart-home-platform.json +1 -0
- package/src/modeling/templates/meta/legal-services-platform.json +1 -0
- package/src/modeling/templates/meta/manufacturing-platform.json +1 -0
- package/src/modeling/templates/meta/non-profit-platform.json +1 -0
- package/src/modeling/templates/meta/real-estate-management-platform.json +1 -0
- package/src/modeling/templates/readme.md +14 -0
- package/src/modeling/templates/template-registry.ts +73 -0
- package/src/modeling/templates/verticals/README.md +122 -0
- package/src/modeling/templates/{ecommerce-domain.ts → verticals/business-services/ecommerce-domain.ts} +7 -7
- package/src/modeling/templates/verticals/business-services/financial-services-domain.ts +943 -0
- package/src/modeling/templates/verticals/business-services/hospitality-domain.ts +994 -0
- package/src/modeling/templates/verticals/business-services/legal-services-domain.ts +1059 -0
- package/src/modeling/templates/verticals/education-training/education-domain.ts +922 -0
- package/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.ts +1111 -0
- package/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.ts +895 -0
- package/src/modeling/templates/verticals/public-sector/non-profit-domain.ts +1109 -0
- package/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.ts +944 -0
- package/src/modeling/templates/{blog-domain.ts → verticals/technology-media/blog-domain.ts} +6 -6
- package/src/modeling/templates/verticals/technology-media/gaming-domain.ts +1290 -0
- package/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.ts +1287 -0
- package/build/src/modeling/templates/blog-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/blog-domain.js.map +0 -1
- package/build/src/modeling/templates/ecommerce-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/ecommerce-domain.js.map +0 -1
|
@@ -1,19 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated template registry index
|
|
3
|
-
* Generated on: 2025-07-
|
|
3
|
+
* Generated on: 2025-07-30T05:20:58.948Z
|
|
4
4
|
*
|
|
5
5
|
* This file is auto-generated by scripts/generate-template-metadata.js
|
|
6
6
|
* Do not edit manually - your changes will be overwritten.
|
|
7
7
|
*/
|
|
8
|
+
import * as domains from '../verticals/index.js';
|
|
8
9
|
// Template metadata imports
|
|
9
10
|
import ecommercePlatformMetadata from './ecommerce-platform.json' with { type: 'json' };
|
|
10
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' };
|
|
11
22
|
/**
|
|
12
23
|
* Registry of all available template metadata
|
|
13
24
|
*/
|
|
14
25
|
export const TEMPLATE_METADATA_REGISTRY = {
|
|
15
26
|
'ecommerce-platform': ecommercePlatformMetadata,
|
|
16
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,
|
|
17
38
|
};
|
|
18
39
|
/**
|
|
19
40
|
* Array of all template IDs for iteration
|
|
@@ -21,6 +42,16 @@ export const TEMPLATE_METADATA_REGISTRY = {
|
|
|
21
42
|
export const TEMPLATE_IDS = [
|
|
22
43
|
'ecommerce-platform',
|
|
23
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',
|
|
24
55
|
];
|
|
25
56
|
/**
|
|
26
57
|
* Template categories for filtering
|
|
@@ -87,4 +118,33 @@ export function getTemplateStats() {
|
|
|
87
118
|
categoryCounts,
|
|
88
119
|
};
|
|
89
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
|
+
}
|
|
90
150
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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-07-27T21:25:00.112Z\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 { DomainTemplate } from '../types.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' }\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} 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] 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"]}
|
|
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-07-30T05:20:58.948Z\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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "id": "iot-smart-home-platform", "name": "IoT Smart Home Platform", "description": "A comprehensive IoT/Smart Home platform with device management, data collection, automation, user management, monitoring, and integration", "createdAt": "2025-01-27T00:00:00.000Z", "updatedAt": "2025-01-27T00:00:00.000Z", "version": "1.0.0", "author": "API Now! Core Team", "tags": ["iot", "smart-home", "automation", "device-management", "sensors"], "structure": { "domain": { "name": "IoT Smart Home Platform", "description": "A comprehensive IoT/Smart Home platform with device management, data collection, automation, user management, monitoring, and integration", "totalEntities": 18, "totalProperties": 162, "totalAssociations": 14 }, "namespaces": [{ "name": "DeviceManagement", "displayName": "Device Management", "description": "Devices, sensors, connectivity, and firmware", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Devices", "displayName": "Device Management", "description": "IoT devices and sensors", "entityCount": 3, "entities": [{ "name": "device", "displayName": "Device", "description": "IoT device with sensors and capabilities", "propertyCount": 14, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Device ID", "description": "Unique identifier for the device", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Device name and model", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Device description and capabilities", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "device_type", "displayName": "Device Type", "description": "Type of IoT device", "type": "string", "required": true, "semantics": [], "enumValues": ["sensor", "actuator", "controller", "gateway", "camera", "thermostat", "light", "lock", "appliance", "speaker"] }, { "name": "manufacturer", "displayName": "Manufacturer", "description": "Device manufacturer", "type": "string", "required": true, "semantics": [] }, { "name": "model", "displayName": "Model", "description": "Device model", "type": "string", "required": true, "semantics": [] }, { "name": "serial_number", "displayName": "Serial Number", "description": "Device serial number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "mac_address", "displayName": "MAC Address", "description": "Device MAC address", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "ip_address", "displayName": "IP Address", "description": "Device IP address", "type": "string", "required": false, "semantics": [] }, { "name": "location", "displayName": "Location", "description": "Device location in home", "type": "string", "required": false, "semantics": [] }, { "name": "firmware_version", "displayName": "Firmware Version", "description": "Current firmware version", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Device Status", "description": "Current status of the device", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["online", "offline", "maintenance", "error", "updating"], "defaultValue": "online" }, { "name": "created_at", "displayName": "Created At", "description": "When the device was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the device was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "sensor", "displayName": "Sensor", "description": "IoT sensor with measurement capabilities", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Sensor ID", "description": "Unique identifier for the sensor", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Sensor name and type", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Sensor description and capabilities", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "sensor_type", "displayName": "Sensor Type", "description": "Type of sensor", "type": "string", "required": true, "semantics": [], "enumValues": ["temperature", "humidity", "pressure", "motion", "light", "sound", "air_quality", "water_level", "smoke", "carbon_monoxide"] }, { "name": "measurement_unit", "displayName": "Measurement Unit", "description": "Unit of measurement", "type": "string", "required": true, "semantics": [] }, { "name": "min_value", "displayName": "Minimum Value", "description": "Minimum measurement value", "type": "number", "required": false, "semantics": [] }, { "name": "max_value", "displayName": "Maximum Value", "description": "Maximum measurement value", "type": "number", "required": false, "semantics": [] }, { "name": "status", "displayName": "Sensor Status", "description": "Current status of the sensor", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "calibrating", "error"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the sensor was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "device", "displayName": "Device", "description": "Device for this sensor", "required": true, "multiple": false, "targetEntities": ["device"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "firmware", "displayName": "Firmware", "description": "Device firmware versions and updates", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Firmware ID", "description": "Unique identifier for the firmware", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Firmware name and version", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Firmware description and changes", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "version", "displayName": "Version", "description": "Firmware version number", "type": "string", "required": true, "semantics": [] }, { "name": "release_date", "displayName": "Release Date", "description": "Firmware release date", "type": "date", "required": true, "semantics": [] }, { "name": "file_size", "displayName": "File Size", "description": "Firmware file size in bytes", "type": "number", "required": true, "semantics": [] }, { "name": "compatibility", "displayName": "Compatibility", "description": "Compatible device models", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Firmware Status", "description": "Current status of the firmware", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["available", "installing", "installed", "failed"], "defaultValue": "available" }, { "name": "created_at", "displayName": "Created At", "description": "When the firmware was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "device", "displayName": "Device", "description": "Device for this firmware", "required": true, "multiple": false, "targetEntities": ["device"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "DataCollection", "displayName": "Data Collection", "description": "Sensor data, telemetry, and analytics", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Data", "displayName": "Data Collection", "description": "Sensor data and telemetry", "entityCount": 3, "entities": [{ "name": "sensor_data", "displayName": "Sensor Data", "description": "Sensor measurement data", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Data ID", "description": "Unique identifier for the sensor data", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Data name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "timestamp", "displayName": "Timestamp", "description": "Data timestamp", "type": "datetime", "required": true, "semantics": [] }, { "name": "value", "displayName": "Value", "description": "Sensor measurement value", "type": "number", "required": true, "semantics": [] }, { "name": "unit", "displayName": "Unit", "description": "Measurement unit", "type": "string", "required": true, "semantics": [] }, { "name": "quality", "displayName": "Quality", "description": "Data quality indicator", "type": "string", "required": true, "semantics": [], "enumValues": ["excellent", "good", "fair", "poor"] }, { "name": "status", "displayName": "Data Status", "description": "Current status of the sensor data", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["raw", "processed", "archived"], "defaultValue": "raw" }, { "name": "created_at", "displayName": "Created At", "description": "When the data was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "sensor", "displayName": "Sensor", "description": "Sensor for this data", "required": true, "multiple": false, "targetEntities": ["sensor"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "telemetry", "displayName": "Telemetry", "description": "Device telemetry and system metrics", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Telemetry ID", "description": "Unique identifier for the telemetry", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Telemetry name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "timestamp", "displayName": "Timestamp", "description": "Telemetry timestamp", "type": "datetime", "required": true, "semantics": [] }, { "name": "metric_type", "displayName": "Metric Type", "description": "Type of telemetry metric", "type": "string", "required": true, "semantics": [], "enumValues": ["cpu_usage", "memory_usage", "network_traffic", "battery_level", "signal_strength", "temperature"] }, { "name": "value", "displayName": "Value", "description": "Telemetry value", "type": "number", "required": true, "semantics": [] }, { "name": "unit", "displayName": "Unit", "description": "Measurement unit", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Telemetry Status", "description": "Current status of the telemetry", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["normal", "warning", "critical"], "defaultValue": "normal" }, { "name": "created_at", "displayName": "Created At", "description": "When the telemetry was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "device", "displayName": "Device", "description": "Device for this telemetry", "required": true, "multiple": false, "targetEntities": ["device"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "analytics", "displayName": "Analytics", "description": "Data analytics and insights", "propertyCount": 9, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Analytics ID", "description": "Unique identifier for the analytics", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Analytics name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Analytics description and insights", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "analytics_type", "displayName": "Analytics Type", "description": "Type of analytics", "type": "string", "required": true, "semantics": [], "enumValues": ["trend_analysis", "pattern_recognition", "anomaly_detection", "predictive_modeling", "usage_statistics"] }, { "name": "time_period", "displayName": "Time Period", "description": "Analytics time period", "type": "string", "required": true, "semantics": [], "enumValues": ["hourly", "daily", "weekly", "monthly", "yearly"] }, { "name": "start_date", "displayName": "Start Date", "description": "Analytics start date", "type": "date", "required": true, "semantics": [] }, { "name": "end_date", "displayName": "End Date", "description": "Analytics end date", "type": "date", "required": true, "semantics": [] }, { "name": "status", "displayName": "Analytics Status", "description": "Current status of the analytics", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["processing", "completed", "failed"], "defaultValue": "processing" }, { "name": "created_at", "displayName": "Created At", "description": "When the analytics was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }] }, { "name": "Automation", "displayName": "Automation", "description": "Rules, triggers, actions, and schedules", "modelCount": 1, "entityCount": 4, "models": [{ "name": "Automation", "displayName": "Automation Management", "description": "Automation rules and schedules", "entityCount": 4, "entities": [{ "name": "rule", "displayName": "Rule", "description": "Automation rule with conditions and actions", "propertyCount": 9, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Rule ID", "description": "Unique identifier for the rule", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Rule name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Rule description and logic", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "rule_type", "displayName": "Rule Type", "description": "Type of automation rule", "type": "string", "required": true, "semantics": [], "enumValues": ["if_then", "schedule", "location_based", "time_based", "condition_based"] }, { "name": "condition", "displayName": "Condition", "description": "Rule condition logic", "type": "string", "required": true, "semantics": [] }, { "name": "action", "displayName": "Action", "description": "Rule action to execute", "type": "string", "required": true, "semantics": [] }, { "name": "priority", "displayName": "Priority", "description": "Rule priority level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "critical"] }, { "name": "status", "displayName": "Rule Status", "description": "Current status of the rule", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "testing", "error"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the rule was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "trigger", "displayName": "Trigger", "description": "Automation trigger event", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Trigger ID", "description": "Unique identifier for the trigger", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Trigger name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Trigger description and conditions", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "trigger_type", "displayName": "Trigger Type", "description": "Type of trigger", "type": "string", "required": true, "semantics": [], "enumValues": ["sensor_threshold", "time_schedule", "location_change", "device_state", "user_action"] }, { "name": "condition", "displayName": "Condition", "description": "Trigger condition", "type": "string", "required": true, "semantics": [] }, { "name": "frequency", "displayName": "Frequency", "description": "Trigger frequency", "type": "string", "required": false, "semantics": [], "enumValues": ["once", "recurring", "continuous"] }, { "name": "status", "displayName": "Trigger Status", "description": "Current status of the trigger", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "paused"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the trigger was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "rule", "displayName": "Rule", "description": "Rule for this trigger", "required": true, "multiple": false, "targetEntities": ["rule"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "action", "displayName": "Action", "description": "Automation action to execute", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Action ID", "description": "Unique identifier for the action", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Action name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Action description and parameters", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "action_type", "displayName": "Action Type", "description": "Type of action", "type": "string", "required": true, "semantics": [], "enumValues": ["device_control", "notification", "data_logging", "api_call", "script_execution"] }, { "name": "parameters", "displayName": "Parameters", "description": "Action parameters", "type": "string", "required": false, "semantics": [] }, { "name": "delay", "displayName": "Delay", "description": "Action delay in seconds", "type": "number", "required": false, "semantics": [] }, { "name": "status", "displayName": "Action Status", "description": "Current status of the action", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "executing", "completed", "failed"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the action was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "rule", "displayName": "Rule", "description": "Rule for this action", "required": true, "multiple": false, "targetEntities": ["rule"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "schedule", "displayName": "Schedule", "description": "Automation schedule", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Schedule ID", "description": "Unique identifier for the schedule", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Schedule name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Schedule description and timing", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "schedule_type", "displayName": "Schedule Type", "description": "Type of schedule", "type": "string", "required": true, "semantics": [], "enumValues": ["daily", "weekly", "monthly", "custom", "sunrise_sunset"] }, { "name": "start_time", "displayName": "Start Time", "description": "Schedule start time", "type": "time", "required": true, "semantics": [] }, { "name": "end_time", "displayName": "End Time", "description": "Schedule end time", "type": "time", "required": false, "semantics": [] }, { "name": "days_of_week", "displayName": "Days of Week", "description": "Days of week for schedule", "type": "string", "required": false, "semantics": [] }, { "name": "status", "displayName": "Schedule Status", "description": "Current status of the schedule", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "paused"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the schedule was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "rule", "displayName": "Rule", "description": "Rule for this schedule", "required": true, "multiple": false, "targetEntities": ["rule"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "UserManagement", "displayName": "User Management", "description": "Users, permissions, and device access", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Users", "displayName": "User Management", "description": "User accounts and permissions", "entityCount": 3, "entities": [{ "name": "user", "displayName": "User", "description": "System user with access permissions", "propertyCount": 11, "associationCount": 0, "properties": [{ "name": "id", "displayName": "User ID", "description": "Unique identifier for the user", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "User name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "User description and notes", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "email", "displayName": "Email Address", "description": "User email address", "type": "string", "required": true, "semantics": ["Semantic#Email"] }, { "name": "phone", "displayName": "Phone Number", "description": "User phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "user_type", "displayName": "User Type", "description": "Type of user", "type": "string", "required": true, "semantics": [], "enumValues": ["owner", "admin", "family_member", "guest", "service_account"] }, { "name": "username", "displayName": "Username", "description": "User login username", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "last_login", "displayName": "Last Login", "description": "User last login date", "type": "datetime", "required": false, "semantics": [] }, { "name": "status", "displayName": "User Status", "description": "Current status of the user", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended", "pending"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the user was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the user was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "permission", "displayName": "Permission", "description": "User permissions and access rights", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Permission ID", "description": "Unique identifier for the permission", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Permission name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Permission description and scope", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "permission_type", "displayName": "Permission Type", "description": "Type of permission", "type": "string", "required": true, "semantics": [], "enumValues": ["read", "write", "admin", "control", "view", "configure"] }, { "name": "resource", "displayName": "Resource", "description": "Resource for permission", "type": "string", "required": true, "semantics": [] }, { "name": "scope", "displayName": "Scope", "description": "Permission scope", "type": "string", "required": true, "semantics": [], "enumValues": ["all", "specific", "room", "device", "system"] }, { "name": "status", "displayName": "Permission Status", "description": "Current status of the permission", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "temporary"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the permission was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "User", "description": "User for this permission", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "device_access", "displayName": "Device Access", "description": "User access to specific devices", "propertyCount": 7, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Access ID", "description": "Unique identifier for the device access", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Access name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "access_type", "displayName": "Access Type", "description": "Type of device access", "type": "string", "required": true, "semantics": [], "enumValues": ["full_control", "read_only", "limited_control", "monitor_only"] }, { "name": "granted_date", "displayName": "Granted Date", "description": "Access granted date", "type": "date", "required": true, "semantics": [] }, { "name": "expiry_date", "displayName": "Expiry Date", "description": "Access expiry date", "type": "date", "required": false, "semantics": [] }, { "name": "status", "displayName": "Access Status", "description": "Current status of the device access", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "expired", "revoked"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the access was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "User", "description": "User for this device access", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }, { "name": "device", "displayName": "Device", "description": "Device for this access", "required": true, "multiple": false, "targetEntities": ["device"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "Monitoring", "displayName": "Monitoring", "description": "Alerts, notifications, and health status", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Monitoring", "displayName": "Monitoring Management", "description": "System monitoring and alerting", "entityCount": 3, "entities": [{ "name": "alert", "displayName": "Alert", "description": "System alert or notification", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Alert ID", "description": "Unique identifier for the alert", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Alert name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Alert description and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "alert_type", "displayName": "Alert Type", "description": "Type of alert", "type": "string", "required": true, "semantics": [], "enumValues": ["error", "warning", "info", "critical", "maintenance"] }, { "name": "severity", "displayName": "Severity", "description": "Alert severity level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "critical"] }, { "name": "triggered_at", "displayName": "Triggered At", "description": "Alert trigger time", "type": "datetime", "required": true, "semantics": [] }, { "name": "resolved_at", "displayName": "Resolved At", "description": "Alert resolution time", "type": "datetime", "required": false, "semantics": [] }, { "name": "status", "displayName": "Alert Status", "description": "Current status of the alert", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "acknowledged", "resolved", "dismissed"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the alert was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "device", "displayName": "Device", "description": "Device for this alert", "required": false, "multiple": false, "targetEntities": ["device"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "notification", "displayName": "Notification", "description": "User notification message", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Notification ID", "description": "Unique identifier for the notification", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Notification name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Notification message content", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "notification_type", "displayName": "Notification Type", "description": "Type of notification", "type": "string", "required": true, "semantics": [], "enumValues": ["email", "sms", "push", "in_app", "webhook"] }, { "name": "recipient", "displayName": "Recipient", "description": "Notification recipient", "type": "string", "required": true, "semantics": [] }, { "name": "sent_at", "displayName": "Sent At", "description": "Notification sent time", "type": "datetime", "required": true, "semantics": [] }, { "name": "read_at", "displayName": "Read At", "description": "Notification read time", "type": "datetime", "required": false, "semantics": [] }, { "name": "status", "displayName": "Notification Status", "description": "Current status of the notification", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "sent", "delivered", "read", "failed"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the notification was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "user", "displayName": "User", "description": "User for this notification", "required": true, "multiple": false, "targetEntities": ["user"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "health_status", "displayName": "Health Status", "description": "System and device health status", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Health ID", "description": "Unique identifier for the health status", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Health status name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "health_type", "displayName": "Health Type", "description": "Type of health status", "type": "string", "required": true, "semantics": [], "enumValues": ["system", "device", "network", "battery", "connectivity"] }, { "name": "check_time", "displayName": "Check Time", "description": "Health check time", "type": "datetime", "required": true, "semantics": [] }, { "name": "score", "displayName": "Score", "description": "Health score (0-100)", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Health Status", "description": "Current health status", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["excellent", "good", "fair", "poor", "critical"], "defaultValue": "excellent" }, { "name": "created_at", "displayName": "Created At", "description": "When the health status was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "device", "displayName": "Device", "description": "Device for this health status", "required": false, "multiple": false, "targetEntities": ["device"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "Integration", "displayName": "Integration", "description": "Third-party services, APIs, and protocols", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Integrations", "displayName": "Integration Management", "description": "Third-party integrations and APIs", "entityCount": 2, "entities": [{ "name": "integration", "displayName": "Integration", "description": "Third-party service integration", "propertyCount": 10, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Integration ID", "description": "Unique identifier for the integration", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Integration name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Integration description and capabilities", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "integration_type", "displayName": "Integration Type", "description": "Type of integration", "type": "string", "required": true, "semantics": [], "enumValues": ["api", "webhook", "protocol", "service", "platform"] }, { "name": "provider", "displayName": "Provider", "description": "Integration provider", "type": "string", "required": true, "semantics": [] }, { "name": "endpoint_url", "displayName": "Endpoint URL", "description": "Integration endpoint URL", "type": "string", "required": false, "semantics": [] }, { "name": "api_key", "displayName": "API Key", "description": "Integration API key", "type": "string", "required": false, "semantics": [] }, { "name": "protocol", "displayName": "Protocol", "description": "Integration protocol", "type": "string", "required": false, "semantics": [], "enumValues": ["http", "https", "mqtt", "coap", "websocket", "tcp"] }, { "name": "status", "displayName": "Integration Status", "description": "Current status of the integration", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "testing", "error"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the integration was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "api_call", "displayName": "API Call", "description": "API call to third-party service", "propertyCount": 10, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Call ID", "description": "Unique identifier for the API call", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "API call name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "endpoint", "displayName": "Endpoint", "description": "API endpoint", "type": "string", "required": true, "semantics": [] }, { "name": "method", "displayName": "Method", "description": "HTTP method", "type": "string", "required": true, "semantics": [], "enumValues": ["GET", "POST", "PUT", "DELETE", "PATCH"] }, { "name": "request_data", "displayName": "Request Data", "description": "API request data", "type": "string", "required": false, "semantics": [] }, { "name": "response_data", "displayName": "Response Data", "description": "API response data", "type": "string", "required": false, "semantics": [] }, { "name": "response_code", "displayName": "Response Code", "description": "HTTP response code", "type": "number", "required": false, "semantics": [] }, { "name": "duration", "displayName": "Duration", "description": "API call duration in milliseconds", "type": "number", "required": false, "semantics": [] }, { "name": "status", "displayName": "Call Status", "description": "Current status of the API call", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "in_progress", "completed", "failed", "timeout"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the API call was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "integration", "displayName": "Integration", "description": "Integration for this API call", "required": true, "multiple": false, "targetEntities": ["integration"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }] } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "id": "legal-services-platform", "name": "Legal Services Platform", "description": "A comprehensive legal services platform with case management, client relationships, document management, time tracking, calendar management, and billing", "createdAt": "2025-01-27T00:00:00.000Z", "updatedAt": "2025-01-27T00:00:00.000Z", "version": "1.0.0", "author": "API Now! Core Team", "tags": ["legal", "law", "case-management", "billing", "document-management"], "structure": { "domain": { "name": "Legal Services Platform", "description": "A comprehensive legal services platform with case management, client relationships, document management, time tracking, calendar management, and billing", "totalEntities": 14, "totalProperties": 128, "totalAssociations": 14 }, "namespaces": [{ "name": "CaseManagement", "displayName": "Case Management", "description": "Cases, matters, documents, and timelines", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Cases", "displayName": "Case Management", "description": "Legal cases and matters", "entityCount": 3, "entities": [{ "name": "case", "displayName": "Case", "description": "Legal case or matter", "propertyCount": 12, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Case ID", "description": "Unique identifier for the case", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Case name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Case description and summary", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "case_number", "displayName": "Case Number", "description": "Official case number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "case_type", "displayName": "Case Type", "description": "Type of legal case", "type": "string", "required": true, "semantics": [], "enumValues": ["civil", "criminal", "family", "corporate", "real_estate", "intellectual_property", "bankruptcy"] }, { "name": "practice_area", "displayName": "Practice Area", "description": "Legal practice area", "type": "string", "required": true, "semantics": [], "enumValues": ["litigation", "corporate", "real_estate", "family_law", "criminal_defense", "intellectual_property", "bankruptcy", "employment", "tax", "estate_planning"] }, { "name": "filing_date", "displayName": "Filing Date", "description": "Case filing date", "type": "date", "required": false, "semantics": [] }, { "name": "court", "displayName": "Court", "description": "Court where case is filed", "type": "string", "required": false, "semantics": [] }, { "name": "judge", "displayName": "Judge", "description": "Assigned judge", "type": "string", "required": false, "semantics": [] }, { "name": "status", "displayName": "Case Status", "description": "Current status of the case", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["open", "pending", "settled", "closed", "appealed"], "defaultValue": "open" }, { "name": "created_at", "displayName": "Created At", "description": "When the case was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the case was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "client", "displayName": "Client", "description": "Client for this case", "required": true, "multiple": false, "targetEntities": ["client"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "matter", "displayName": "Matter", "description": "Legal matter or sub-case", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Matter ID", "description": "Unique identifier for the matter", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Matter name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Matter description and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "matter_type", "displayName": "Matter Type", "description": "Type of legal matter", "type": "string", "required": true, "semantics": [], "enumValues": ["transaction", "litigation", "advisory", "compliance", "investigation"] }, { "name": "priority", "displayName": "Priority", "description": "Matter priority level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "urgent"] }, { "name": "status", "displayName": "Matter Status", "description": "Current status of the matter", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "pending", "completed", "on_hold"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the matter was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "case", "displayName": "Case", "description": "Case for this matter", "required": true, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "timeline_event", "displayName": "Timeline Event", "description": "Case timeline events and milestones", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Event ID", "description": "Unique identifier for the timeline event", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Event name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Event description and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "event_type", "displayName": "Event Type", "description": "Type of timeline event", "type": "string", "required": true, "semantics": [], "enumValues": ["filing", "hearing", "discovery", "settlement", "trial", "appeal", "deadline"] }, { "name": "event_date", "displayName": "Event Date", "description": "Date of the event", "type": "date", "required": true, "semantics": [] }, { "name": "event_time", "displayName": "Event Time", "description": "Time of the event", "type": "time", "required": false, "semantics": [] }, { "name": "status", "displayName": "Event Status", "description": "Current status of the timeline event", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["scheduled", "completed", "cancelled", "postponed"], "defaultValue": "scheduled" }, { "name": "created_at", "displayName": "Created At", "description": "When the event was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "case", "displayName": "Case", "description": "Case for this timeline event", "required": true, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "ClientManagement", "displayName": "Client Management", "description": "Clients, contacts, and billing relationships", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Clients", "displayName": "Client Management", "description": "Client and contact management", "entityCount": 2, "entities": [{ "name": "client", "displayName": "Client", "description": "Legal client with contact information", "propertyCount": 11, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Client ID", "description": "Unique identifier for the client", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Client name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Client description and notes", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "email", "displayName": "Email Address", "description": "Client email address", "type": "string", "required": true, "semantics": ["Semantic#Email"] }, { "name": "phone", "displayName": "Phone Number", "description": "Client phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "client_type", "displayName": "Client Type", "description": "Type of client", "type": "string", "required": true, "semantics": [], "enumValues": ["individual", "corporation", "partnership", "government", "non_profit"] }, { "name": "address", "displayName": "Address", "description": "Client address", "type": "string", "required": false, "semantics": [] }, { "name": "date_of_birth", "displayName": "Date of Birth", "description": "Client date of birth", "type": "date", "required": false, "semantics": [] }, { "name": "status", "displayName": "Client Status", "description": "Current status of the client", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "prospect", "former"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the client record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the client record was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "contact", "displayName": "Contact", "description": "Client contacts and representatives", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Contact ID", "description": "Unique identifier for the contact", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Contact name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "email", "displayName": "Email Address", "description": "Contact email address", "type": "string", "required": true, "semantics": ["Semantic#Email"] }, { "name": "phone", "displayName": "Phone Number", "description": "Contact phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "contact_type", "displayName": "Contact Type", "description": "Type of contact", "type": "string", "required": true, "semantics": [], "enumValues": ["primary", "secondary", "emergency", "billing", "legal_representative"] }, { "name": "position", "displayName": "Position", "description": "Contact position or role", "type": "string", "required": false, "semantics": [] }, { "name": "status", "displayName": "Contact Status", "description": "Current status of the contact", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the contact was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "client", "displayName": "Client", "description": "Client for this contact", "required": true, "multiple": false, "targetEntities": ["client"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "DocumentManagement", "displayName": "Document Management", "description": "Contracts, pleadings, evidence, and legal documents", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Documents", "displayName": "Document Management", "description": "Legal documents and files", "entityCount": 2, "entities": [{ "name": "document", "displayName": "Document", "description": "Legal document or file", "propertyCount": 11, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Document ID", "description": "Unique identifier for the document", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Document name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Document description and summary", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "document_type", "displayName": "Document Type", "description": "Type of legal document", "type": "string", "required": true, "semantics": [], "enumValues": ["contract", "pleading", "motion", "brief", "evidence", "correspondence", "court_order", "settlement_agreement", "legal_opinion", "affidavit"] }, { "name": "file_path", "displayName": "File Path", "description": "Document file path", "type": "string", "required": true, "semantics": [] }, { "name": "file_size", "displayName": "File Size", "description": "Document file size in bytes", "type": "number", "required": false, "semantics": [] }, { "name": "file_format", "displayName": "File Format", "description": "Document file format", "type": "string", "required": true, "semantics": [], "enumValues": ["pdf", "doc", "docx", "txt", "rtf", "html", "xml"] }, { "name": "version", "displayName": "Version", "description": "Document version number", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Document Status", "description": "Current status of the document", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["draft", "final", "archived", "superseded"], "defaultValue": "draft" }, { "name": "created_at", "displayName": "Created At", "description": "When the document was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the document was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "case", "displayName": "Case", "description": "Case for this document", "required": true, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "evidence", "displayName": "Evidence", "description": "Legal evidence and exhibits", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Evidence ID", "description": "Unique identifier for the evidence", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Evidence name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Evidence description and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "evidence_type", "displayName": "Evidence Type", "description": "Type of evidence", "type": "string", "required": true, "semantics": [], "enumValues": ["document", "physical", "digital", "testimony", "expert_report", "photograph", "video"] }, { "name": "exhibit_number", "displayName": "Exhibit Number", "description": "Court exhibit number", "type": "string", "required": false, "semantics": [] }, { "name": "admitted", "displayName": "Admitted", "description": "Whether evidence was admitted", "type": "boolean", "required": false, "semantics": [] }, { "name": "status", "displayName": "Evidence Status", "description": "Current status of the evidence", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "admitted", "excluded", "withdrawn"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the evidence was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "case", "displayName": "Case", "description": "Case for this evidence", "required": true, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "TimeTracking", "displayName": "Time Tracking", "description": "Billable hours, time entries, and rates", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Time", "displayName": "Time Tracking", "description": "Time tracking and billing", "entityCount": 2, "entities": [{ "name": "time_entry", "displayName": "Time Entry", "description": "Billable time entry", "propertyCount": 11, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Entry ID", "description": "Unique identifier for the time entry", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Time entry description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "entry_date", "displayName": "Entry Date", "description": "Date of the time entry", "type": "date", "required": true, "semantics": [] }, { "name": "start_time", "displayName": "Start Time", "description": "Time entry start time", "type": "time", "required": true, "semantics": [] }, { "name": "end_time", "displayName": "End Time", "description": "Time entry end time", "type": "time", "required": true, "semantics": [] }, { "name": "hours", "displayName": "Hours", "description": "Total hours worked", "type": "number", "required": true, "semantics": [] }, { "name": "activity_type", "displayName": "Activity Type", "description": "Type of activity", "type": "string", "required": true, "semantics": [], "enumValues": ["research", "drafting", "review", "meeting", "court_appearance", "client_communication", "administrative"] }, { "name": "rate", "displayName": "Hourly Rate", "description": "Hourly billing rate", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "amount", "displayName": "Total Amount", "description": "Total billable amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Entry Status", "description": "Current status of the time entry", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "approved", "billed", "paid"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the time entry was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "case", "displayName": "Case", "description": "Case for this time entry", "required": true, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "billing_rate", "displayName": "Billing Rate", "description": "Attorney billing rates", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Rate ID", "description": "Unique identifier for the billing 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 billing rate", "type": "string", "required": true, "semantics": [], "enumValues": ["hourly", "flat_fee", "contingency", "retainer"] }, { "name": "effective_date", "displayName": "Effective Date", "description": "Rate effective date", "type": "date", "required": true, "semantics": [] }, { "name": "rate_amount", "displayName": "Rate Amount", "description": "Billing rate amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Rate Status", "description": "Current status of the billing rate", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "expired"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the billing rate was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }] }] }, { "name": "CalendarManagement", "displayName": "Calendar Management", "description": "Court dates, deadlines, and appointments", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Calendar", "displayName": "Calendar Management", "description": "Calendar events and scheduling", "entityCount": 2, "entities": [{ "name": "calendar_event", "displayName": "Calendar Event", "description": "Calendar event or appointment", "propertyCount": 11, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Event ID", "description": "Unique identifier for the calendar event", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Event name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Event description and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "event_type", "displayName": "Event Type", "description": "Type of calendar event", "type": "string", "required": true, "semantics": [], "enumValues": ["court_hearing", "client_meeting", "deadline", "deposition", "mediation", "trial", "appointment"] }, { "name": "event_date", "displayName": "Event Date", "description": "Date of the event", "type": "date", "required": true, "semantics": [] }, { "name": "start_time", "displayName": "Start Time", "description": "Event start time", "type": "time", "required": true, "semantics": [] }, { "name": "end_time", "displayName": "End Time", "description": "Event end time", "type": "time", "required": false, "semantics": [] }, { "name": "location", "displayName": "Location", "description": "Event location", "type": "string", "required": false, "semantics": [] }, { "name": "priority", "displayName": "Priority", "description": "Event priority level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "critical"] }, { "name": "status", "displayName": "Event Status", "description": "Current status of the calendar event", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["scheduled", "confirmed", "completed", "cancelled"], "defaultValue": "scheduled" }, { "name": "created_at", "displayName": "Created At", "description": "When the event was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "case", "displayName": "Case", "description": "Case for this calendar event", "required": false, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }, { "name": "client", "displayName": "Client", "description": "Client for this calendar event", "required": false, "multiple": false, "targetEntities": ["client"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "deadline", "displayName": "Deadline", "description": "Legal deadlines and important dates", "propertyCount": 9, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Deadline ID", "description": "Unique identifier for the deadline", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Deadline name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Deadline description and details", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "deadline_type", "displayName": "Deadline Type", "description": "Type of deadline", "type": "string", "required": true, "semantics": [], "enumValues": ["filing", "response", "discovery", "appeal", "statute_of_limitations", "contract"] }, { "name": "due_date", "displayName": "Due Date", "description": "Deadline due date", "type": "date", "required": true, "semantics": [] }, { "name": "due_time", "displayName": "Due Time", "description": "Deadline due time", "type": "time", "required": false, "semantics": [] }, { "name": "priority", "displayName": "Priority", "description": "Deadline priority level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "critical"] }, { "name": "status", "displayName": "Deadline Status", "description": "Current status of the deadline", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "completed", "missed", "extended"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the deadline was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "case", "displayName": "Case", "description": "Case for this deadline", "required": true, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "BillingAccounting", "displayName": "Billing & Accounting", "description": "Invoicing, payments, and trust accounts", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Billing", "displayName": "Billing & Accounting", "description": "Billing and accounting management", "entityCount": 3, "entities": [{ "name": "invoice", "displayName": "Invoice", "description": "Client invoice", "propertyCount": 10, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Invoice ID", "description": "Unique identifier for the invoice", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Invoice name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "invoice_number", "displayName": "Invoice Number", "description": "Invoice number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "invoice_date", "displayName": "Invoice Date", "description": "Invoice date", "type": "date", "required": true, "semantics": [] }, { "name": "due_date", "displayName": "Due Date", "description": "Invoice due date", "type": "date", "required": true, "semantics": [] }, { "name": "subtotal", "displayName": "Subtotal", "description": "Invoice subtotal amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "tax_amount", "displayName": "Tax Amount", "description": "Invoice tax amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "total_amount", "displayName": "Total Amount", "description": "Invoice total amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Invoice Status", "description": "Current status of the invoice", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["draft", "sent", "paid", "overdue", "cancelled"], "defaultValue": "draft" }, { "name": "created_at", "displayName": "Created At", "description": "When the invoice was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "client", "displayName": "Client", "description": "Client for this invoice", "required": true, "multiple": false, "targetEntities": ["client"], "semantics": [], "cardinality": "One-to-One" }, { "name": "case", "displayName": "Case", "description": "Case for this invoice", "required": false, "multiple": false, "targetEntities": ["case"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "payment", "displayName": "Payment", "description": "Client payment", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Payment ID", "description": "Unique identifier for the payment", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Payment name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "payment_date", "displayName": "Payment Date", "description": "Payment date", "type": "date", "required": true, "semantics": [] }, { "name": "payment_method", "displayName": "Payment Method", "description": "Payment method", "type": "string", "required": true, "semantics": [], "enumValues": ["check", "credit_card", "bank_transfer", "cash", "online"] }, { "name": "reference_number", "displayName": "Reference Number", "description": "Payment reference number", "type": "string", "required": false, "semantics": [] }, { "name": "amount", "displayName": "Payment Amount", "description": "Payment amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Payment Status", "description": "Current status of the payment", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "completed", "failed", "refunded"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the payment was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "invoice", "displayName": "Invoice", "description": "Invoice for this payment", "required": true, "multiple": false, "targetEntities": ["invoice"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "trust_account", "displayName": "Trust Account", "description": "Client trust account", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Trust Account ID", "description": "Unique identifier for the trust account", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Trust account name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "account_number", "displayName": "Account Number", "description": "Trust account number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "bank_name", "displayName": "Bank Name", "description": "Bank name", "type": "string", "required": true, "semantics": [] }, { "name": "balance", "displayName": "Account Balance", "description": "Trust account balance", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "Account Status", "description": "Current status of the trust account", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "frozen"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the trust account was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "client", "displayName": "Client", "description": "Client for this trust account", "required": true, "multiple": false, "targetEntities": ["client"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }] } }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "id": "manufacturing-platform", "name": "Manufacturing Platform", "description": "A comprehensive manufacturing platform with product management, inventory control, production planning, quality control, equipment management, and supply chain capabilities", "createdAt": "2025-01-27T00:00:00.000Z", "updatedAt": "2025-01-27T00:00:00.000Z", "version": "1.0.0", "author": "API Now! Core Team", "tags": ["manufacturing", "production", "inventory", "quality", "equipment", "supply-chain"], "structure": { "domain": { "name": "Manufacturing Platform", "description": "A comprehensive manufacturing platform with product management, inventory control, production planning, quality control, equipment management, and supply chain capabilities", "totalEntities": 13, "totalProperties": 97, "totalAssociations": 13 }, "namespaces": [{ "name": "ProductManagement", "displayName": "Product Management", "description": "Product definitions, SKUs, specifications, and bill of materials", "modelCount": 1, "entityCount": 3, "models": [{ "name": "Products", "displayName": "Product Management", "description": "Product definitions and specifications", "entityCount": 3, "entities": [{ "name": "product", "displayName": "Product", "description": "Manufactured product with specifications and BOM", "propertyCount": 9, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Product ID", "description": "Unique identifier for the product", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Product name and title", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Product description and specifications", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "sku", "displayName": "SKU", "description": "Stock Keeping Unit identifier", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "product_type", "displayName": "Product Type", "description": "Type of manufactured product", "type": "string", "required": true, "semantics": [], "enumValues": ["finished_good", "component", "raw_material", "sub_assembly"] }, { "name": "unit_of_measure", "displayName": "Unit of Measure", "description": "Standard unit for the product", "type": "string", "required": true, "semantics": [], "enumValues": ["pieces", "kilograms", "meters", "liters", "units"] }, { "name": "status", "displayName": "Product Status", "description": "Current status of the product", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "discontinued", "development"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the product was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the product was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "bill_of_materials", "displayName": "Bill of Materials", "description": "Component list and quantities for product assembly", "propertyCount": 6, "associationCount": 1, "properties": [{ "name": "id", "displayName": "BOM ID", "description": "Unique identifier for the BOM", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "BOM name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "version", "displayName": "Version", "description": "BOM version number", "type": "string", "required": true, "semantics": [] }, { "name": "quantity", "displayName": "Quantity", "description": "Quantity of the main product", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "BOM Status", "description": "Current status of the BOM", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["draft", "active", "obsolete"], "defaultValue": "draft" }, { "name": "created_at", "displayName": "Created At", "description": "When the BOM was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "product", "displayName": "Product", "description": "Product for this BOM", "required": true, "multiple": false, "targetEntities": ["product"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "bom_component", "displayName": "BOM Component", "description": "Individual component in a bill of materials", "propertyCount": 4, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Component ID", "description": "Unique identifier for the component", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "quantity", "displayName": "Quantity", "description": "Required quantity of the component", "type": "number", "required": true, "semantics": [] }, { "name": "position", "displayName": "Position", "description": "Position in the BOM hierarchy", "type": "number", "required": true, "semantics": [] }, { "name": "created_at", "displayName": "Created At", "description": "When the component was added", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "bom", "displayName": "BOM", "description": "BOM for this component", "required": true, "multiple": false, "targetEntities": ["bill_of_materials"], "semantics": [], "cardinality": "One-to-One" }, { "name": "component", "displayName": "Component", "description": "Component product", "required": true, "multiple": false, "targetEntities": ["product"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "InventoryManagement", "displayName": "Inventory Management", "description": "Stock levels, warehouses, and inventory tracking", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Inventory", "displayName": "Inventory Management", "description": "Inventory tracking and stock management", "entityCount": 2, "entities": [{ "name": "warehouse", "displayName": "Warehouse", "description": "Storage facility and location", "propertyCount": 7, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Warehouse ID", "description": "Unique identifier for the warehouse", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Warehouse name and location", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Warehouse description and features", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "warehouse_type", "displayName": "Warehouse Type", "description": "Type of warehouse facility", "type": "string", "required": true, "semantics": [], "enumValues": ["production", "distribution", "raw_materials", "finished_goods"] }, { "name": "address", "displayName": "Address", "description": "Warehouse physical address", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Warehouse Status", "description": "Current status of the warehouse", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "maintenance"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the warehouse was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "inventory_item", "displayName": "Inventory Item", "description": "Stock item with quantity and location", "propertyCount": 8, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Inventory ID", "description": "Unique identifier for the inventory item", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "quantity", "displayName": "Quantity", "description": "Current stock quantity", "type": "number", "required": true, "semantics": [] }, { "name": "minimum_stock", "displayName": "Minimum Stock", "description": "Minimum stock level for reorder", "type": "number", "required": true, "semantics": [] }, { "name": "maximum_stock", "displayName": "Maximum Stock", "description": "Maximum stock level", "type": "number", "required": true, "semantics": [] }, { "name": "location", "displayName": "Location", "description": "Storage location within warehouse", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Stock Status", "description": "Current status of the inventory item", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["available", "reserved", "quarantine", "expired"], "defaultValue": "available" }, { "name": "created_at", "displayName": "Created At", "description": "When the inventory item was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the inventory item was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [{ "name": "product", "displayName": "Product", "description": "Product for this inventory item", "required": true, "multiple": false, "targetEntities": ["product"], "semantics": [], "cardinality": "One-to-One" }, { "name": "warehouse", "displayName": "Warehouse", "description": "Warehouse for this inventory item", "required": true, "multiple": false, "targetEntities": ["warehouse"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "ProductionPlanning", "displayName": "Production Planning", "description": "Work orders, scheduling, and production capacity", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Production", "displayName": "Production Management", "description": "Production planning and work order management", "entityCount": 2, "entities": [{ "name": "work_order", "displayName": "Work Order", "description": "Production work order with scheduling and routing", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Work Order ID", "description": "Unique identifier for the work order", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Work order name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "order_quantity", "displayName": "Order Quantity", "description": "Quantity to be produced", "type": "number", "required": true, "semantics": [] }, { "name": "start_date", "displayName": "Start Date", "description": "Planned start date", "type": "date", "required": true, "semantics": [] }, { "name": "due_date", "displayName": "Due Date", "description": "Planned completion date", "type": "date", "required": true, "semantics": [] }, { "name": "priority", "displayName": "Priority", "description": "Work order priority level", "type": "string", "required": true, "semantics": [], "enumValues": ["low", "medium", "high", "urgent"] }, { "name": "status", "displayName": "Work Order Status", "description": "Current status of the work order", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["planned", "in_progress", "completed", "cancelled"], "defaultValue": "planned" }, { "name": "created_at", "displayName": "Created At", "description": "When the work order was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "product", "displayName": "Product", "description": "Product to be manufactured", "required": true, "multiple": false, "targetEntities": ["product"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "production_step", "displayName": "Production Step", "description": "Individual step in the production process", "propertyCount": 6, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Step ID", "description": "Unique identifier for the production step", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Step name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "sequence", "displayName": "Sequence", "description": "Step sequence number", "type": "number", "required": true, "semantics": [] }, { "name": "estimated_duration", "displayName": "Estimated Duration", "description": "Estimated time in minutes", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Step Status", "description": "Current status of the production step", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "in_progress", "completed", "skipped"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the production step was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "work_order", "displayName": "Work Order", "description": "Work order for this step", "required": true, "multiple": false, "targetEntities": ["work_order"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "QualityControl", "displayName": "Quality Control", "description": "Inspections, testing, and compliance tracking", "modelCount": 1, "entityCount": 1, "models": [{ "name": "Quality", "displayName": "Quality Management", "description": "Quality control and inspection processes", "entityCount": 1, "entities": [{ "name": "quality_inspection", "displayName": "Quality Inspection", "description": "Quality inspection and testing records", "propertyCount": 9, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Inspection ID", "description": "Unique identifier for the quality inspection", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Inspection name and description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "inspection_type", "displayName": "Inspection Type", "description": "Type of quality inspection", "type": "string", "required": true, "semantics": [], "enumValues": ["incoming", "in_process", "final", "audit"] }, { "name": "inspector", "displayName": "Inspector", "description": "Name of the inspector", "type": "string", "required": true, "semantics": [] }, { "name": "inspection_date", "displayName": "Inspection Date", "description": "Date of the inspection", "type": "date", "required": true, "semantics": [] }, { "name": "sample_size", "displayName": "Sample Size", "description": "Number of items inspected", "type": "number", "required": true, "semantics": [] }, { "name": "defects_found", "displayName": "Defects Found", "description": "Number of defects found", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Inspection Status", "description": "Current status of the quality inspection", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["pending", "in_progress", "passed", "failed"], "defaultValue": "pending" }, { "name": "created_at", "displayName": "Created At", "description": "When the inspection was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "product", "displayName": "Product", "description": "Product being inspected", "required": true, "multiple": false, "targetEntities": ["product"], "semantics": [], "cardinality": "One-to-One" }, { "name": "work_order", "displayName": "Work Order", "description": "Work order for this inspection", "required": false, "multiple": false, "targetEntities": ["work_order"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "EquipmentManagement", "displayName": "Equipment Management", "description": "Machinery, maintenance, and calibration tracking", "modelCount": 1, "entityCount": 2, "models": [{ "name": "Equipment", "displayName": "Equipment Management", "description": "Equipment and machinery management", "entityCount": 2, "entities": [{ "name": "equipment", "displayName": "Equipment", "description": "Manufacturing equipment and machinery", "propertyCount": 10, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Equipment ID", "description": "Unique identifier for the equipment", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Equipment name and model", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Equipment description and specifications", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "equipment_type", "displayName": "Equipment Type", "description": "Type of manufacturing equipment", "type": "string", "required": true, "semantics": [], "enumValues": ["machine_tool", "conveyor", "robot", "furnace", "press", "other"] }, { "name": "serial_number", "displayName": "Serial Number", "description": "Equipment serial number", "type": "string", "required": true, "unique": true, "semantics": [] }, { "name": "manufacturer", "displayName": "Manufacturer", "description": "Equipment manufacturer", "type": "string", "required": true, "semantics": [] }, { "name": "installation_date", "displayName": "Installation Date", "description": "Date equipment was installed", "type": "date", "required": true, "semantics": [] }, { "name": "status", "displayName": "Equipment Status", "description": "Current status of the equipment", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["operational", "maintenance", "broken", "retired"], "defaultValue": "operational" }, { "name": "created_at", "displayName": "Created At", "description": "When the equipment was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the equipment was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "maintenance_record", "displayName": "Maintenance Record", "description": "Equipment maintenance and calibration records", "propertyCount": 8, "associationCount": 1, "properties": [{ "name": "id", "displayName": "Maintenance ID", "description": "Unique identifier for the maintenance record", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Maintenance description and work performed", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "maintenance_type", "displayName": "Maintenance Type", "description": "Type of maintenance performed", "type": "string", "required": true, "semantics": [], "enumValues": ["preventive", "corrective", "calibration", "inspection"] }, { "name": "technician", "displayName": "Technician", "description": "Name of the maintenance technician", "type": "string", "required": true, "semantics": [] }, { "name": "maintenance_date", "displayName": "Maintenance Date", "description": "Date of maintenance", "type": "date", "required": true, "semantics": [] }, { "name": "duration_hours", "displayName": "Duration Hours", "description": "Maintenance duration in hours", "type": "number", "required": true, "semantics": [] }, { "name": "status", "displayName": "Maintenance Status", "description": "Current status of the maintenance", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["scheduled", "in_progress", "completed", "cancelled"], "defaultValue": "scheduled" }, { "name": "created_at", "displayName": "Created At", "description": "When the maintenance record was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "equipment", "displayName": "Equipment", "description": "Equipment for this maintenance", "required": true, "multiple": false, "targetEntities": ["equipment"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }, { "name": "SupplyChain", "displayName": "Supply Chain", "description": "Suppliers, procurement, and logistics management", "modelCount": 1, "entityCount": 3, "models": [{ "name": "SupplyChain", "displayName": "Supply Chain Management", "description": "Supplier and procurement management", "entityCount": 3, "entities": [{ "name": "supplier", "displayName": "Supplier", "description": "Material and component suppliers", "propertyCount": 10, "associationCount": 0, "properties": [{ "name": "id", "displayName": "Supplier ID", "description": "Unique identifier for the supplier", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Supplier name and company", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "description", "displayName": "Description", "description": "Supplier description and capabilities", "type": "string", "semantics": ["Semantic#Description"] }, { "name": "email", "displayName": "Email Address", "description": "Supplier email address", "type": "string", "required": true, "semantics": ["Semantic#Email"] }, { "name": "phone", "displayName": "Phone Number", "description": "Supplier phone number", "type": "string", "semantics": ["Semantic#Phone"] }, { "name": "supplier_type", "displayName": "Supplier Type", "description": "Type of supplier", "type": "string", "required": true, "semantics": [], "enumValues": ["raw_materials", "components", "services", "equipment"] }, { "name": "address", "displayName": "Address", "description": "Supplier address", "type": "string", "required": true, "semantics": [] }, { "name": "status", "displayName": "Supplier Status", "description": "Current status of the supplier", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["active", "inactive", "suspended"], "defaultValue": "active" }, { "name": "created_at", "displayName": "Created At", "description": "When the supplier was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }, { "name": "updated_at", "displayName": "Updated At", "description": "When the supplier was last updated", "type": "datetime", "readOnly": true, "semantics": ["Semantic#UpdatedTimestamp"] }], "associations": [], "semantics": [] }, { "name": "purchase_order", "displayName": "Purchase Order", "description": "Purchase orders for materials and components", "propertyCount": 7, "associationCount": 1, "properties": [{ "name": "id", "displayName": "PO ID", "description": "Unique identifier for the purchase order", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "name", "displayName": "Name", "description": "Purchase order description", "type": "string", "semantics": ["Semantic#Title"] }, { "name": "order_date", "displayName": "Order Date", "description": "Date the order was placed", "type": "date", "required": true, "semantics": [] }, { "name": "expected_delivery", "displayName": "Expected Delivery", "description": "Expected delivery date", "type": "date", "required": true, "semantics": [] }, { "name": "total_amount", "displayName": "Total Amount", "description": "Total purchase order amount", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "status", "displayName": "PO Status", "description": "Current status of the purchase order", "type": "string", "required": true, "semantics": ["Semantic#Status"], "enumValues": ["draft", "sent", "confirmed", "received", "cancelled"], "defaultValue": "draft" }, { "name": "created_at", "displayName": "Created At", "description": "When the purchase order was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "supplier", "displayName": "Supplier", "description": "Supplier for this purchase order", "required": true, "multiple": false, "targetEntities": ["supplier"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }, { "name": "purchase_order_item", "displayName": "Purchase Order Item", "description": "Individual items in a purchase order", "propertyCount": 5, "associationCount": 2, "properties": [{ "name": "id", "displayName": "Item ID", "description": "Unique identifier for the purchase order item", "type": "string", "primary": true, "readOnly": true, "semantics": [] }, { "name": "quantity", "displayName": "Quantity", "description": "Ordered quantity", "type": "number", "required": true, "semantics": [] }, { "name": "unit_price", "displayName": "Unit Price", "description": "Unit price for the item", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "total_price", "displayName": "Total Price", "description": "Total price for this item", "type": "number", "required": true, "semantics": ["Semantic#Currency"] }, { "name": "created_at", "displayName": "Created At", "description": "When the purchase order item was created", "type": "datetime", "readOnly": true, "semantics": ["Semantic#CreatedTimestamp"] }], "associations": [{ "name": "purchase_order", "displayName": "Purchase Order", "description": "Purchase order for this item", "required": true, "multiple": false, "targetEntities": ["purchase_order"], "semantics": [], "cardinality": "One-to-One" }, { "name": "product", "displayName": "Product", "description": "Product for this purchase order item", "required": true, "multiple": false, "targetEntities": ["product"], "semantics": [], "cardinality": "One-to-One" }], "semantics": [] }] }] }] } }
|