Explorar o código

More bloated APIs. Love it.

AXCWG hai 2 meses
pai
achega
3c01098ec6
Modificáronse 1 ficheiros con 74 adicións e 13 borrados
  1. 74 13
      UserInteractions.js

+ 74 - 13
UserInteractions.js

@@ -59,18 +59,26 @@ export default function UserInteractions(opts) {
         })
     })
     app.get("/userapi", (req, res) => {
-        if (!req.session.uuid) {
-            res.set(cwh).status(500).json({code: 500, R: "IO"})
-            return
+        if(req.query.getname){
+            db.execute("SELECT username from user where uuid = ?", [req.query.uuid], (err, result) => {
+                res.set(cwh).end(result[0].username);
+
+            })
+        }else{
+            if (!req.session.uuid) {
+                res.set(cwh).status(500).json({code: 500, R: "IO"})
+                return
+            }
+            db.execute("SELECT username, email from user where uuid = ?", [req.session.uuid], (err, result) => {
+                res.set(cwh).end(JSON.stringify({
+                    uuid: req.session.uuid,
+                    username: result[0].username,
+                    email: result[0].email,
+                }));
+
+            })
         }
-        db.execute("SELECT username, email from user where uuid = ?", [req.session.uuid], (err, result) => {
-            res.set(cwh).end(JSON.stringify({
-                uuid: req.session.uuid,
-                username: result[0].username,
-                email: result[0].email,
-            }));
 
-        })
     })
     app.get("/logout", (req, res) => {
         req.session.destroy()
@@ -98,23 +106,76 @@ export default function UserInteractions(opts) {
         }
 
     })
-    app.post("/playlist", async function (req, res) {
+    app.post("/playlist-owned", async function (req, res) {
         if (!req.session.uuid) {
             res.set(cwh).status(500).json({code: 500, R: "AD"})
             return;
         }
-        db.execute("SELECT title, tmb, content from playlist where uuid = ?", [req.session.uuid], function (err, result) {
+        db.execute("SELECT * from playlist where owner = ?", [req.session.uuid], function (err, result) {
             if (err) {
                 console.log(err);
                 res.set(cwh).status(500).json({code: 500, R: "AD"})
                 return;
             }
-            res.set(cwh).end(JSON.stringify(result));
+            res.set(cwh).json(result);
 
         })
 
 
     })
+    app.get("/playlist", async function (req, res) {
+
+        db.execute("SELECT * FROM playlist where uuid=?", [req.query.playlistuuid], function (err, result) {
+            if (err) {
+                console.log(err);
+                res.set(cwh).status(500).json({code: 500, R: "AD"})
+                return;
+            }
+            if(result.length === 0) {
+                res.set(cwh).status(404).json({code: 404, R: "DNF"})
+                return;
+            }
+            res.set(cwh).json(result[0]);
+
+        })
+    })
+
+    app.post("/upload-playlist", async function (req, res) {
+        if (!req.session.uuid) {
+            res.set(cwh).status(500).json({code: 500, R: "AD"})
+            return;
+        }
+        if(req.body.playlistuuid){
+            db.execute("SELECT owner FROM playlist WHERE uuid = ?", [req.body.uuid], function (err, result) {
+                if(result[0].owner === req.session.uuid){
+                    db.execute("UPDATE playlist SET content = ?, private = ?, tmb = ?, title = ? WHERE ", [req.body.content, req.body.private, req.body.tmb, req.body.title], (err, result) => {
+                        if (err) {
+                            console.log(err);
+                            res.set(cwh).status(500).json({code: 500, R: "Err"})
+
+                        }
+                    })
+                }else{
+                    res.set(cwh).status(403).json({code: 403, R: "Forbidden"})
+                }
+            })
+        }else{
+            db.execute("INSERT INTO playlist(owner, uuid, content, private, tmb, title) values (?,?,?,?,?,?)", [req.session.uuid, crypto.randomUUID(), req.body.content, req.body.private, req.body.tmb, req.body.title], function (err, result) {
+                if (err) {
+                    console.log(err);
+                    res.set(cwh).status(500).json({code: 500, R: "AD"})
+                    return;
+                }
+
+                res.set(cwh).json({
+                    code: 200, R: "SS",
+                });
+
+            })
+        }
+
+    })
+
     app.post("/register", function (req, res) {
         db.execute("SELECT uuid FROM user WHERE username = ?", [req.body.username], async function (err, rows) {
             if (!req.body.username || !req.body.password) {