From 74598733bcc7b39b8a9b6521195545c543e38850 Mon Sep 17 00:00:00 2001 From: o5pxels Date: Sat, 10 Apr 2021 22:22:51 -0500 Subject: Complete implementation for check.js, complete scrape.js --- src/check.js | 52 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 46 insertions(+), 6 deletions(-) (limited to 'src/check.js') diff --git a/src/check.js b/src/check.js index c7085ca..0b52ece 100644 --- a/src/check.js +++ b/src/check.js @@ -1,18 +1,58 @@ const MongoClient = require('mongodb').MongoClient; + // This is for passing the parameters of the search to check and see if it already exists in the database // if it does exist, we're gonna call another function in another file. const scraper = require('./scraper/scrape') -exports.performCheck = async function performCheck(query, type) { - // if (!exist in database) { - await scraper.performSearch(query, type); - // } +exports.performCheck = async function performCheck(id, query, type) { + const uri = "mongodb+srv://user0:8HL0NBINt6B8mIYF@cluster0.kfyrm.mongodb.net/StreamFinder?retryWrites=true&w=majority"; + const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); + + var result; + await client.connect(); + const database = client.db("db"); + const tv = database.collection("tv"); + const movie = database.collection('movie') + const search = { id: `${id}` }; + // check to see if the title is already in the database + switch (type) { + case 'tv': + result = await tv.findOne(search); + break; + case 'movie': + result = await movie.findOne(search); + break; + } + if (result == null) { + await scraper.performSearch(id, query, type) + } // (if it needed to be scraped, it now is, and its stored. next, we perform the database search for the newly saved entry) - performDatabaseSearch(query, type); + var array = await performDatabaseSearch(id, type); // returns values + await client.close(); + return array; } -async function performDatabaseSearch(query, type) { +async function performDatabaseSearch(id, type) { // do database search + const uri = "mongodb+srv://user0:8HL0NBINt6B8mIYF@cluster0.kfyrm.mongodb.net/StreamFinder?retryWrites=true&w=majority"; + const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); + var result; + await client.connect(); + const database = client.db("db"); + const tv = database.collection("tv"); + const movie = database.collection('movie') + const search = { id: `${id}` }; + // check to see if the title is already in the database + switch (type) { + case 'tv': + result = await tv.findOne(search) + break; + case 'movie': + result = await movie.findOne(search) + break; + } + client.close() + return [result.service, result.price] } \ No newline at end of file -- cgit v1.2.3