Fix deletion of albums and links
This commit is contained in:
parent
0d36f0d69a
commit
4db167ec43
|
@ -3,11 +3,11 @@ const Util = require('../../utils/Util');
|
|||
|
||||
class albumDELETE extends Route {
|
||||
constructor() {
|
||||
super('/album/:id/:purge*?', 'delete');
|
||||
super('/album/:id', 'delete');
|
||||
}
|
||||
|
||||
async run(req, res, db, user) {
|
||||
const { id, purge } = req.params;
|
||||
const { id } = req.params;
|
||||
if (!id) return res.status(400).json({ message: 'Invalid album ID supplied' });
|
||||
|
||||
/*
|
||||
|
@ -17,12 +17,6 @@ class albumDELETE extends Route {
|
|||
if (!album) return res.status(400).json({ message: 'The file doesn\'t exist or doesn\'t belong to the user' });
|
||||
|
||||
try {
|
||||
/*
|
||||
Should we also delete every file of that album?
|
||||
*/
|
||||
if (purge) {
|
||||
await Util.deleteAllFilesFromAlbum(id);
|
||||
}
|
||||
/*
|
||||
Delete the album
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
const Route = require('../../structures/Route');
|
||||
const Util = require('../../utils/Util');
|
||||
|
||||
class albumDELETE extends Route {
|
||||
constructor() {
|
||||
super('/album/:id/purge', 'delete');
|
||||
}
|
||||
|
||||
async run(req, res, db, user) {
|
||||
const { id } = req.params;
|
||||
if (!id) return res.status(400).json({ message: 'Invalid album ID supplied' });
|
||||
|
||||
/*
|
||||
Check if the album exists
|
||||
*/
|
||||
const album = await db.table('albums').where({ id, userId: user.id }).first();
|
||||
if (!album) return res.status(400).json({ message: 'The file doesn\'t exist or doesn\'t belong to the user' });
|
||||
|
||||
try {
|
||||
await Util.deleteAllFilesFromAlbum(id);
|
||||
await db.table('albums').where({ id }).delete();
|
||||
return res.json({ message: 'The album was deleted successfully' });
|
||||
} catch (error) {
|
||||
return super.error(res, error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = albumDELETE;
|
|
@ -7,10 +7,6 @@ class linkDELETE extends Route {
|
|||
}
|
||||
|
||||
async run(req, res, db) {
|
||||
console.log('------------------------------');
|
||||
console.log('YES HI');
|
||||
console.log('------------------------------');
|
||||
console.log('WHO NEEDS FANCY DEBUGGING TOOLS ANYWAYS');
|
||||
const { identifier } = req.params;
|
||||
if (!identifier) return res.status(400).json({ message: 'Invalid identifier supplied' });
|
||||
|
||||
|
|
|
@ -300,17 +300,8 @@ export default {
|
|||
onConfirm: () => this.deleteAlbum(id)
|
||||
});
|
||||
},
|
||||
promptPurgeAlbum(id) {
|
||||
this.$dialog.confirm({
|
||||
message: 'Would you like to delete every file associated with this album?',
|
||||
cancelText: 'No',
|
||||
confirmText: 'Yes',
|
||||
onConfirm: () => this.deleteAlbum(id, true),
|
||||
onCancel: () => this.deleteAlbum(id, false)
|
||||
});
|
||||
},
|
||||
async deleteAlbum(id, purge) {
|
||||
const response = await this.$axios.$delete(`album/${id}/${purge ? true : ''}`);
|
||||
async deleteAlbum(id) {
|
||||
const response = await this.$axios.$delete(`album/${id}`);
|
||||
this.getAlbums();
|
||||
return this.$toast.open(response.message);
|
||||
},
|
||||
|
|
|
@ -249,7 +249,7 @@ export default {
|
|||
});
|
||||
},
|
||||
async deleteTag(id, purge) {
|
||||
const response = await this.$axios.$delete(`tags/${id}/${purge ? true : ''}`);
|
||||
const response = await this.$axios.$delete(`tags/${id}/${purge ? 'purge' : ''}`);
|
||||
this.getTags();
|
||||
return this.$toast.open(response.message);
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue