import newSqlQuery from '@/utils/functions/sqlQuery'; import { downloadStream, readStream } from '@/utils/functions/readStream'; const fs = require('fs'); /** * API ROUTE FOR VIEWING OR DOWNLOADING * A USERS SHAREX CONFIG BASED ON THEIR ID */ export default async function handler(req, res) { let user = req.query.userId; let method = req.query.method; let protocol = process.env.NODE_ENV === 'development' ? 'http://' : 'https://' let domain = process.env.NODE_ENV === 'development' ? 'localhost:3000' : req.headers.host const userData = await newSqlQuery({ query: `SELECT * FROM users WHERE folder="${user}"` }).then((u) => u); if (method == 'stream') { await readStream({ url: `${protocol}${domain}/api/upload`, user: `${user[0].userid}`, secret: `${user[0].secret}`, res: res }); setTimeout(async () => { res.end(); fs.unlink('./public/u/CordX.sxcu', function (err) { if (err) return console.log(`STREAM_ERROR: ${err.stack}`) }) }, 10000) } else if (method === 'download') { await downloadStream({ url: `${protocol}${domain}/api/upload`, user: `${user[0].userid}`, secret: `${user[0].secret}`, res: res }) setTimeout(async () => { res.end(); fs.unlink('./public/u/CordX.sxcu', function (err) { if (err) return console.log(`STREAM_ERROR: ${err.stack}`) }) }, 10000) } else if (!method) { return res.status(400).send({ message: 'Please provide a valid method query', status: 400 }) } }