|
@@ -302,79 +302,87 @@ async function SubmitWrapper(req, res) {
|
|
|
res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
|
|
|
return
|
|
|
}
|
|
|
- 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) => {
|
|
|
- // Feb 1 2025 I give up.
|
|
|
- let dedupe = [];
|
|
|
- rowsT.forEach(row => {
|
|
|
- dedupe = dedupe.concat(row);
|
|
|
- })
|
|
|
- rowsS.forEach(row => {
|
|
|
- if (JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) {
|
|
|
+ db.execute(("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?"), [req.body.name, req.body.artist, req.body.kind], async (err, rowsO) => {
|
|
|
+ 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) => {
|
|
|
+ // Feb 1 2025 I give up.
|
|
|
+ let dedupe = [];
|
|
|
+ rowsT.forEach(row => {
|
|
|
dedupe = dedupe.concat(row);
|
|
|
- }
|
|
|
- })
|
|
|
- if (dedupe.length === 0) {
|
|
|
- // Verify
|
|
|
- if (req.body.file.substring(0, 5) !== "data:") {
|
|
|
- res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
|
|
|
- return
|
|
|
- }
|
|
|
- for (const item of currentTask) {
|
|
|
- if (req.body.name === item.name) {
|
|
|
- if (req.body.albumName === item.albumName) {
|
|
|
- if (req.body.kind === item.kind) {
|
|
|
+ })
|
|
|
+ rowsS.forEach(row => {
|
|
|
+ if (JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) {
|
|
|
+ dedupe = dedupe.concat(row);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ rowsO.forEach(row => {
|
|
|
+ if(JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) {
|
|
|
+ dedupe = dedupe.concat(row);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (dedupe.length === 0) {
|
|
|
+ // Verify
|
|
|
+ if (req.body.file.substring(0, 5) !== "data:") {
|
|
|
+ res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for (const item of currentTask) {
|
|
|
+ if (req.body.name === item.name) {
|
|
|
+ if (req.body.albumName === item.albumName) {
|
|
|
+ if (req.body.kind === item.kind) {
|
|
|
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
- res.statusCode = 500
|
|
|
- res.end("和数据库中条目重复")
|
|
|
- return
|
|
|
+ res.header("Access-Control-Allow-Origin", "*");
|
|
|
+ res.statusCode = 500
|
|
|
+ res.end("和数据库中条目重复")
|
|
|
+ return
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- for (let prop of [req.body.name, req.body.albumName, req.body.artist]) {
|
|
|
- if (prop === undefined || prop === "" || prop === null) {
|
|
|
- res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
|
|
|
- return
|
|
|
+ for (let prop of [req.body.name, req.body.albumName, req.body.artist]) {
|
|
|
+ if (prop === undefined || prop === "" || prop === null) {
|
|
|
+ res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
- if (req.body.link === undefined) {
|
|
|
- req.body.link = ""
|
|
|
- }
|
|
|
|
|
|
+ if (req.body.link === undefined) {
|
|
|
+ req.body.link = ""
|
|
|
+ }
|
|
|
|
|
|
- queue.add(() => {
|
|
|
- Submit(req)
|
|
|
- })
|
|
|
- currentTask.push({
|
|
|
- name: req.body.name,
|
|
|
- albumName: req.body.albumName,
|
|
|
- kind: req.body.kind,
|
|
|
- artist: req.body.artist,
|
|
|
- email: req.body.email !== undefined ? req.body.email : null,
|
|
|
- })
|
|
|
|
|
|
- console.log(queue.contents)
|
|
|
- console.log(currentTask)
|
|
|
- if (currentTask.length === 1) {
|
|
|
- queue.next()
|
|
|
+ queue.add(() => {
|
|
|
+ Submit(req)
|
|
|
+ })
|
|
|
+ currentTask.push({
|
|
|
+ name: req.body.name,
|
|
|
+ albumName: req.body.albumName,
|
|
|
+ kind: req.body.kind,
|
|
|
+ artist: req.body.artist,
|
|
|
+ email: req.body.email !== undefined ? req.body.email : null,
|
|
|
+ })
|
|
|
+
|
|
|
+ console.log(queue.contents)
|
|
|
+ console.log(currentTask)
|
|
|
+ if (currentTask.length === 1) {
|
|
|
+ queue.next()
|
|
|
+ }
|
|
|
+ res.header("Access-Control-Allow-Origin", "*");
|
|
|
+ res.end("api_success")
|
|
|
+ } else {
|
|
|
+ res.header("Access-Control-Allow-Origin", "*");
|
|
|
+ res.statusCode = 500
|
|
|
+ res.end("和数据库中条目重复")
|
|
|
}
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
- res.end("api_success")
|
|
|
- } else {
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
- res.statusCode = 500
|
|
|
- res.end("和数据库中条目重复")
|
|
|
- }
|
|
|
|
|
|
+ })
|
|
|
})
|
|
|
})
|
|
|
|
|
|
|
|
|
+
|
|
|
}
|
|
|
|
|
|
app.post('/lyric', async (req, res) => {
|
|
@@ -414,39 +422,56 @@ 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 ? or album_name like ? or artist like ?", [`%${req.body.searchStr}%`, `%${req.body.searchStr}%`, `%${req.body.searchStr}%`], async(err, rowsO)=>{
|
|
|
+ if(err){
|
|
|
+ console.log(err)
|
|
|
+ }
|
|
|
+ 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) => {
|
|
|
+ if(err){
|
|
|
+ console.log(err)
|
|
|
+ }
|
|
|
+ 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) => {
|
|
|
+ if(err){
|
|
|
+ console.log(err)
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ let prepare = [];
|
|
|
|
|
|
- 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 => {
|
|
|
- prepare = prepare.concat(row);
|
|
|
- })
|
|
|
- rowsS.forEach(row => {
|
|
|
- if (JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) {
|
|
|
+ rowsT.forEach(row => {
|
|
|
prepare = prepare.concat(row);
|
|
|
+ })
|
|
|
+ rowsS.forEach(row => {
|
|
|
+ if (JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) {
|
|
|
+ prepare = prepare.concat(row);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ rowsO.forEach((row) => {
|
|
|
+ if(JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) {
|
|
|
+ prepare = prepare.concat(row);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ for (let obj of prepare) {
|
|
|
+ obj.stroke = obj.song_name[0].stroke() // Problematic as shit. Do not use.
|
|
|
+ obj.spell = obj.song_name.spell()
|
|
|
}
|
|
|
- })
|
|
|
- for (let obj of prepare) {
|
|
|
- obj.stroke = obj.song_name[0].stroke() // Problematic as shit. Do not use.
|
|
|
- obj.spell = obj.song_name.spell()
|
|
|
- }
|
|
|
- sortArray(prepare, {
|
|
|
- by: 'spell'
|
|
|
- })
|
|
|
+ sortArray(prepare, {
|
|
|
+ by: 'spell'
|
|
|
+ })
|
|
|
|
|
|
- res.header("Access-Control-Allow-Origin", "*");
|
|
|
+ res.header("Access-Control-Allow-Origin", "*");
|
|
|
|
|
|
- res.end(JSON.stringify(prepare));
|
|
|
+ res.end(JSON.stringify(prepare));
|
|
|
|
|
|
|
|
|
- } catch (e) {
|
|
|
- console.log(e)
|
|
|
- }
|
|
|
- });
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
})
|
|
|
|
|
|
|
|
|
+
|
|
|
})
|
|
|
app.options('/search_api', function (req, res) {
|
|
|
res.header("Access-Control-Allow-Origin", "*");
|