|
|
|
@ -1086,8 +1086,7 @@ app.get(PREFIX+"/test/getBuild",(req,res)=>{ |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
app.get(PREFIX+"/getBuilds",(req,res)=>{ |
|
|
|
|
|
|
|
|
|
function buildsGet(req,res,db) { |
|
|
|
|
function FilterQuery(filter_type,filter){ |
|
|
|
|
function ConvertFilterType(fil) { |
|
|
|
|
switch(fil) { |
|
|
|
@ -1103,18 +1102,18 @@ app.get(PREFIX+"/getBuilds",(req,res)=>{ |
|
|
|
|
function SortQuery(sort_type){ |
|
|
|
|
function ConvertSortType(sor) { |
|
|
|
|
switch (sor) { |
|
|
|
|
case "date_updated":{return "last_modified"}break; |
|
|
|
|
case "alphabetical":{return "build_name"}break; |
|
|
|
|
case "date_created":{return "created_on"}break; |
|
|
|
|
case "popularity":{return "likes"}break |
|
|
|
|
case "editors_choice":{return "editors_choice"}break; |
|
|
|
|
case "author":{return "creator"}break; |
|
|
|
|
case "date_updated":{return "last_modified desc"}break; |
|
|
|
|
case "alphabetical":{return "build_name asc"}break; |
|
|
|
|
case "date_created":{return "created_on desc"}break; |
|
|
|
|
case "popularity":{return "likes desc"}break |
|
|
|
|
case "editors_choice":{return "editors_choice desc"}break; |
|
|
|
|
case "author":{return "creator asc"}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return `${sort_type:""}` |
|
|
|
|
return `${sort_type?`order by ${ConvertSortType(sort_type)}`:""}` |
|
|
|
|
} |
|
|
|
|
function OffsetQuery(page){ |
|
|
|
|
|
|
|
|
|
return `${page?`offset ${page*20}`:""}` |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//No args gets recent 20 builds.
|
|
|
|
@ -1122,13 +1121,21 @@ app.get(PREFIX+"/getBuilds",(req,res)=>{ |
|
|
|
|
//filter_type can be author,build,editors_choice,class1,class2
|
|
|
|
|
//filter is the actual contents of the filter.
|
|
|
|
|
//page can be a number, a new page is generated every 20 builds.
|
|
|
|
|
db.query('select * from builds '+FilterQuery(req.query.filter_type,req.query.filter)+' '+SortQuery(req.query.sort_type)+' desc limit 20 '+OffsetQuery(req.query.page),[]) |
|
|
|
|
db.query('select * from builds '+FilterQuery(req.query.filter_type,req.query.filter)+' '+SortQuery(req.query.sort_type)+' limit 20 '+OffsetQuery(req.query.page),[]) |
|
|
|
|
.then((data)=>{ |
|
|
|
|
res.status(200).json(data.rows[0]) |
|
|
|
|
}) |
|
|
|
|
.catch((err)=>{ |
|
|
|
|
res.status(500).send(err.message) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
app.get(PREFIX+"/getBuilds",(req,res)=>{ |
|
|
|
|
buildsGet(req,res,db) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
app.get(PREFIX+"/test/getBuilds",(req,res)=>{ |
|
|
|
|
buildsGet(req,res,db2) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
//Generates our table schema:
|
|
|
|
|