@objectstack/metadata 4.0.3 → 4.0.4
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/dist/index.cjs +30 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +30 -11
- package/dist/index.js.map +1 -1
- package/dist/node.cjs +30 -11
- package/dist/node.cjs.map +1 -1
- package/dist/node.js +30 -11
- package/dist/node.js.map +1 -1
- package/package.json +4 -4
package/dist/node.cjs
CHANGED
|
@@ -2608,21 +2608,40 @@ var MetadataPlugin = class {
|
|
|
2608
2608
|
totalItems: totalLoaded,
|
|
2609
2609
|
registeredTypes: sortedTypes.length
|
|
2610
2610
|
});
|
|
2611
|
+
let driverBridged = false;
|
|
2611
2612
|
try {
|
|
2612
|
-
const
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2613
|
+
const ql = ctx.getService("objectql");
|
|
2614
|
+
if (ql) {
|
|
2615
|
+
const tableName = this.manager["config"]?.tableName ?? "sys_metadata";
|
|
2616
|
+
const driver = ql.getDriverForObject?.(tableName);
|
|
2617
|
+
if (driver) {
|
|
2618
|
+
ctx.logger.info("[MetadataPlugin] Bridging driver to MetadataManager via ObjectQL routing", {
|
|
2619
|
+
tableName,
|
|
2620
|
+
driver: driver.name
|
|
2617
2621
|
});
|
|
2618
|
-
this.manager.setDatabaseDriver(
|
|
2619
|
-
|
|
2622
|
+
this.manager.setDatabaseDriver(driver);
|
|
2623
|
+
driverBridged = true;
|
|
2624
|
+
} else {
|
|
2625
|
+
ctx.logger.debug("[MetadataPlugin] ObjectQL could not resolve driver for metadata table", { tableName });
|
|
2620
2626
|
}
|
|
2621
2627
|
}
|
|
2622
|
-
} catch
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2628
|
+
} catch {
|
|
2629
|
+
}
|
|
2630
|
+
if (!driverBridged) {
|
|
2631
|
+
try {
|
|
2632
|
+
const services = ctx.getServices();
|
|
2633
|
+
for (const [serviceName, service] of services) {
|
|
2634
|
+
if (serviceName.startsWith("driver.") && service) {
|
|
2635
|
+
ctx.logger.info("[MetadataPlugin] Bridging driver to MetadataManager (fallback: first driver)", {
|
|
2636
|
+
driverService: serviceName
|
|
2637
|
+
});
|
|
2638
|
+
this.manager.setDatabaseDriver(service);
|
|
2639
|
+
break;
|
|
2640
|
+
}
|
|
2641
|
+
}
|
|
2642
|
+
} catch (e) {
|
|
2643
|
+
ctx.logger.debug("[MetadataPlugin] No driver service found", { error: e.message });
|
|
2644
|
+
}
|
|
2626
2645
|
}
|
|
2627
2646
|
try {
|
|
2628
2647
|
const realtimeService = ctx.getService("realtime");
|