From 9d55c7d4b98e5c4e4e7d59bba50890078a92a968 Mon Sep 17 00:00:00 2001 From: Fred Boniface Date: Thu, 5 Jan 2023 21:18:54 +0000 Subject: [PATCH] DBAccess updates --- app.js | 2 +- src/services/dbAccess.services.js | 15 ++++++++++++++- src/utils/dbinit.utils.js | 4 +++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app.js b/app.js index d64e507..4436eb0 100644 --- a/app.js +++ b/app.js @@ -55,7 +55,7 @@ app.use('/api/v1/kube', kubeRtr); // Start Express app.listen(srvPort, srvListen, (error) =>{ if(!error) { - log.out(`Server: Started on http://${srvListen}:${srvPort}`); + log.out(`Server: Listening on http://${srvListen}:${srvPort}`); log.out("State: alive") } else { log.out("Error occurred, server can't start", error); diff --git a/src/services/dbAccess.services.js b/src/services/dbAccess.services.js index ace2325..af42f28 100644 --- a/src/services/dbAccess.services.js +++ b/src/services/dbAccess.services.js @@ -12,9 +12,21 @@ const { MongoClient } = require('mongodb'); const client = new MongoClient(uri); const db = client.db(dbName); +async function dropCollection(coll){ + log.out(`DbAccess: Removing Existing ${coll} data`) + await client.connect(); + + try { + db.dropCollection(coll); + log.out(`DbAccess: Collection ${coll} dropped`) + } catch (error) { + log.out(`DbAccess: Error deleting collection ${coll}`) + log.out(error) + } +} async function putCorpus(data){ - log.out("DbAccess: Uploading Corpus data to database") + log.out("DbAccess: Uploading CORPUS data to database") await client.connect(); var coll = db.collection("corpus"); try { @@ -63,6 +75,7 @@ async function query(collection, query){ module.exports = { putCorpus, putStations, + dropCollection, putMeta, query } \ No newline at end of file diff --git a/src/utils/dbinit.utils.js b/src/utils/dbinit.utils.js index 451561f..cc2a292 100644 --- a/src/utils/dbinit.utils.js +++ b/src/utils/dbinit.utils.js @@ -19,7 +19,7 @@ async function check(){ let meta = await dbAccess.query('meta',test); log.out(`DbInit: Reading Database Collection: meta`); } catch (error) {log.out(error)} - if (false){ + if (true){ log.out("DbInit: Database structure not initialised") build("all") } @@ -29,11 +29,13 @@ async function build(db){ // `db` must be one of: `corpus`, `stations`, `all`. log.out("DbInit: Building database structure") var corpusAll = await corpus.get(); if (db === "corpus" || "all") { + await dbAccess.dropCollection("corpus"); dbAccess.putCorpus(corpusAll); meta = [{collection:"any",updated:Math.floor(Date.now() / 1000)}]; dbAccess.putMeta(meta); } if (db === "stations" || "all") { + await dbAccess.dropCollection("stations"); var corpusSubset = await corpus.subset(corpusAll); dbAccess.putStations(corpusSubset); meta = [{collection:"any",updated:Math.floor(Date.now() / 1000)}];