From bd141eeda32682e03f9d4ada6197cc6631f6ddda Mon Sep 17 00:00:00 2001 From: Alexis Date: Sun, 22 Mar 2020 21:18:05 +0100 Subject: [PATCH] + [API] Added basic API to get all spells --- connection.js | 16 ---------------- database/connection.js | 36 ++++++++++++++++++++++++++++++++++++ index.js | 42 ++++++++++++++++++++++++------------------ 3 files changed, 60 insertions(+), 34 deletions(-) delete mode 100644 connection.js create mode 100644 database/connection.js diff --git a/connection.js b/connection.js deleted file mode 100644 index cdad73b..0000000 --- a/connection.js +++ /dev/null @@ -1,16 +0,0 @@ -// MODULES -const fs = require('fs'); -const mysql = require('mysql'); - -// Fetches and parses credentials file -let credentials_data = fs.readFileSync('./database/credentials.json'); -let credentials = JSON.parse(credentials_data); - -const db = mysql.createConnection({ - host: credentials.host, - user: credentials.user, - password: credentials.password, - database: credentials.database, -}) - -module.exports = { db } \ No newline at end of file diff --git a/database/connection.js b/database/connection.js new file mode 100644 index 0000000..b93681e --- /dev/null +++ b/database/connection.js @@ -0,0 +1,36 @@ +// MODULES +const fs = require('fs'); +const mysql = require('mysql'); + +// Fetches and parses credentials file +let credentials_data = fs.readFileSync('./database/credentials.json'); +let credentials = JSON.parse(credentials_data); + +const db = mysql.createConnection({ + host: credentials.host, + user: credentials.user, + password: credentials.password, + database: credentials.database, +}) + +const getSpells = () => { + return new Promise((resolve, reject) => { + let query = + "SELECT * " + + "FROM spell"; + + db.query(query, (err, result, fields) => { + if (err) { + return reject; + } + resolve(result); + }) + + }) +} + +const closeConnection = (err) => { + db.end(); +} + +module.exports = { db, getSpells, closeConnection } \ No newline at end of file diff --git a/index.js b/index.js index e2c5cce..4e8fbbe 100644 --- a/index.js +++ b/index.js @@ -1,26 +1,32 @@ // MODULES const express = require('express'); -let connection = require('./connection'); - const db = connection.db; - +const connection = require('./database/connection'); + const getSpells = connection.getSpells; + const closeConnection = connection.closeConnection; // CONSTANTS const port = 2814; - -const query = "SELECT * FROM spell"; - -// make to connection to the database. -db.connect( err => { - if (err) { throw err } - console.log("Connected"); - db.query(query, (err, result, fields) => { - console.log(result[0]); - }); -}); - +// APP app = express(); +const server = app.listen(port, () => {console.log(`App listening on port ${port}`)}); -app.listen(port, () => { - console.log(`App listening on port ${port}`) -}); \ No newline at end of file +// getSpells().then((v) => { +// console.log(v); +// }).catch(r => { +// console.log(r); +// }) + +app.route('/spells') + .get((req, res, next) => { + getSpells().then(v => { + res.setHeader('Content-Type', 'application/json'); + res.end(JSON.stringify({spells : v})); + }) + }) + +// On process exit +process.on('SIGINT', () => { + closeConnection(); + server.close(); +}) \ No newline at end of file