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