import { insertDocument, getDocuments, connectToDatabase } from "./mongoHandler.mjs"; const collectionName = 'nodes'; // Wrapper for inserting a node export const createNode = async (node) => { try { const insertedId = await insertDocument(collectionName, node); return insertedId; } catch (error) { console.error('Error creating node:', error); throw error; } }; // Wrapper for retrieving all nodes export const getAllNodes = async () => { try { const nodes = await getDocuments(collectionName); return nodes; } catch (error) { console.error('Error getting all nodes:', error); throw error; } }; // Wrapper for retrieving a node by NUID export const getNodeByNuid = async (nuid) => { const db = await connectToDatabase(); try { const collection = db.db().collection(collectionName); const node = await collection.findOne({ nuid }); return node; } catch (error) { console.error('Error getting node by NUID:', error); throw error; } finally { // Close the connection await db.close(); } }; // Wrapper for updating a node by NUID export const updateNodeByNuid = async (nuid, updatedFields) => { const db = await connectToDatabase(); try { const collection = db.db().collection(collectionName); const result = await collection.updateOne({ nuid }, { $set: updatedFields }); console.log('Node updated:', result.modifiedCount); return result.modifiedCount; } catch (error) { console.error('Error updating node by NUID:', error); throw error; } finally { // Close the connection await db.close(); } }; // Wrapper for deleting a node by NUID export const deleteNodeByNuid = async (nuid) => { const db = await connectToDatabase(); try { const collection = db.db().collection(collectionName); const result = await collection.deleteOne({ nuid }); console.log('Node deleted:', result.deletedCount); return result.deletedCount; } catch (error) { console.error('Error deleting node by NUID:', error); throw error; } finally { // Close the connection await db.close(); } };