aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPitu <[email protected]>2017-01-18 04:05:56 -0300
committerPitu <[email protected]>2017-01-18 04:05:56 -0300
commit0dcaf36332cfa79f198a0cce04a1789822acd1ca (patch)
treed0d5871a58f79d022b7abdd4a1661fd4a5f980eb
parentlowercased headers (diff)
downloadhost.fuwn.me-0dcaf36332cfa79f198a0cce04a1789822acd1ca.tar.xz
host.fuwn.me-0dcaf36332cfa79f198a0cce04a1789822acd1ca.zip
Added browsing galleries from dashboard
-rw-r--r--controllers/albumsController.js6
-rw-r--r--controllers/uploadController.js9
-rw-r--r--public/js/panel.js15
3 files changed, 24 insertions, 6 deletions
diff --git a/controllers/albumsController.js b/controllers/albumsController.js
index 72c8177..76129ec 100644
--- a/controllers/albumsController.js
+++ b/controllers/albumsController.js
@@ -15,6 +15,9 @@ albumsController.list = function(req, res, next){
db.table('albums').select(fields).then((albums) => {
+ if(req.headers.extended === undefined)
+ return res.json({ success: true, albums })
+
let ids = []
for(let album of albums){
album.date = new Date(album.timestamp * 1000)
@@ -23,9 +26,6 @@ albumsController.list = function(req, res, next){
ids.push(album.id)
}
- if(req.headers.extended === undefined)
- return res.json({ success: true, albums })
-
db.table('files').whereIn('albumid', ids).select('albumid').then((files) => {
let albumsCount = {}
diff --git a/controllers/uploadController.js b/controllers/uploadController.js
index 2828a19..cbb4e64 100644
--- a/controllers/uploadController.js
+++ b/controllers/uploadController.js
@@ -77,7 +77,14 @@ uploadsController.list = function(req, res){
if(req.headers.auth !== config.adminToken)
return res.status(401).send('not-authorized')
- db.table('files').then((files) => {
+ db.table('files')
+ .where(function(){
+ if(req.headers.albumid === undefined)
+ this.where('id', '<>', '')
+ else
+ this.where('albumid', req.headers.albumid)
+ })
+ .then((files) => {
db.table('albums').then((albums) => {
for(let file of files){
diff --git a/public/js/panel.js b/public/js/panel.js
index 439b733..8857d9c 100644
--- a/public/js/panel.js
+++ b/public/js/panel.js
@@ -65,7 +65,7 @@ panel.prepareDashboard = function(){
panel.getAlbumsSidebar();
}
-panel.getUploads = function(){
+panel.getUploads = function(album = undefined){
panel.page.innerHTML = '';
var xhr = new XMLHttpRequest();
@@ -114,6 +114,8 @@ panel.getUploads = function(){
}
}
xhr.open('GET', '/api/uploads', true);
+ if(album !== undefined)
+ xhr.setRequestHeader('albumid', album);
xhr.setRequestHeader('auth', panel.token);
xhr.send(null);
}
@@ -225,7 +227,6 @@ panel.getAlbumsSidebar = function(){
return panel.verifyToken(panel.token);
var json = JSON.parse(xhr.responseText);
- console.log(json);
if(json.success === false)
return swal("An error ocurred", json.description, "error");
@@ -235,10 +236,16 @@ panel.getAlbumsSidebar = function(){
if(json.albums === undefined) return;
for(var album of json.albums){
+
li = document.createElement('li');
a = document.createElement('a');
+ a.id = album.id;
a.innerHTML = album.name;
+ a.addEventListener('click', function(){
+ panel.getAlbum(this);
+ });
+
li.appendChild(a);
albumsContainer.appendChild(li);
}
@@ -250,6 +257,10 @@ panel.getAlbumsSidebar = function(){
xhr.send(null);
}
+panel.getAlbum = function(item){
+ panel.getUploads(item.id);
+}
+
window.onload = function () {
panel.preparePage();
}