@api-client/core 0.18.55 → 0.18.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/modeling/Semantics.js +1 -1
- package/build/src/modeling/Semantics.js.map +1 -1
- package/build/src/modeling/helpers/Intelisense.d.ts +1 -0
- package/build/src/modeling/helpers/Intelisense.d.ts.map +1 -1
- package/build/src/modeling/helpers/Intelisense.js +23 -0
- package/build/src/modeling/helpers/Intelisense.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/data/models/example-generator-api.json +15 -15
- package/package.json +2 -7
- package/src/modeling/Semantics.ts +1 -1
- package/src/modeling/helpers/Intelisense.ts +23 -0
- package/tests/unit/modeling/helpers/intellisense.spec.ts +46 -0
- package/build/src/modeling/templates/index.d.ts +0 -21
- package/build/src/modeling/templates/index.d.ts.map +0 -1
- package/build/src/modeling/templates/index.js +0 -176
- package/build/src/modeling/templates/index.js.map +0 -1
- package/build/src/modeling/templates/meta/blog-publishing-platform.json +0 -1
- package/build/src/modeling/templates/meta/ecommerce-platform.json +0 -1
- package/build/src/modeling/templates/meta/education-management-platform.json +0 -1
- package/build/src/modeling/templates/meta/financial-services-platform.json +0 -1
- package/build/src/modeling/templates/meta/gaming-platform.json +0 -1
- package/build/src/modeling/templates/meta/healthcare-management-platform.json +0 -1
- package/build/src/modeling/templates/meta/hospitality-platform.json +0 -1
- package/build/src/modeling/templates/meta/index.d.ts +0 -64
- package/build/src/modeling/templates/meta/index.d.ts.map +0 -1
- package/build/src/modeling/templates/meta/index.js +0 -150
- package/build/src/modeling/templates/meta/index.js.map +0 -1
- package/build/src/modeling/templates/meta/iot-smart-home-platform.json +0 -1
- package/build/src/modeling/templates/meta/legal-services-platform.json +0 -1
- package/build/src/modeling/templates/meta/manufacturing-platform.json +0 -1
- package/build/src/modeling/templates/meta/non-profit-platform.json +0 -1
- package/build/src/modeling/templates/meta/real-estate-management-platform.json +0 -1
- package/build/src/modeling/templates/template-registry.d.ts +0 -55
- package/build/src/modeling/templates/template-registry.d.ts.map +0 -1
- package/build/src/modeling/templates/template-registry.js +0 -111
- package/build/src/modeling/templates/template-registry.js.map +0 -1
- package/build/src/modeling/templates/types.d.ts +0 -167
- package/build/src/modeling/templates/types.d.ts.map +0 -1
- package/build/src/modeling/templates/types.js +0 -2
- package/build/src/modeling/templates/types.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.d.ts +0 -39
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.js +0 -672
- package/build/src/modeling/templates/verticals/business-services/ecommerce-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js +0 -942
- package/build/src/modeling/templates/verticals/business-services/financial-services-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts +0 -45
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js +0 -797
- package/build/src/modeling/templates/verticals/business-services/hospitality-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/index.d.ts +0 -21
- package/build/src/modeling/templates/verticals/business-services/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/index.js +0 -50
- package/build/src/modeling/templates/verticals/business-services/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts +0 -46
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js +0 -837
- package/build/src/modeling/templates/verticals/business-services/legal-services-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/education-training/education-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/education-domain.js +0 -725
- package/build/src/modeling/templates/verticals/education-training/education-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/education-training/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/education-training/index.js +0 -21
- package/build/src/modeling/templates/verticals/education-training/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js +0 -859
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js +0 -21
- package/build/src/modeling/templates/verticals/healthcare-life-sciences/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/index.d.ts +0 -79
- package/build/src/modeling/templates/verticals/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/index.js +0 -186
- package/build/src/modeling/templates/verticals/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js +0 -22
- package/build/src/modeling/templates/verticals/manufacturing-logistics/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts +0 -45
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js +0 -710
- package/build/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/public-sector/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/index.js +0 -22
- package/build/src/modeling/templates/verticals/public-sector/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts +0 -47
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js +0 -864
- package/build/src/modeling/templates/verticals/public-sector/non-profit-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts +0 -18
- package/build/src/modeling/templates/verticals/real-estate-construction/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/index.js +0 -21
- package/build/src/modeling/templates/verticals/real-estate-construction/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js +0 -727
- package/build/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.d.ts +0 -40
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.js +0 -629
- package/build/src/modeling/templates/verticals/technology-media/blog-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts +0 -46
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js +0 -1033
- package/build/src/modeling/templates/verticals/technology-media/gaming-domain.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/index.d.ts +0 -21
- package/build/src/modeling/templates/verticals/technology-media/index.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/index.js +0 -42
- package/build/src/modeling/templates/verticals/technology-media/index.js.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts +0 -47
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.d.ts.map +0 -1
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js +0 -1029
- package/build/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.js.map +0 -1
- package/src/modeling/templates/meta/blog-publishing-platform.json +0 -1
- package/src/modeling/templates/meta/ecommerce-platform.json +0 -1
- package/src/modeling/templates/meta/education-management-platform.json +0 -1
- package/src/modeling/templates/meta/financial-services-platform.json +0 -1
- package/src/modeling/templates/meta/gaming-platform.json +0 -1
- package/src/modeling/templates/meta/healthcare-management-platform.json +0 -1
- package/src/modeling/templates/meta/hospitality-platform.json +0 -1
- package/src/modeling/templates/meta/iot-smart-home-platform.json +0 -1
- package/src/modeling/templates/meta/legal-services-platform.json +0 -1
- package/src/modeling/templates/meta/manufacturing-platform.json +0 -1
- package/src/modeling/templates/meta/non-profit-platform.json +0 -1
- package/src/modeling/templates/meta/real-estate-management-platform.json +0 -1
- package/src/modeling/templates/readme.md +0 -260
- package/src/modeling/templates/template-registry.ts +0 -140
- package/src/modeling/templates/types.ts +0 -175
- package/src/modeling/templates/verticals/README.md +0 -122
- package/src/modeling/templates/verticals/business-services/ecommerce-domain.ts +0 -844
- package/src/modeling/templates/verticals/business-services/financial-services-domain.ts +0 -1177
- package/src/modeling/templates/verticals/business-services/hospitality-domain.ts +0 -994
- package/src/modeling/templates/verticals/business-services/legal-services-domain.ts +0 -1059
- package/src/modeling/templates/verticals/education-training/education-domain.ts +0 -922
- package/src/modeling/templates/verticals/healthcare-life-sciences/healthcare-domain.ts +0 -1111
- package/src/modeling/templates/verticals/manufacturing-logistics/manufacturing-domain.ts +0 -895
- package/src/modeling/templates/verticals/public-sector/non-profit-domain.ts +0 -1109
- package/src/modeling/templates/verticals/real-estate-construction/real-estate-domain.ts +0 -944
- package/src/modeling/templates/verticals/technology-media/blog-domain.ts +0 -796
- package/src/modeling/templates/verticals/technology-media/gaming-domain.ts +0 -1290
- package/src/modeling/templates/verticals/technology-media/iot-smart-home-domain.ts +0 -1289
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { getAllTemplates, getTemplate, getTemplatesByTag, getTemplatesByCategory, searchTemplates, getTemplateStats, } from './meta/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Registry of all available domain templates with their metadata.
|
|
4
|
-
* This provides a central location for UI components to discover and present templates.
|
|
5
|
-
*
|
|
6
|
-
* The templates are pre-processed at build time using the generate-template-metadata.js script
|
|
7
|
-
* to avoid loading and processing all templates on the client side.
|
|
8
|
-
*/
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
10
|
-
export class TemplateRegistry {
|
|
11
|
-
/**
|
|
12
|
-
* Gets all available templates
|
|
13
|
-
*/
|
|
14
|
-
static getAllTemplates() {
|
|
15
|
-
return getAllTemplates();
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Gets a template by its ID
|
|
19
|
-
*/
|
|
20
|
-
static getTemplate(id) {
|
|
21
|
-
return getTemplate(id);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Gets templates filtered by tags
|
|
25
|
-
*/
|
|
26
|
-
static getTemplatesByTag(tag) {
|
|
27
|
-
return getTemplatesByTag(tag);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Gets templates filtered by category (based on tags)
|
|
31
|
-
*/
|
|
32
|
-
static getTemplatesByCategory(category) {
|
|
33
|
-
return getTemplatesByCategory(category);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Gets templates filtered by industry vertical
|
|
37
|
-
*/
|
|
38
|
-
static getTemplatesByVertical(vertical) {
|
|
39
|
-
// This would need to be implemented in the meta/index.js
|
|
40
|
-
return getAllTemplates().filter((template) => template.tags?.some((tag) => tag.toLowerCase().includes(vertical.toLowerCase())));
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Gets all available industry verticals
|
|
44
|
-
*/
|
|
45
|
-
static getIndustryVerticals() {
|
|
46
|
-
return [
|
|
47
|
-
{
|
|
48
|
-
id: 'business-services',
|
|
49
|
-
name: 'Business Services',
|
|
50
|
-
description: 'E-commerce, Financial Services, Legal Services',
|
|
51
|
-
subcategories: ['E-commerce', 'Financial Services', 'Legal Services'],
|
|
52
|
-
templateCount: 4,
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
id: 'healthcare-life-sciences',
|
|
56
|
-
name: 'Healthcare & Life Sciences',
|
|
57
|
-
description: 'Healthcare, Pharmaceutical, Research',
|
|
58
|
-
subcategories: ['Healthcare', 'Pharmaceutical', 'Research'],
|
|
59
|
-
templateCount: 1,
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
id: 'education-training',
|
|
63
|
-
name: 'Education & Training',
|
|
64
|
-
description: 'Education, Corporate Training, Certification',
|
|
65
|
-
subcategories: ['Education', 'Corporate Training', 'Certification'],
|
|
66
|
-
templateCount: 1,
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
id: 'real-estate-construction',
|
|
70
|
-
name: 'Real Estate & Construction',
|
|
71
|
-
description: 'Real Estate, Construction, Property Management',
|
|
72
|
-
subcategories: ['Real Estate', 'Construction', 'Property Management'],
|
|
73
|
-
templateCount: 1,
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
id: 'manufacturing-logistics',
|
|
77
|
-
name: 'Manufacturing & Logistics',
|
|
78
|
-
description: 'Manufacturing, Supply Chain, Distribution',
|
|
79
|
-
subcategories: ['Manufacturing', 'Supply Chain', 'Distribution'],
|
|
80
|
-
templateCount: 1,
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
id: 'technology-media',
|
|
84
|
-
name: 'Technology & Media',
|
|
85
|
-
description: 'Gaming, IoT, Content Management, Social Media',
|
|
86
|
-
subcategories: ['Gaming', 'IoT', 'Content Management', 'Social Media'],
|
|
87
|
-
templateCount: 3,
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
id: 'public-sector',
|
|
91
|
-
name: 'Public Sector',
|
|
92
|
-
description: 'Government, Non-Profit, Healthcare',
|
|
93
|
-
subcategories: ['Government', 'Non-Profit', 'Healthcare'],
|
|
94
|
-
templateCount: 1,
|
|
95
|
-
},
|
|
96
|
-
];
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Searches templates by name or description
|
|
100
|
-
*/
|
|
101
|
-
static searchTemplates(query) {
|
|
102
|
-
return searchTemplates(query);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Gets template statistics for analytics
|
|
106
|
-
*/
|
|
107
|
-
static getTemplateStats() {
|
|
108
|
-
return getTemplateStats();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=template-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-registry.js","sourceRoot":"","sources":["../../../../src/modeling/templates/template-registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DomainTemplate } from './types.js'\nimport {\n getAllTemplates,\n getTemplate,\n getTemplatesByTag,\n getTemplatesByCategory,\n searchTemplates,\n getTemplateStats,\n} from './meta/index.js'\n\n/**\n * Registry of all available domain templates with their metadata.\n * This provides a central location for UI components to discover and present templates.\n *\n * The templates are pre-processed at build time using the generate-template-metadata.js script\n * to avoid loading and processing all templates on the client side.\n */\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class TemplateRegistry {\n /**\n * Gets all available templates\n */\n static getAllTemplates(): DomainTemplate[] {\n return getAllTemplates()\n }\n\n /**\n * Gets a template by its ID\n */\n static getTemplate(id: string): DomainTemplate | undefined {\n return getTemplate(id)\n }\n\n /**\n * Gets templates filtered by tags\n */\n static getTemplatesByTag(tag: string): DomainTemplate[] {\n return getTemplatesByTag(tag)\n }\n\n /**\n * Gets templates filtered by category (based on tags)\n */\n static getTemplatesByCategory(category: 'business' | 'content' | 'social' | 'technical'): DomainTemplate[] {\n return getTemplatesByCategory(category)\n }\n\n /**\n * Gets templates filtered by industry vertical\n */\n static getTemplatesByVertical(vertical: string): DomainTemplate[] {\n // This would need to be implemented in the meta/index.js\n return getAllTemplates().filter((template) =>\n template.tags?.some((tag) => tag.toLowerCase().includes(vertical.toLowerCase()))\n )\n }\n\n /**\n * Gets all available industry verticals\n */\n static getIndustryVerticals(): {\n id: string\n name: string\n description: string\n subcategories: string[]\n templateCount: number\n }[] {\n return [\n {\n id: 'business-services',\n name: 'Business Services',\n description: 'E-commerce, Financial Services, Legal Services',\n subcategories: ['E-commerce', 'Financial Services', 'Legal Services'],\n templateCount: 4,\n },\n {\n id: 'healthcare-life-sciences',\n name: 'Healthcare & Life Sciences',\n description: 'Healthcare, Pharmaceutical, Research',\n subcategories: ['Healthcare', 'Pharmaceutical', 'Research'],\n templateCount: 1,\n },\n {\n id: 'education-training',\n name: 'Education & Training',\n description: 'Education, Corporate Training, Certification',\n subcategories: ['Education', 'Corporate Training', 'Certification'],\n templateCount: 1,\n },\n {\n id: 'real-estate-construction',\n name: 'Real Estate & Construction',\n description: 'Real Estate, Construction, Property Management',\n subcategories: ['Real Estate', 'Construction', 'Property Management'],\n templateCount: 1,\n },\n {\n id: 'manufacturing-logistics',\n name: 'Manufacturing & Logistics',\n description: 'Manufacturing, Supply Chain, Distribution',\n subcategories: ['Manufacturing', 'Supply Chain', 'Distribution'],\n templateCount: 1,\n },\n {\n id: 'technology-media',\n name: 'Technology & Media',\n description: 'Gaming, IoT, Content Management, Social Media',\n subcategories: ['Gaming', 'IoT', 'Content Management', 'Social Media'],\n templateCount: 3,\n },\n {\n id: 'public-sector',\n name: 'Public Sector',\n description: 'Government, Non-Profit, Healthcare',\n subcategories: ['Government', 'Non-Profit', 'Healthcare'],\n templateCount: 1,\n },\n ]\n }\n\n /**\n * Searches templates by name or description\n */\n static searchTemplates(query: string): DomainTemplate[] {\n return searchTemplates(query)\n }\n\n /**\n * Gets template statistics for analytics\n */\n static getTemplateStats(): {\n totalTemplates: number\n totalEntities: number\n totalProperties: number\n totalAssociations: number\n categoryCounts: Record<string, number>\n } {\n return getTemplateStats()\n }\n}\n"]}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import type { DataDomain } from '../DataDomain.js';
|
|
2
|
-
export interface CreateTemplateOptions {
|
|
3
|
-
/**
|
|
4
|
-
* The DataDomain instance to use for the template.
|
|
5
|
-
* If not provided, a new DataDomain instance will be created.
|
|
6
|
-
*/
|
|
7
|
-
domain?: DataDomain;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Template metadata for UI presentation
|
|
11
|
-
*/
|
|
12
|
-
export interface DomainTemplate {
|
|
13
|
-
/** Unique identifier for the template */
|
|
14
|
-
id: string;
|
|
15
|
-
/** Display name of the template */
|
|
16
|
-
name: string;
|
|
17
|
-
/** Short description of what the template does (plain text, no HTML/markdown) */
|
|
18
|
-
description: string;
|
|
19
|
-
/** When the template was created (ISO string) */
|
|
20
|
-
createdAt: string;
|
|
21
|
-
/** When the template was last updated (ISO string) */
|
|
22
|
-
updatedAt: string;
|
|
23
|
-
/** Template version */
|
|
24
|
-
version: string;
|
|
25
|
-
/** Author information */
|
|
26
|
-
author: string;
|
|
27
|
-
/** Template categorization tags */
|
|
28
|
-
tags: string[];
|
|
29
|
-
/** Detailed domain structure for UI presentation */
|
|
30
|
-
structure: DomainTemplateStructure;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Detailed domain structure information for UI presentation
|
|
34
|
-
*/
|
|
35
|
-
export interface DomainTemplateStructure {
|
|
36
|
-
/** Domain information */
|
|
37
|
-
domain: DomainInfo;
|
|
38
|
-
/** List of namespaces in the domain */
|
|
39
|
-
namespaces: NamespaceInfo[];
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Domain-level information
|
|
43
|
-
*/
|
|
44
|
-
export interface DomainInfo {
|
|
45
|
-
/** Domain name */
|
|
46
|
-
name: string;
|
|
47
|
-
/** Domain description */
|
|
48
|
-
description?: string;
|
|
49
|
-
/** Total number of entities across all namespaces */
|
|
50
|
-
totalEntities: number;
|
|
51
|
-
/** Total number of properties across all entities */
|
|
52
|
-
totalProperties: number;
|
|
53
|
-
/** Total number of associations across all entities */
|
|
54
|
-
totalAssociations: number;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Namespace-level information
|
|
58
|
-
*/
|
|
59
|
-
export interface NamespaceInfo {
|
|
60
|
-
/** Namespace name */
|
|
61
|
-
name: string;
|
|
62
|
-
/** Namespace display name */
|
|
63
|
-
displayName?: string;
|
|
64
|
-
/** Namespace description */
|
|
65
|
-
description?: string;
|
|
66
|
-
/** Number of models in this namespace */
|
|
67
|
-
modelCount: number;
|
|
68
|
-
/** Number of entities in this namespace */
|
|
69
|
-
entityCount: number;
|
|
70
|
-
/** List of models in this namespace */
|
|
71
|
-
models: ModelInfo[];
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Model-level information
|
|
75
|
-
*/
|
|
76
|
-
export interface ModelInfo {
|
|
77
|
-
/** Model name */
|
|
78
|
-
name: string;
|
|
79
|
-
/** Model display name */
|
|
80
|
-
displayName?: string;
|
|
81
|
-
/** Model description */
|
|
82
|
-
description?: string;
|
|
83
|
-
/** Number of entities in this model */
|
|
84
|
-
entityCount: number;
|
|
85
|
-
/** List of entities in this model */
|
|
86
|
-
entities: EntityInfo[];
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Entity-level information for UI presentation
|
|
90
|
-
*/
|
|
91
|
-
export interface EntityInfo {
|
|
92
|
-
/** Entity name */
|
|
93
|
-
name: string;
|
|
94
|
-
/** Entity display name */
|
|
95
|
-
displayName?: string;
|
|
96
|
-
/** Entity description */
|
|
97
|
-
description?: string;
|
|
98
|
-
/** Number of properties */
|
|
99
|
-
propertyCount: number;
|
|
100
|
-
/** Number of associations */
|
|
101
|
-
associationCount: number;
|
|
102
|
-
/** Whether this entity is deprecated */
|
|
103
|
-
deprecated?: boolean;
|
|
104
|
-
/** List of properties for this entity */
|
|
105
|
-
properties: PropertyInfo[];
|
|
106
|
-
/** List of associations for this entity */
|
|
107
|
-
associations: AssociationInfo[];
|
|
108
|
-
/** Applied semantic types */
|
|
109
|
-
semantics: string[];
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Property-level information for UI presentation
|
|
113
|
-
*/
|
|
114
|
-
export interface PropertyInfo {
|
|
115
|
-
/** Property name */
|
|
116
|
-
name: string;
|
|
117
|
-
/** Property display name */
|
|
118
|
-
displayName?: string;
|
|
119
|
-
/** Property description */
|
|
120
|
-
description?: string;
|
|
121
|
-
/** Data type (string, number, boolean, etc.) */
|
|
122
|
-
type: string;
|
|
123
|
-
/** Whether this property is required */
|
|
124
|
-
required?: boolean;
|
|
125
|
-
/** Whether this property allows multiple values */
|
|
126
|
-
multiple?: boolean;
|
|
127
|
-
/** Whether this property is a primary key */
|
|
128
|
-
primary?: boolean;
|
|
129
|
-
/** Whether this property is unique */
|
|
130
|
-
unique?: boolean;
|
|
131
|
-
/** Whether this property is read-only */
|
|
132
|
-
readOnly?: boolean;
|
|
133
|
-
/** Whether this property is write-only */
|
|
134
|
-
writeOnly?: boolean;
|
|
135
|
-
/** Whether this property is deprecated */
|
|
136
|
-
deprecated?: boolean;
|
|
137
|
-
/** Applied semantic types */
|
|
138
|
-
semantics: string[];
|
|
139
|
-
/** Enum values if applicable */
|
|
140
|
-
enumValues?: string[];
|
|
141
|
-
/** Default value if specified */
|
|
142
|
-
defaultValue?: string;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Association-level information for UI presentation
|
|
146
|
-
*/
|
|
147
|
-
export interface AssociationInfo {
|
|
148
|
-
/** Association name */
|
|
149
|
-
name: string;
|
|
150
|
-
/** Association display name */
|
|
151
|
-
displayName?: string;
|
|
152
|
-
/** Association description */
|
|
153
|
-
description?: string;
|
|
154
|
-
/** Whether this association is required */
|
|
155
|
-
required?: boolean;
|
|
156
|
-
/** Whether this association allows multiple targets */
|
|
157
|
-
multiple?: boolean;
|
|
158
|
-
/** Whether this association is read-only */
|
|
159
|
-
readOnly?: boolean;
|
|
160
|
-
/** Target entity names this association points to */
|
|
161
|
-
targetEntities: string[];
|
|
162
|
-
/** Applied semantic types */
|
|
163
|
-
semantics: string[];
|
|
164
|
-
/** Relationship cardinality description (e.g., "One-to-Many", "Many-to-Many") */
|
|
165
|
-
cardinality: string;
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modeling/templates/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/modeling/templates/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { DataDomain } from '../DataDomain.js'\n\nexport interface CreateTemplateOptions {\n /**\n * The DataDomain instance to use for the template.\n * If not provided, a new DataDomain instance will be created.\n */\n domain?: DataDomain\n}\n\n/**\n * Template metadata for UI presentation\n */\nexport interface DomainTemplate {\n /** Unique identifier for the template */\n id: string\n /** Display name of the template */\n name: string\n /** Short description of what the template does (plain text, no HTML/markdown) */\n description: string\n /** When the template was created (ISO string) */\n createdAt: string\n /** When the template was last updated (ISO string) */\n updatedAt: string\n /** Template version */\n version: string\n /** Author information */\n author: string\n /** Template categorization tags */\n tags: string[]\n /** Detailed domain structure for UI presentation */\n structure: DomainTemplateStructure\n}\n\n/**\n * Detailed domain structure information for UI presentation\n */\nexport interface DomainTemplateStructure {\n /** Domain information */\n domain: DomainInfo\n /** List of namespaces in the domain */\n namespaces: NamespaceInfo[]\n}\n\n/**\n * Domain-level information\n */\nexport interface DomainInfo {\n /** Domain name */\n name: string\n /** Domain description */\n description?: string\n /** Total number of entities across all namespaces */\n totalEntities: number\n /** Total number of properties across all entities */\n totalProperties: number\n /** Total number of associations across all entities */\n totalAssociations: number\n}\n\n/**\n * Namespace-level information\n */\nexport interface NamespaceInfo {\n /** Namespace name */\n name: string\n /** Namespace display name */\n displayName?: string\n /** Namespace description */\n description?: string\n /** Number of models in this namespace */\n modelCount: number\n /** Number of entities in this namespace */\n entityCount: number\n /** List of models in this namespace */\n models: ModelInfo[]\n}\n\n/**\n * Model-level information\n */\nexport interface ModelInfo {\n /** Model name */\n name: string\n /** Model display name */\n displayName?: string\n /** Model description */\n description?: string\n /** Number of entities in this model */\n entityCount: number\n /** List of entities in this model */\n entities: EntityInfo[]\n}\n\n/**\n * Entity-level information for UI presentation\n */\nexport interface EntityInfo {\n /** Entity name */\n name: string\n /** Entity display name */\n displayName?: string\n /** Entity description */\n description?: string\n /** Number of properties */\n propertyCount: number\n /** Number of associations */\n associationCount: number\n /** Whether this entity is deprecated */\n deprecated?: boolean\n /** List of properties for this entity */\n properties: PropertyInfo[]\n /** List of associations for this entity */\n associations: AssociationInfo[]\n /** Applied semantic types */\n semantics: string[]\n}\n\n/**\n * Property-level information for UI presentation\n */\nexport interface PropertyInfo {\n /** Property name */\n name: string\n /** Property display name */\n displayName?: string\n /** Property description */\n description?: string\n /** Data type (string, number, boolean, etc.) */\n type: string\n /** Whether this property is required */\n required?: boolean\n /** Whether this property allows multiple values */\n multiple?: boolean\n /** Whether this property is a primary key */\n primary?: boolean\n /** Whether this property is unique */\n unique?: boolean\n /** Whether this property is read-only */\n readOnly?: boolean\n /** Whether this property is write-only */\n writeOnly?: boolean\n /** Whether this property is deprecated */\n deprecated?: boolean\n /** Applied semantic types */\n semantics: string[]\n /** Enum values if applicable */\n enumValues?: string[]\n /** Default value if specified */\n defaultValue?: string\n}\n\n/**\n * Association-level information for UI presentation\n */\nexport interface AssociationInfo {\n /** Association name */\n name: string\n /** Association display name */\n displayName?: string\n /** Association description */\n description?: string\n /** Whether this association is required */\n required?: boolean\n /** Whether this association allows multiple targets */\n multiple?: boolean\n /** Whether this association is read-only */\n readOnly?: boolean\n /** Target entity names this association points to */\n targetEntities: string[]\n /** Applied semantic types */\n semantics: string[]\n /** Relationship cardinality description (e.g., \"One-to-Many\", \"Many-to-Many\") */\n cardinality: string\n}\n"]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* E-Commerce Data Domain Example
|
|
3
|
-
*
|
|
4
|
-
* This file demonstrates how to create a comprehensive e-commerce data domain
|
|
5
|
-
* using the API Client Core modeling system. It follows the business-first approach
|
|
6
|
-
* and demonstrates proper use of namespaces, models, entities, properties,
|
|
7
|
-
* associations, and semantic annotations.
|
|
8
|
-
*
|
|
9
|
-
* The example includes:
|
|
10
|
-
* - User Management domain with proper authentication setup
|
|
11
|
-
* - Product Catalog with categories and inventory
|
|
12
|
-
* - Order Management with cart functionality and payment processing
|
|
13
|
-
* - Proper semantic annotations for security, timestamps, and business logic
|
|
14
|
-
* - Realistic associations between entities with proper cardinality
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* import { createEcommerceDomain } from './ecommerce-domain.js'
|
|
19
|
-
*
|
|
20
|
-
* const domain = createEcommerceDomain()
|
|
21
|
-
* console.log('Domain created with', domain.graph.nodeCount(), 'nodes')
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
import { DataDomain } from '../../../DataDomain.js';
|
|
25
|
-
import type { CreateTemplateOptions } from '../../types.js';
|
|
26
|
-
/**
|
|
27
|
-
* Creates a comprehensive e-commerce data domain following domain-driven design principles.
|
|
28
|
-
*
|
|
29
|
-
* This function demonstrates the proper hierarchy and organization for a business domain:
|
|
30
|
-
* 1. Creates the root DataDomain
|
|
31
|
-
* 2. Organizes functionality into logical namespaces (User Management, Product Catalog, etc.)
|
|
32
|
-
* 3. Groups related entities into models within each namespace
|
|
33
|
-
* 4. Defines entities with proper semantic annotations
|
|
34
|
-
* 5. Establishes associations with appropriate cardinality and business rules
|
|
35
|
-
*
|
|
36
|
-
* @returns A fully configured DataDomain with all e-commerce entities and relationships
|
|
37
|
-
*/
|
|
38
|
-
export default function createEcommerceDomain(options?: CreateTemplateOptions): DataDomain;
|
|
39
|
-
//# sourceMappingURL=ecommerce-domain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ecommerce-domain.d.ts","sourceRoot":"","sources":["../../../../../../src/modeling/templates/verticals/business-services/ecommerce-domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAgCnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAa3D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,OAAO,GAAE,qBAA0B,GAAG,UAAU,CA0vB7F"}
|