UNPKG

web3.db-fileconnector

Version:

GraphQL System Built on web3 technologies. Web3.DB is an open database built on top of web3 technologies. It is a decentralized, open-source database that allows users to store and query data in a secure and efficient manner. The system is designed to be

68 lines (58 loc) 1.82 kB
import fs from "fs"; import path from "path"; /** Will enable the selected preset */ export async function enablePreset(type, slot) { console.log("Enter enablePreset for type: " + type + " / and slot: " + slot); let db; if (slot) { console.log( "global.indexingService.databases[slot]:", global.indexingService.databases[slot] ); db = global.indexingService.databases[slot]; } else { console.log( "global.indexingService.database:", global.indexingService.database ); db = global.indexingService.database; } // Check if db is defined before proceeding if (!db) { console.log("Database not found for slot:", slot); return; } try { // Load the preset JSON file const presetFilePath = path.resolve( `./server/presets/definitions/${type}.json` ); if (!fs.existsSync(presetFilePath)) { console.log(`Preset file not found: ${presetFilePath}`); return; } const presetData = JSON.parse(fs.readFileSync(presetFilePath, "utf-8")); // Execute preset models and views if (presetData.models && Array.isArray(presetData.models)) { for (const model of presetData.models) { try { await db.indexModel(model); } catch (error) { console.log(`Error indexing model: ${error.message}`); } } } if (presetData.views && Array.isArray(presetData.views)) { for (const view of presetData.views) { try { await db.query(view.query); } catch (error) { console.log(`Error executing view query: ${error.message}`); } } } } catch (error) { console.log(`Error enabling preset ${type}: ${error.message}`); } return; }