diff options
Diffstat (limited to 'public/js')
| -rw-r--r-- | public/js/panel.js | 514 | ||||
| -rw-r--r-- | public/js/upload.js | 83 |
2 files changed, 288 insertions, 309 deletions
diff --git a/public/js/panel.js b/public/js/panel.js index 3f99ef0..f59d3c6 100644 --- a/public/js/panel.js +++ b/public/js/panel.js @@ -15,38 +15,38 @@ panel.preparePage = function(){ } panel.verifyToken = function(token, reloadOnError = false){ - var xhr = new XMLHttpRequest(); + + axios.post('/api/tokens/verify', { + type: 'admin', + token: token + }) + .then(function (response) { + + if(response.data.success === false){ + swal({ + title: "An error ocurred", + text: response.data.description, + type: "error" + }, function(){ + if(reloadOnError){ + localStorage.removeItem("admintoken"); + location.reload(); + } + }) + return; + } - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { - - var json = JSON.parse(xhr.responseText); - if(json.success === false){ - - swal({ - title: "An error ocurred", - text: json.description, - type: "error" - }, function(){ - if(reloadOnError){ - localStorage.removeItem("admintoken"); - location.reload(); - } - }) - - return; - } + axios.defaults.headers.common['auth'] = token; + localStorage.admintoken = token; + panel.token = token; + return panel.prepareDashboard(); - localStorage.admintoken = token; - panel.token = token; - return panel.prepareDashboard(); + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); - } - } - xhr.open('GET', '/api/tokens/verify', true); - xhr.setRequestHeader('type', 'admin'); - xhr.setRequestHeader('token', token); - xhr.send(null); } panel.prepareDashboard = function(){ @@ -70,195 +70,183 @@ panel.prepareDashboard = function(){ } panel.getUploads = function(album = undefined){ - panel.page.innerHTML = ''; - var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = function() { - if(xhr.readyState == XMLHttpRequest.DONE){ - - if(xhr.responseText === 'not-authorized') - return panel.verifyToken(panel.token); + let url = '/api/uploads' + if(album !== undefined) + url = '/api/album/' + album + + axios.get(url) + .then(function (response) { + if(response.data.success === false){ + if(response.data.description === 'not-authorized') return panel.verifyToken(panel.token); + else return swal("An error ocurred", response.data.description, "error"); + } + + panel.page.innerHTML = ''; + var container = document.createElement('div'); + container.innerHTML = ` + <table class="table is-striped is-narrow"> + <thead> + <tr> + <th>File</th> + <th>Album</th> + <th>Date</th> + </tr> + </thead> + <tbody id="table"> + </tbody> + </table>`; + panel.page.appendChild(container); + + var table = document.getElementById('table'); + + for(var item of response.data.files){ + + var tr = document.createElement('tr'); + tr.innerHTML = ` + <tr> + <th><a href="${item.file}" target="_blank">${item.file}</a></th> + <th>${item.album}</th> + <td>${item.date}</td> + </tr> + `; + + table.appendChild(tr); + } - var json = JSON.parse(xhr.responseText); + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); - if(json.success === false) - return swal("An error ocurred", json.description, "error"); - - var container = document.createElement('div'); - container.innerHTML = ` - <table class="table is-striped is-narrow"> - <thead> - <tr> - <th>File</th> - <th>Album</th> - <th>Date</th> - </tr> - </thead> - <tbody id="table"> - </tbody> - </table>`; - panel.page.appendChild(container); - - var table = document.getElementById('table'); - - for(var item of json){ - - var tr = document.createElement('tr'); - tr.innerHTML = ` - <tr> - <th><a href="${item.file}" target="_blank">${item.file}</a></th> - <th>${item.album}</th> - <td>${item.date}</td> - </tr> - `; - - table.appendChild(tr); - } - - } - } - xhr.open('GET', '/api/uploads', true); - if(album !== undefined) - xhr.setRequestHeader('albumid', album); - xhr.setRequestHeader('auth', panel.token); - xhr.send(null); } panel.getAlbums = function(){ - panel.page.innerHTML = ''; - var xhr = new XMLHttpRequest(); - - var container = document.createElement('div'); - container.className = "container"; - container.innerHTML = ` - <h2 class="subtitle">Create new album</h2> - - <p class="control has-addons has-addons-centered"> - <input id="albumName" class="input" type="text" placeholder="Name"> - <a id="submitAlbum" class="button is-primary">Submit</a> - </p> - - <h2 class="subtitle">List of albums</h2> - - <table class="table is-striped is-narrow"> - <thead> - <tr> - <th>Name</th> - <th>Files</th> - <th>Created At</th> - </tr> - </thead> - <tbody id="table"> - </tbody> - </table>`; - - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { - - if(xhr.responseText === 'not-authorized') - return panel.verifyToken(panel.token); - - var json = JSON.parse(xhr.responseText); - - if(json.success === false) - return swal("An error ocurred", json.description, "error"); - panel.page.appendChild(container); - var table = document.getElementById('table'); + axios.get('/api/albums') + .then(function (response) { + if(response.data.success === false){ + if(response.data.description === 'not-authorized') return panel.verifyToken(panel.token); + else return swal("An error ocurred", response.data.description, "error"); + } + + panel.page.innerHTML = ''; + var container = document.createElement('div'); + container.className = "container"; + container.innerHTML = ` + <h2 class="subtitle">Create new album</h2> + + <p class="control has-addons has-addons-centered"> + <input id="albumName" class="input" type="text" placeholder="Name"> + <a id="submitAlbum" class="button is-primary">Submit</a> + </p> + + <h2 class="subtitle">List of albums</h2> + + <table class="table is-striped is-narrow"> + <thead> + <tr> + <th>Name</th> + <th>Files</th> + <th>Created At</th> + </tr> + </thead> + <tbody id="table"> + </tbody> + </table>`; + + panel.page.appendChild(container); + var table = document.getElementById('table'); + + for(var item of response.data.albums){ + + var tr = document.createElement('tr'); + tr.innerHTML = ` + <tr> + <th>${item.name}</th> + <th>${item.files}</th> + <td>${item.date}</td> + </tr> + `; + + table.appendChild(tr); + } - for(var item of json.albums){ + document.getElementById('submitAlbum').addEventListener('click', function(){ + panel.submitAlbum(); + }); - var tr = document.createElement('tr'); - tr.innerHTML = ` - <tr> - <th>${item.name}</th> - <th>${item.files}</th> - <td>${item.date}</td> - </tr> - `; - table.appendChild(tr); - } + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); - document.getElementById('submitAlbum').addEventListener('click', function(){ - panel.submitAlbum(); - }); - - } - } - - xhr.open('GET', '/api/albums', true); - xhr.setRequestHeader('auth', panel.token); - xhr.setRequestHeader('extended', ''); - xhr.send(null); } panel.submitAlbum = function(){ - var xhr = new XMLHttpRequest(); - - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { - - if(xhr.responseText === 'not-authorized') - return panel.verifyToken(panel.token); - - var json = JSON.parse(xhr.responseText); - if(json.success === false) - return swal("An error ocurred", json.description, "error"); - - swal("Woohoo!", "Album was added successfully", "success"); - panel.getAlbumsSidebar(); - panel.getAlbums(); - return; - } - } + axios.post('/api/albums', { + name: document.getElementById('albumName').value + }) + .then(function (response) { + + if(response.data.success === false){ + if(response.data.description === 'not-authorized') return panel.verifyToken(panel.token); + else return swal("An error ocurred", response.data.description, "error"); + } + + swal("Woohoo!", "Album was added successfully", "success"); + panel.getAlbumsSidebar(); + panel.getAlbums(); + return; - xhr.open('POST', '/api/albums', true); - xhr.setRequestHeader('auth', panel.token); - xhr.setRequestHeader('name', document.getElementById('albumName').value); - xhr.send(null); + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); } panel.getAlbumsSidebar = function(){ - var xhr = new XMLHttpRequest(); - - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { - - if(xhr.responseText === 'not-authorized') - return panel.verifyToken(panel.token); - var json = JSON.parse(xhr.responseText); - if(json.success === false) - return swal("An error ocurred", json.description, "error"); + axios.get('/api/albums/sidebar') + .then(function (response) { + if(response.data.success === false){ + if(response.data.description === 'not-authorized') return panel.verifyToken(panel.token); + else return swal("An error ocurred", response.data.description, "error"); + } - var albumsContainer = document.getElementById('albumsContainer'); - albumsContainer.innerHTML = ''; + var albumsContainer = document.getElementById('albumsContainer'); + albumsContainer.innerHTML = ''; - if(json.albums === undefined) return; + if(response.data.albums === undefined) return; - for(var album of json.albums){ + for(var album of response.data.albums){ - li = document.createElement('li'); - a = document.createElement('a'); - a.id = album.id; - a.innerHTML = album.name; + li = document.createElement('li'); + a = document.createElement('a'); + a.id = album.id; + a.innerHTML = album.name; - a.addEventListener('click', function(){ - panel.getAlbum(this); - }); + a.addEventListener('click', function(){ + panel.getAlbum(this); + }); - li.appendChild(a); - albumsContainer.appendChild(li); - } + li.appendChild(a); + albumsContainer.appendChild(li); } - } - xhr.open('GET', '/api/albums', true); - xhr.setRequestHeader('auth', panel.token); - xhr.send(null); + + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); + } panel.getAlbum = function(item){ @@ -266,99 +254,89 @@ panel.getAlbum = function(item){ } panel.changeTokens = function(){ - panel.page.innerHTML = ''; - var xhr = new XMLHttpRequest(); - - var container = document.createElement('div'); - container.className = "container"; - container.innerHTML = ` - <h2 class="subtitle">Manage your tokens</h2> - - <label class="label">Client token:</label> - <p class="control has-addons"> - <input id="clientToken" class="input is-expanded" type="text" placeholder="Your client token"> - <a id="submitClientToken" class="button is-primary">Save</a> - </p> - - <label class="label">Admin token:</label> - <p class="control has-addons"> - <input id="adminToken" class="input is-expanded" type="text" placeholder="Your admin token"> - <a id="submitAdminToken" class="button is-primary">Save</a> - </p> - `; - - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { - - if(xhr.responseText === 'not-authorized') - 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"); - panel.page.appendChild(container); + axios.get('/api/tokens') + .then(function (response) { + if(response.data.success === false){ + if(response.data.description === 'not-authorized') return panel.verifyToken(panel.token); + else return swal("An error ocurred", response.data.description, "error"); + } + + panel.page.innerHTML = ''; + var container = document.createElement('div'); + container.className = "container"; + container.innerHTML = ` + <h2 class="subtitle">Manage your tokens</h2> + + <label class="label">Client token:</label> + <p class="control has-addons"> + <input id="clientToken" class="input is-expanded" type="text" placeholder="Your client token"> + <a id="submitClientToken" class="button is-primary">Save</a> + </p> + + <label class="label">Admin token:</label> + <p class="control has-addons"> + <input id="adminToken" class="input is-expanded" type="text" placeholder="Your admin token"> + <a id="submitAdminToken" class="button is-primary">Save</a> + </p> + `; + + panel.page.appendChild(container); + + document.getElementById('clientToken').value = response.data.clientToken; + document.getElementById('adminToken').value = response.data.adminToken; + + document.getElementById('submitClientToken').addEventListener('click', function(){ + panel.submitToken('client', document.getElementById('clientToken').value); + }); - document.getElementById('clientToken').value = json.clientToken; - document.getElementById('adminToken').value = json.adminToken; + document.getElementById('submitAdminToken').addEventListener('click', function(){ + panel.submitToken('admin', document.getElementById('adminToken').value); + }); - document.getElementById('submitClientToken').addEventListener('click', function(){ - panel.submitToken('client', document.getElementById('clientToken').value); - }); - document.getElementById('submitAdminToken').addEventListener('click', function(){ - panel.submitToken('admin', document.getElementById('adminToken').value); - }); - } - } + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); - xhr.open('GET', '/api/tokens', true); - xhr.setRequestHeader('auth', panel.token); - xhr.send(null); } panel.submitToken = function(type, token){ - var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { + axios.post('/api/tokens/change', { + type: type, + token: token + }) + .then(function (response) { + + if(response.data.success === false){ + if(response.data.description === 'not-authorized') return panel.verifyToken(panel.token); + else return swal("An error ocurred", response.data.description, "error"); + } + + swal({ + title: "Woohoo!", + text: 'Your token was changed successfully.', + type: "success" + }, function(){ - if(xhr.responseText === 'not-authorized') - return panel.verifyToken(panel.token); - - var json = JSON.parse(xhr.responseText); + if(type === 'client') + localStorage.token = token; + else if(type === 'admin') + localStorage.admintoken = token - console.log(json); - - if(json.success === false) - return swal("An error ocurred", json.description, "error"); - - swal({ - title: "Woohoo!", - text: 'Your token was changed successfully.', - type: "success" - }, function(){ + location.reload(); - if(type === 'client') - localStorage.token = token; - else if(type === 'admin') - localStorage.admintoken = token + }) - location.reload(); - - }) - - } - } + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); - xhr.open('POST', '/api/tokens/change', true); - xhr.setRequestHeader('auth', panel.token); - xhr.setRequestHeader('type', type); - xhr.setRequestHeader('token', token); - xhr.send(null); } window.onload = function () { diff --git a/public/js/upload.js b/public/js/upload.js index d6d9b9d..35208f3 100644 --- a/public/js/upload.js +++ b/public/js/upload.js @@ -5,16 +5,18 @@ upload.token = localStorage.token; upload.maxFileSize; upload.checkIfPublic = function(){ - var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { - upload.isPublic = JSON.parse(xhr.responseText).private; - upload.maxFileSize = JSON.parse(xhr.responseText).maxFileSize; - upload.preparePage(); - } - } - xhr.open('GET', '/api/check', true); - xhr.send(null); + + axios.get('/api/check') + .then(function (response) { + upload.isPublic = response.data.private; + upload.maxFileSize = response.data.maxFileSize; + upload.preparePage(); + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); + } upload.preparePage = function(){ @@ -30,38 +32,37 @@ upload.preparePage = function(){ } upload.verifyToken = function(token, reloadOnError = false){ - var xhr = new XMLHttpRequest(); - - xhr.onreadystatechange = function() { - if (xhr.readyState == XMLHttpRequest.DONE) { - - var json = JSON.parse(xhr.responseText); - if(json.success === false){ - - swal({ - title: "An error ocurred", - text: json.description, - type: "error" - }, function(){ - if(reloadOnError){ - localStorage.removeItem("token"); - location.reload(); - } - }) - - return; - } - - localStorage.token = token; - upload.token = token; - return upload.prepareUpload(); - } - } - xhr.open('GET', '/api/tokens/verify', true); - xhr.setRequestHeader('type', 'client'); - xhr.setRequestHeader('token', token); - xhr.send(null); + axios.post('/api/tokens/verify', { + type: 'client', + token: token + }) + .then(function (response) { + + if(response.data.success === false){ + swal({ + title: "An error ocurred", + text: response.data.description, + type: "error" + }, function(){ + if(reloadOnError){ + localStorage.removeItem("token"); + location.reload(); + } + }) + return; + } + + localStorage.token = token; + upload.token = token; + return upload.prepareUpload(); + + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); + } upload.prepareUpload = function(){ |