synkrokonn-dev
Version:
Plugin-based cross-chain orchestration middleware for Web3 enterprise automation.
35 lines (34 loc) • 1.43 kB
JavaScript
import { FabricAdapter } from "../../adapters/fabric/FabricAdapter.js";
export class ServiceHandler {
async handle(object) {
console.log("[ServiceHandler] Handling service object:", object);
const { payload } = object;
if (!payload) {
console.warn("No payload provided in service object. Skipping.");
return;
}
const fabric = new FabricAdapter();
try {
await fabric.connect();
if (payload.assetId && !payload.action) {
// Read-only operation
const result = await fabric.query("ReadAsset", [payload.assetId]);
console.log("Fabric ReadAsset result:", result);
}
else if (payload.action === "create" && payload.assetId && payload.owner) {
// Future write support (uncomment once implemented in FabricAdapter)
// await fabric.submitTransaction("CreateAsset", [payload.assetId, payload.owner]);
console.log("Fabric CreateAsset logic would run here...");
}
else {
console.warn("Unrecognized payload pattern. Provide {assetId} or {action, assetId, owner}.");
}
}
catch (err) {
console.error("[ServiceHandler] Fabric interaction failed:", err.message);
}
finally {
await fabric.disconnect();
}
}
}