|
@@ -204,8 +204,8 @@ async function SubmitWrapper(req, res) {
|
|
|
// TODO
|
|
|
// May extract logic for dupe check in the future.
|
|
|
|
|
|
- db.execute(("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = '?' and artist = '?' and kind = ?"), [await converters2t.convertPromise(req.body.name), await converters2t.convertPromise(req.body.artist), req.body.kind], async (err, rowsT) => {
|
|
|
- db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = '?' and artist = '?' and kind = ?", [await convertert2s.convertPromise(req.body.name), await convertert2s.convertPromise(req.body.artist), req.body.kind], (err, rowsS) => {
|
|
|
+ db.execute(("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?"), [await converters2t.convertPromise(req.body.name), await converters2t.convertPromise(req.body.artist), req.body.kind], async (err, rowsT) => {
|
|
|
+ db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?", [await convertert2s.convertPromise(req.body.name), await convertert2s.convertPromise(req.body.artist), req.body.kind], (err, rowsS) => {
|
|
|
let dedupe = [];
|
|
|
rowsT.forEach(row => {
|
|
|
dedupe = dedupe.concat(row);
|
|
@@ -215,7 +215,6 @@ async function SubmitWrapper(req, res) {
|
|
|
dedupe = dedupe.concat(row);
|
|
|
}
|
|
|
})
|
|
|
- console.log(dedupe);
|
|
|
if (dedupe.length === 0) {
|
|
|
// Verify
|
|
|
if (req.body.file.substring(0, 5) !== "data:") {
|
|
@@ -314,16 +313,8 @@ app.options('/submit', function (req, res) {
|
|
|
app.post('/search_api', async function (req, res) {
|
|
|
|
|
|
|
|
|
- db.execute(`SELECT uuid, song_name, album_name, artist, kind
|
|
|
- FROM instrunet_entry
|
|
|
- WHERE song_name like '%${await converters2t.convertPromise(req.body.searchStr)}%'
|
|
|
- or album_name like '%${await converters2t.convertPromise(req.body.searchStr)}%'
|
|
|
- or artist like '%${await converters2t.convertPromise(req.body.searchStr)}%'`, async (err, rowsT) => {
|
|
|
- db.execute(`SELECT uuid, song_name, album_name, artist, kind
|
|
|
- FROM instrunet_entry
|
|
|
- WHERE song_name like '%${await convertert2s.convertPromise(req.body.searchStr)}%'
|
|
|
- or album_name like '%${await convertert2s.convertPromise(req.body.searchStr)}%'
|
|
|
- or artist like '%${await convertert2s.convertPromise(req.body.searchStr)}%'`, (err, rowsS) => {
|
|
|
+ db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name like ? or album_name like ? or artist like ?", [`%${await converters2t.convertPromise(req.body.searchStr)}%`, `%${await converters2t.convertPromise(req.body.searchStr)}%`, `%${await converters2t.convertPromise(req.body.searchStr)}%`], async (err, rowsT) => {
|
|
|
+ db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name like ? or album_name like ? or artist like ?", [`%${await convertert2s.convertPromise(req.body.searchStr)}%`, `%${await convertert2s.convertPromise(req.body.searchStr)}%`, `%${await convertert2s.convertPromise(req.body.searchStr)}%`], (err, rowsS) => {
|
|
|
try {
|
|
|
let prepare = [];
|
|
|
rowsT.forEach(row => {
|
|
@@ -356,9 +347,7 @@ app.get("/getSingle", function (req, res) {
|
|
|
let uuid = crypto.randomUUID()
|
|
|
|
|
|
if (req.query.id) {
|
|
|
- db.execute(`SELECT song_name, album_name, artist, kind, albumcover
|
|
|
- FROM instrunet_entry
|
|
|
- WHERE uuid = "${req.query.id}"`, async function (err, rows) {
|
|
|
+ db.execute("SELECT song_name, album_name, artist, kind, albumcover FROM instrunet_entry WHERE uuid = ?", [req.query.id], async function (err, rows) {
|
|
|
if (err) {
|
|
|
console.log(err);
|
|
|
}
|
|
@@ -459,9 +448,10 @@ app.get("/favicon.ico", function (req, res) {
|
|
|
res.end("");
|
|
|
})
|
|
|
let availCache = {};
|
|
|
-setInterval(() => {
|
|
|
- availCache = {};
|
|
|
-}, 1800000)
|
|
|
+
|
|
|
+// setInterval(() => {
|
|
|
+// availCache = {};
|
|
|
+// }, 1800000)
|
|
|
|
|
|
// Fetch
|
|
|
app.get('/:uuid', function (req, res) {
|
|
@@ -470,17 +460,18 @@ app.get('/:uuid', function (req, res) {
|
|
|
|
|
|
function Provider(err, rows) {
|
|
|
try {
|
|
|
+ availCache[uuid] = rows[0]
|
|
|
res.contentType("audio/mp3");
|
|
|
res.header("Access-Control-Allow-Origin", "*");
|
|
|
res.header("Access-Control-Allow-Headers", "Content-Type");
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
- res.header('Content-Disposition', `attachment; filename="${encodeURI(rows[0].song_name)}"`);
|
|
|
+ res.header('Content-Disposition', `attachment; filename="${encodeURI(availCache[uuid].song_name)}.mp3"`);
|
|
|
/** @type {ArrayBuffer}*/
|
|
|
- availCache[uuid] = rows[0].databinary
|
|
|
- res.sendSeekable(availCache[uuid])
|
|
|
+ res.sendSeekable(availCache[uuid].databinary)
|
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
+ res.contentType("text/plain");
|
|
|
+ res.status(500).header("Access-Control-Allow-Origin", "*").end("Err.");
|
|
|
console.log(e)
|
|
|
console.log("Triggered err");
|
|
|
|
|
@@ -488,22 +479,17 @@ app.get('/:uuid', function (req, res) {
|
|
|
}
|
|
|
|
|
|
if (availCache[uuid] !== undefined) {
|
|
|
- db.execute(`SELECT song_name
|
|
|
- FROM instrunet_entry
|
|
|
- WHERE uuid = '${uuid}'`, (err, rows) => {
|
|
|
- res.contentType("audio/mp3");
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
- res.header("Access-Control-Allow-Headers", "Content-Type");
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
- res.header('Content-Disposition', `attachment; filename="${encodeURI(rows[0].song_name)}"`);
|
|
|
- res.sendSeekable(availCache[uuid])
|
|
|
- })
|
|
|
+ res.contentType("audio/mp3");
|
|
|
+ res.header("Access-Control-Allow-Origin", "*");
|
|
|
+ res.header("Access-Control-Allow-Headers", "Content-Type");
|
|
|
+ res.header("Access-Control-Allow-Origin", "*");
|
|
|
+ res.header('Content-Disposition', `attachment; filename="${encodeURI(availCache[uuid].song_name)}.mp3"`);
|
|
|
+ res.sendSeekable(availCache[uuid].databinary)
|
|
|
+
|
|
|
|
|
|
} else {
|
|
|
- db.execute(`SELECT song_name, databinary
|
|
|
- FROM instrunet_entry
|
|
|
- WHERE uuid = '${uuid}'`, Provider)
|
|
|
- db.unprepare()
|
|
|
+ db.execute("SELECT song_name, databinary FROM instrunet_entry WHERE uuid = ?", [uuid], Provider)
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|