const fs = require('fs'); async function addNewShow(showData) { let shows = JSON.parse(fs.readFileSync('shows.json')) let exist = false for (let show of shows) { if (show.Name == showData.showName) { exist = true } } if (exist) { log.error(showData.showName + ' Already exists in list and not added') } else { shows.push({ "Name": showData.showName, "Quality": showData.quality }) try { fs.writeFileSync('shows.json', JSON.stringify(shows)); log.info(showData.showName + ' Added to the list, checking for ' + showData.quality + 'p') } catch (err) { console.error(err); } } } async function removeShow(showData) { let shows = JSON.parse(fs.readFileSync('shows.json')) myArray = shows.filter(function (obj) { return obj.Name !== showData.showName; }); shows = myArray try { fs.writeFileSync('shows.json', JSON.stringify(shows)); log.info(showData.showName + ' Removed from tracking list.') } catch (err) { console.error(err); } } async function editShow(showData) { let shows = JSON.parse(fs.readFileSync('shows.json')) for (let index = 0; index < shows.length; index++) { const element = shows[index]; if (element.Name == showData.showName) { shows[index] = { "Name": showData.showName, "Quality": showData.quality } } } try { fs.writeFileSync('shows.json', JSON.stringify(shows)); log.info(showData.showName + ' Quality modified to ' + showData.quality + 'p') } catch (err) { console.error(err); } } async function removeShowFromCache(showData) { let shows = JSON.parse(fs.readFileSync('./cache/retryCache.json')) myArray = shows.filter(function (obj) { return obj.title !== showData; }); shows = myArray try { fs.writeFileSync('./cache/retryCache.json', JSON.stringify(shows)); log.info(showData + ' Removed from retry cache.') } catch (err) { console.error(err); } } module.exports = { addNewShow, removeShow, editShow, removeShowFromCache }