ApiLogicServer 15.0.27__py3-none-any.whl → 15.0.32__py3-none-any.whl
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.
- api_logic_server_cli/add_cust/add_cust.py +4 -4
- api_logic_server_cli/api_logic_server.py +20 -5
- api_logic_server_cli/api_logic_server_info.yaml +3 -3
- api_logic_server_cli/cli.py +62 -11
- api_logic_server_cli/cli_args_base.py +1 -1
- api_logic_server_cli/create_from_model/__pycache__/dbml.cpython-312.pyc +0 -0
- api_logic_server_cli/create_from_model/dbml.py +1 -1
- api_logic_server_cli/create_from_model/ont_create.py +6 -1
- api_logic_server_cli/database/mcp.sqlite +0 -0
- api_logic_server_cli/fragments/mcp_admin.yml +11 -0
- api_logic_server_cli/genai/genai_admin_app.py +76 -23
- api_logic_server_cli/genai/genai_mcp.py +43 -0
- api_logic_server_cli/genai/genai_svcs.py +16 -15
- api_logic_server_cli/logging.yml +16 -1
- api_logic_server_cli/manager.py +26 -2
- api_logic_server_cli/prototypes/base/config/default.env +3 -0
- api_logic_server_cli/prototypes/base/devops/docker-compose-dev-azure/azure-deploy.sh +3 -3
- api_logic_server_cli/prototypes/base/devops/docker-compose-dev-local/docker-compose.sh +1 -1
- api_logic_server_cli/prototypes/base/ui/admin/admin_loader.py +2 -0
- api_logic_server_cli/prototypes/basic_demo/README.md +1 -1
- api_logic_server_cli/prototypes/basic_demo/customizations/database/db.sqlite +0 -0
- api_logic_server_cli/prototypes/basic_demo/customizations/database/models.py +0 -16
- api_logic_server_cli/prototypes/basic_demo/customizations/ui/admin/admin.yaml +0 -11
- api_logic_server_cli/prototypes/basic_demo/iteration/database/db.sqlite +0 -0
- api_logic_server_cli/prototypes/basic_demo/iteration/ui/admin/admin.yaml +4 -4
- api_logic_server_cli/prototypes/manager/README.md +1 -1
- api_logic_server_cli/prototypes/manager/samples/dbs/readme_samples.md +3 -0
- api_logic_server_cli/prototypes/manager/samples/readme_samples.md +3 -0
- api_logic_server_cli/prototypes/manager/system/app_model_editor/devops/docker-compose-dev-azure/azure-deploy.sh +1 -1
- api_logic_server_cli/prototypes/manager/system/app_model_editor/devops/docker-compose-dev-local-nginx/docker-compose.sh +1 -1
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_docs_logic/devops/docker-compose-dev-azure/azure-deploy.sh +1 -1
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_docs_logic/devops/docker-compose-dev-local/docker-compose.sh +1 -1
- api_logic_server_cli/prototypes/nw/ui/.DS_Store +0 -0
- api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/.DS_Store +0 -0
- api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/README.md +0 -2
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/compile-errors.txt +324 -0
- api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/package-lock.json +24 -0
- api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/package.json +3 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/App.js +147 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Category.js +141 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Config.js +527 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Customer.js +193 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/CustomerDemographic.js +119 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Department.js +144 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Employee.js +213 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/EmployeeAudit.js +223 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/EmployeeTerritory.js +94 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Location.js +170 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Order.js +179 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/OrderDetail.js +201 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Product.js +226 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Region.js +104 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Shipper.js +120 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Supplier.js +143 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Territory.js +145 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/Union.js +119 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/app_loader.js +24 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/.eslintrc +5 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/.yarnrc.yml +4 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.js +25 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.ts +25 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/errors.js +116 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/errors.ts +116 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/index.test.tsx +7 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/index.tsx +11 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.js +577 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.ts +577 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.js +124 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.ts +124 -0
- api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/styles.module.css +9 -0
- api_logic_server_cli/prototypes/nw_no_cust/Tutorial.md +2 -2
- api_logic_server_cli/prototypes/sqlite/devops/docker-compose-dev-azure/azure-deploy.sh +1 -1
- api_logic_server_cli/{prototypes/basic_demo/customizations/logic/logic_discovery → templates}/mcp_client_executor_request.py +4 -2
- {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.32.dist-info}/METADATA +1 -1
- {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.32.dist-info}/RECORD +137 -120
- apilogicserver-15.0.32.dist-info/entry_points.txt +7 -0
- api_logic_server_cli/genai/genai_admin_app copy.py +0 -150
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-App-Resource-Learning-Prompt copy.md +0 -203
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/notes.md +0 -7
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/z-unused-Admin-App-Learning-Prompt.md +0 -179
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/App.js +0 -58
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Category.js +0 -82
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Customer.js +0 -211
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/CustomerDemographic.js +0 -57
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Department.js +0 -98
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Employee.js +0 -100
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeAudit.js +0 -106
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/EmployeeTerritory.js +0 -98
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Location.js +0 -87
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Order.js +0 -98
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/OrderDetail.js +0 -112
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Product.js +0 -103
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Region.js +0 -65
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Shipper.js +0 -67
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Supplier.js +0 -87
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Territory.js +0 -90
- api_logic_server_cli/prototypes/nw/ui/react_admin/src/Union.js +0 -61
- apilogicserver-15.0.27.dist-info/entry_points.txt +0 -3
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/.DS_Store +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/README.md +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/README_create_react_app.md +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/package-lock.json +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/package.json +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/favicon.ico +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/index.html +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/logo192.png +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/logo512.png +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/manifest.json +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/public/robots.txt +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/App.css +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/App.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/App.test.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Config-reference.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Config.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Customer-reference.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Customer.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Item.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Order.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/Product.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/SysEmail.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/SysMcp.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/app_loader.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/index.css +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/index.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/logo.svg +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/.eslintrc +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/.yarnrc.yml +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/default-settings.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/default-settings.ts +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/errors.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/errors.ts +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/index.test.tsx +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/index.tsx +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/ra-jsonapi-client.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/ra-jsonapi-client.ts +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/resourceLookup.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/resourceLookup.ts +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/rav4-jsonapi-client/styles.module.css +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/reportWebVitals.js +0 -0
- /api_logic_server_cli/prototypes/basic_demo/customizations/ui/{basic_demo_app → reference_react_app}/src/setupTests.js +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/README_create_react_app.md +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/favicon.ico +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/index.html +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/logo192.png +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/logo512.png +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/manifest.json +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/public/robots.txt +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/App.css +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/App.test.js +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/SampleDBVersion.js +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/dataProvider.js +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/index.css +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/index.js +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/logo.svg +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/reportWebVitals.js +0 -0
- /api_logic_server_cli/prototypes/nw/ui/{react_admin → reference_react_app}/src/setupTests.js +0 -0
- {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.32.dist-info}/WHEEL +0 -0
- {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.32.dist-info}/licenses/LICENSE +0 -0
- {apilogicserver-15.0.27.dist-info → apilogicserver-15.0.32.dist-info}/top_level.txt +0 -0
api_logic_server_cli/prototypes/nw/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.ts
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
interface Relationship {
|
|
2
|
+
data: null | { id: string; type: string } | Array<{ id: string; type: string }>;
|
|
3
|
+
relationships?: { [key: string]: Relationship };
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A map-like class that maps resource linkage objects {id: 1, type: "user"} to concrete resources with attributes and
|
|
8
|
+
* relationships
|
|
9
|
+
*/
|
|
10
|
+
export default class ResourceLookup {
|
|
11
|
+
lookup: Map<any, any>;
|
|
12
|
+
includes: string[];
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Constructs a new lookup map
|
|
16
|
+
* @param {Object} response A JSON API response, in JSON format
|
|
17
|
+
*/
|
|
18
|
+
constructor(response: any) {
|
|
19
|
+
this.lookup = new Map();
|
|
20
|
+
this.includes = [];
|
|
21
|
+
|
|
22
|
+
// If the response wasn't a JSON dictionary, we can't and don't need to build a lookup
|
|
23
|
+
if (typeof response !== 'object') return;
|
|
24
|
+
|
|
25
|
+
let resources;
|
|
26
|
+
// if (response.hasOwnProperty('included')) {
|
|
27
|
+
if (Object.prototype.hasOwnProperty.call(response, 'included')) {
|
|
28
|
+
resources = [...response.data, ...response.included];
|
|
29
|
+
} else {
|
|
30
|
+
resources = response.data;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Iterate over each resource returned and put each in the lookup
|
|
34
|
+
for (const entry of resources) {
|
|
35
|
+
const key = this.getKey(entry);
|
|
36
|
+
this.lookup.set(key, entry);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Calculates a hashable key for JSON API resources
|
|
42
|
+
* @param resource A resource linkage object
|
|
43
|
+
* @returns {string}
|
|
44
|
+
*/
|
|
45
|
+
getKey(resource: any) {
|
|
46
|
+
return `${resource.type}:${resource.id}`;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Looks up a resource
|
|
51
|
+
* @param resource A resource linkage object
|
|
52
|
+
* @returns {Object}
|
|
53
|
+
*/
|
|
54
|
+
get(resource: any) {
|
|
55
|
+
// If we don't have included data for this resource, just return the Resource Linkage object, since that's still
|
|
56
|
+
// useful
|
|
57
|
+
if (this.has(resource)) {
|
|
58
|
+
return this.lookup.get(this.getKey(resource));
|
|
59
|
+
} else {
|
|
60
|
+
return structuredClone(resource);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Returns true if the resource is in the lookup
|
|
66
|
+
* @param resource
|
|
67
|
+
* @returns {boolean}
|
|
68
|
+
*/
|
|
69
|
+
has(resource: any) {
|
|
70
|
+
return this.lookup.has(this.getKey(resource));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Converts a JSON API data object (with id, type, and attributes fields) into a flattened object
|
|
75
|
+
* @param {Object} response A JSON API data object
|
|
76
|
+
*/
|
|
77
|
+
unwrapData(response: any) {
|
|
78
|
+
// The base resource object, merge the attributes and the id/type fields
|
|
79
|
+
const result = Object.assign(
|
|
80
|
+
{
|
|
81
|
+
id: response?.id,
|
|
82
|
+
ja_type: response?.type,
|
|
83
|
+
type: response?.Type || response?.type,
|
|
84
|
+
attributes: response.attributes || {},
|
|
85
|
+
},
|
|
86
|
+
response.attributes
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
// Deal with relationships
|
|
90
|
+
if (Object.prototype.hasOwnProperty.call(response, 'relationships')) {
|
|
91
|
+
result.relationships = response.relationships;
|
|
92
|
+
for (const [relationshipName, relationship] of Object.entries(response.relationships)) {
|
|
93
|
+
if ((relationship as Relationship).data === null) {
|
|
94
|
+
result[relationshipName] = null;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (!(relationship as Relationship).data) {
|
|
98
|
+
continue;
|
|
99
|
+
} else if (Array.isArray((relationship as Relationship).data && (relationship as Relationship).data)) {
|
|
100
|
+
result[relationshipName] = (relationship as Relationship).data?.map((linkage: any) => {
|
|
101
|
+
const resource = this.get(linkage);
|
|
102
|
+
const lresult = structuredClone(this.unwrapData(resource));
|
|
103
|
+
Object.entries(lresult.attributes || {}).map(([key, value]) => {
|
|
104
|
+
lresult[key] = value;
|
|
105
|
+
});
|
|
106
|
+
result.relationships[relationshipName].data = result[relationshipName];
|
|
107
|
+
return lresult;
|
|
108
|
+
});
|
|
109
|
+
} else if ((relationship as Relationship).data?.id) {
|
|
110
|
+
const resource = this.get((relationship as Relationship).data);
|
|
111
|
+
result[relationshipName] = this.unwrapData(resource);
|
|
112
|
+
result.relationships[relationshipName].data = result[relationshipName];
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
try {
|
|
118
|
+
JSON.stringify(structuredClone(result));
|
|
119
|
+
} catch (e) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
return structuredClone(result);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -135,8 +135,8 @@ To apply customizations, in a terminal window for your project:
|
|
|
135
135
|
**2. Apply Customizations:** in the terminal window of your IDE:
|
|
136
136
|
|
|
137
137
|
```bash
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
genai-logic add-cust
|
|
139
|
+
genai-logic add-auth --db_url=auth # version 10.3.14 or greater
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
**3. Restart the server, login as `admin`**
|
|
@@ -57,7 +57,7 @@ echo " "
|
|
|
57
57
|
if [ ! -f "./database/authentication_models.py" ]
|
|
58
58
|
then
|
|
59
59
|
echo "\nYou need to activate security first. With mysql-container running...\n"
|
|
60
|
-
echo "
|
|
60
|
+
echo "genai-logic add-auth --project_name=. --db_url=mysql+pymysql://root:p@localhost:3306/authdb"
|
|
61
61
|
echo "\nRebuild your image"
|
|
62
62
|
echo "\nThen, stop mysql-container\n"
|
|
63
63
|
exit 1
|
|
@@ -10,6 +10,8 @@ import requests
|
|
|
10
10
|
from logic_bank.logic_bank import Rule
|
|
11
11
|
from logic_bank.exec_row_logic.logic_row import LogicRow
|
|
12
12
|
from database import models
|
|
13
|
+
from database.mcp_models import SysMcp as SysMcp # type: ignore
|
|
14
|
+
from sqlalchemy import Column, Integer, String, DECIMAL, Boolean
|
|
13
15
|
from logic_bank.util import ConstraintException
|
|
14
16
|
import integration.mcp.mcp_client_executor as mcp_client_executor
|
|
15
17
|
|
|
@@ -27,7 +29,7 @@ def declare_logic():
|
|
|
27
29
|
"""
|
|
28
30
|
|
|
29
31
|
|
|
30
|
-
def mcp_client_executor_event(row:
|
|
32
|
+
def mcp_client_executor_event(row: SysMcp, old_row: SysMcp, logic_row: LogicRow):
|
|
31
33
|
"""
|
|
32
34
|
|
|
33
35
|
#als: create an MCP request. See https://apilogicserver.github.io/Docs/Integration-MCP/
|
|
@@ -45,4 +47,4 @@ def declare_logic():
|
|
|
45
47
|
result = mcp_client_executor.mcp_client_executor(row.request)
|
|
46
48
|
pass
|
|
47
49
|
|
|
48
|
-
Rule.row_event(on_class=
|
|
50
|
+
Rule.row_event(on_class=SysMcp, calling=mcp_client_executor_event) # see above
|