From 8543647cbc90d95779abef4cdded54a15b12a47a Mon Sep 17 00:00:00 2001 From: Joe-Dowd Date: Thu, 19 Mar 2020 23:32:18 +0000 Subject: [PATCH] added youtube util and cors middleware --- index.js | 25 +++---------------------- src/middleware/cors.js | 5 +++++ src/routes/submitSponsorTimes.js | 1 + src/routes/voteOnSponsorTime.js | 1 + src/utils/youtubeAPI.js | 7 +++++++ 5 files changed, 17 insertions(+), 22 deletions(-) create mode 100644 src/middleware/cors.js create mode 100644 src/utils/youtubeAPI.js diff --git a/index.js b/index.js index e88f988..fe7742a 100644 --- a/index.js +++ b/index.js @@ -4,14 +4,10 @@ var http = require('http'); // Create a service (the app object is just a callback). var app = express(); - let config = JSON.parse(fs.readFileSync('config.json')); - -// Utils -var getHash = require('./src/utils/getHash.js'); -var getIP = require('./src/utils/getIP.js'); -var getFormattedTime = require('./src/utils/getFormattedTime.js'); +// Routes +var corsMiddleware = require('./src/routes/corsMiddleware.js'); // Routes var getVideoSponsorTimes = require('./src/routes/getVideoSponsorTimes.js'); @@ -35,26 +31,11 @@ YouTubeAPI.authenticate({ key: config.youtubeAPIKey }); -var Sqlite3 = require('better-sqlite3'); - -let options = { - readonly: config.readOnly -}; - -//load database -var db = new Sqlite3(config.db, options); -//where the more sensitive data such as IP addresses are stored -var privateDB = new Sqlite3(config.privateDB, options); - // Create an HTTP service. http.createServer(app).listen(config.port); //setup CORS correctly -app.use(function(req, res, next) { - res.header("Access-Control-Allow-Origin", "*"); - res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); - next(); -}); +app.use(corsMiddleware); //add the get function app.get('/api/getVideoSponsorTimes', getVideoSponsorTimes); diff --git a/src/middleware/cors.js b/src/middleware/cors.js new file mode 100644 index 0000000..490d230 --- /dev/null +++ b/src/middleware/cors.js @@ -0,0 +1,5 @@ +module.exports = function corsMiddleware(req, res, next) { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); + next(); +} \ No newline at end of file diff --git a/src/routes/submitSponsorTimes.js b/src/routes/submitSponsorTimes.js index 84ce219..1841e79 100644 --- a/src/routes/submitSponsorTimes.js +++ b/src/routes/submitSponsorTimes.js @@ -4,6 +4,7 @@ var config = JSON.parse(fs.readFileSync('config.json')); var databases = require('../databases/databases.js'); var db = databases.db; var privateDB = databases.privateDB; +var YouTubeAPI = require('../utils/youtubeAPI.js'); var getHash = require('../utils/getHash.js'); var getIP = require('../utils/getIP.js'); diff --git a/src/routes/voteOnSponsorTime.js b/src/routes/voteOnSponsorTime.js index ee8f36e..8f81ee7 100644 --- a/src/routes/voteOnSponsorTime.js +++ b/src/routes/voteOnSponsorTime.js @@ -7,6 +7,7 @@ var getIP = require('../utils/getIP.js'); var databases = require('../databases/databases.js'); var db = databases.db; var privateDB = databases.privateDB; +var YouTubeAPI = require('../utils/youtubeAPI.js'); module.exports = async function voteOnSponsorTime(req, res) { let UUID = req.query.UUID; diff --git a/src/utils/youtubeAPI.js b/src/utils/youtubeAPI.js new file mode 100644 index 0000000..2f11b64 --- /dev/null +++ b/src/utils/youtubeAPI.js @@ -0,0 +1,7 @@ +// YouTube API +const YouTubeAPI = require("youtube-api"); +YouTubeAPI.authenticate({ + type: "key", + key: config.youtubeAPIKey +}); +module.exports = YouTubeAPI; \ No newline at end of file