diff --git a/swarmlab-app/src/run/app.js b/swarmlab-app/src/run/app.js index d88d3eca..14d97e45 100644 --- a/swarmlab-app/src/run/app.js +++ b/swarmlab-app/src/run/app.js @@ -134,15 +134,8 @@ app.get("/test2", cors(corsOptions), (req, res) => { var sorttmp1 = sort.split("|"); var sortname = sorttmp1[0]; var sortorder = sorttmp1[1]; + console.log("TEST LOG"); - console.error( - "Sort: " + - sort + - "\n Sort Name: " + - sortname + - "\n Sort Order: " + - sortorder - ); var url = "mongodb://mongo:27017/"; var jsonfinal = []; MongoClient.connect(url, function (err, db) { @@ -187,8 +180,55 @@ app.get("/test2", cors(corsOptions), (req, res) => { } }); } + //Pagination + var total = jsonfinal.length; + var perpage = per_page; + var lastpage = total / perpage; + if (lastpage <= 1) { + lastpage = 1; + } else { + lastpage++; + } + lastpage = Math.trunc(lastpage); + var next = page + 1; + if (next >= lastpage) { + next = lastpage; + } + var prev = page - 1; + if (prev == 0) { + prev = 1; + } + var from = (page - 1) * perpage + 1; + var to = perpage * page; + var mypage = new Object(); + var links = ` + { + "pagination": { + "total": ${total}, + "per_page": ${perpage}, + "current_page": ${page}, + "last_page": ${lastpage}, + "next_page_url": "?page=${next}", + "prev_page_url": "?page=${prev}", + "from": ${from}, + "to": ${to}, + "frommongo": ${from}, + "tomongo": ${to} + } + } + `; + mypage.links = JSON.parse(links); + from--; + mypage.data = jsonfinal.slice(from, to); + var RES = new Object(); + RES.code = req.query["action"]; + RES.token = req.query["token"]; + RES.error = false; + RES.error_msg = "ok"; + RES.data = mypage; + // console.log("Sending Data: " + jsonfinal); - res.json(jsonfinal); + res.json(RES.data); db.close(); }); });