mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-04-23 01:43:18 +03:00
Fixed bug that prevented categorized files from being deletes and simplified the two delete file API calls into one
This commit is contained in:
@@ -2523,56 +2523,25 @@ app.post('/api/deletePlaylist', optionalJwt, async (req, res) => {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
// deletes mp3 file
|
// deletes non-subscription files
|
||||||
app.post('/api/deleteMp3', optionalJwt, async (req, res) => {
|
app.post('/api/deleteFile', optionalJwt, async (req, res) => {
|
||||||
// var name = req.body.name;
|
|
||||||
var uid = req.body.uid;
|
var uid = req.body.uid;
|
||||||
|
var type = req.body.type;
|
||||||
var blacklistMode = req.body.blacklistMode;
|
var blacklistMode = req.body.blacklistMode;
|
||||||
|
|
||||||
if (req.isAuthenticated()) {
|
if (req.isAuthenticated()) {
|
||||||
let success = auth_api.deleteUserFile(req.user.uid, uid, 'audio', blacklistMode);
|
let success = auth_api.deleteUserFile(req.user.uid, uid, type, blacklistMode);
|
||||||
res.send(success);
|
res.send(success);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var audio_obj = db.get('files.audio').find({uid: uid}).value();
|
var file_obj = db.get(`files.${type}`).find({uid: uid}).value();
|
||||||
var name = audio_obj.id;
|
var name = file_obj.id;
|
||||||
var fullpath = audioFolderPath + name + ".mp3";
|
var fullpath = file_obj ? file_obj.path : null;
|
||||||
var wasDeleted = false;
|
var wasDeleted = false;
|
||||||
if (fs.existsSync(fullpath))
|
if (fs.existsSync(fullpath))
|
||||||
{
|
{
|
||||||
deleteAudioFile(name, null, blacklistMode);
|
wasDeleted = type === 'audio' ? await deleteAudioFile(name, path.basename(fullpath), blacklistMode) : await deleteVideoFile(name, path.basename(fullpath), blacklistMode);
|
||||||
db.get('files.audio').remove({uid: uid}).write();
|
|
||||||
wasDeleted = true;
|
|
||||||
res.send(wasDeleted);
|
|
||||||
} else if (audio_obj) {
|
|
||||||
db.get('files.audio').remove({uid: uid}).write();
|
|
||||||
wasDeleted = true;
|
|
||||||
res.send(wasDeleted);
|
|
||||||
} else {
|
|
||||||
wasDeleted = false;
|
|
||||||
res.send(wasDeleted);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// deletes mp4 file
|
|
||||||
app.post('/api/deleteMp4', optionalJwt, async (req, res) => {
|
|
||||||
var uid = req.body.uid;
|
|
||||||
var blacklistMode = req.body.blacklistMode;
|
|
||||||
|
|
||||||
if (req.isAuthenticated()) {
|
|
||||||
let success = auth_api.deleteUserFile(req.user.uid, uid, 'video', blacklistMode);
|
|
||||||
res.send(success);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var video_obj = db.get('files.video').find({uid: uid}).value();
|
|
||||||
var name = video_obj.id;
|
|
||||||
var fullpath = videoFolderPath + name + ".mp4";
|
|
||||||
var wasDeleted = false;
|
|
||||||
if (fs.existsSync(fullpath))
|
|
||||||
{
|
|
||||||
wasDeleted = await deleteVideoFile(name, null, blacklistMode);
|
|
||||||
db.get('files.video').remove({uid: uid}).write();
|
db.get('files.video').remove({uid: uid}).write();
|
||||||
// wasDeleted = true;
|
// wasDeleted = true;
|
||||||
res.send(wasDeleted);
|
res.send(wasDeleted);
|
||||||
@@ -2638,17 +2607,6 @@ app.post('/api/downloadFile', optionalJwt, async (req, res) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
app.post('/api/deleteFile', async (req, res) => {
|
|
||||||
let fileName = req.body.fileName;
|
|
||||||
let type = req.body.type;
|
|
||||||
if (type === 'audio') {
|
|
||||||
deleteAudioFile(fileName);
|
|
||||||
} else if (type === 'video') {
|
|
||||||
deleteVideoFile(fileName);
|
|
||||||
}
|
|
||||||
res.send({});
|
|
||||||
});
|
|
||||||
|
|
||||||
app.post('/api/downloadArchive', async (req, res) => {
|
app.post('/api/downloadArchive', async (req, res) => {
|
||||||
let sub = req.body.sub;
|
let sub = req.body.sub;
|
||||||
let archive_dir = sub.archive;
|
let archive_dir = sub.archive;
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ export class RecentVideosComponent implements OnInit {
|
|||||||
|
|
||||||
if (!this.postsService.config.Extra.file_manager_enabled) {
|
if (!this.postsService.config.Extra.file_manager_enabled) {
|
||||||
// tell server to delete the file once downloaded
|
// tell server to delete the file once downloaded
|
||||||
this.postsService.deleteFile(name, false).subscribe(delRes => {
|
this.postsService.deleteFile(name, type).subscribe(delRes => {
|
||||||
// reload mp4s
|
// reload mp4s
|
||||||
this.getAllFiles();
|
this.getAllFiles();
|
||||||
});
|
});
|
||||||
@@ -233,7 +233,7 @@ export class RecentVideosComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
deleteNormalFile(file, index, blacklistMode = false) {
|
deleteNormalFile(file, index, blacklistMode = false) {
|
||||||
this.postsService.deleteFile(file.uid, file.isAudio, blacklistMode).subscribe(result => {
|
this.postsService.deleteFile(file.uid, file.isAudio ? 'audio' : 'video', blacklistMode).subscribe(result => {
|
||||||
if (result) {
|
if (result) {
|
||||||
this.postsService.openSnackBar('Delete success!', 'OK.');
|
this.postsService.openSnackBar('Delete success!', 'OK.');
|
||||||
this.files.splice(index, 1);
|
this.files.splice(index, 1);
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export class FileCardComponent implements OnInit {
|
|||||||
|
|
||||||
deleteFile(blacklistMode = false) {
|
deleteFile(blacklistMode = false) {
|
||||||
if (!this.playlist) {
|
if (!this.playlist) {
|
||||||
this.postsService.deleteFile(this.uid, this.isAudio, blacklistMode).subscribe(result => {
|
this.postsService.deleteFile(this.uid, this.isAudio ? 'audio' : 'video', blacklistMode).subscribe(result => {
|
||||||
if (result) {
|
if (result) {
|
||||||
this.openSnackBar('Delete success!', 'OK.');
|
this.openSnackBar('Delete success!', 'OK.');
|
||||||
this.removeFile.emit(this.name);
|
this.removeFile.emit(this.name);
|
||||||
|
|||||||
@@ -740,7 +740,7 @@ export class MainComponent implements OnInit {
|
|||||||
|
|
||||||
if (!this.fileManagerEnabled) {
|
if (!this.fileManagerEnabled) {
|
||||||
// tell server to delete the file once downloaded
|
// tell server to delete the file once downloaded
|
||||||
this.postsService.deleteFile(name, true).subscribe(delRes => {
|
this.postsService.deleteFile(name, 'video').subscribe(delRes => {
|
||||||
// reload mp3s
|
// reload mp3s
|
||||||
this.getMp3s();
|
this.getMp3s();
|
||||||
});
|
});
|
||||||
@@ -757,7 +757,7 @@ export class MainComponent implements OnInit {
|
|||||||
|
|
||||||
if (!this.fileManagerEnabled) {
|
if (!this.fileManagerEnabled) {
|
||||||
// tell server to delete the file once downloaded
|
// tell server to delete the file once downloaded
|
||||||
this.postsService.deleteFile(name, false).subscribe(delRes => {
|
this.postsService.deleteFile(name, 'audio').subscribe(delRes => {
|
||||||
// reload mp4s
|
// reload mp4s
|
||||||
this.getMp4s();
|
this.getMp4s();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -199,12 +199,8 @@ export class PostsService implements CanActivate {
|
|||||||
return this.http.post(this.path + 'setConfig', {new_config_file: config}, this.httpOptions);
|
return this.http.post(this.path + 'setConfig', {new_config_file: config}, this.httpOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteFile(uid: string, isAudio: boolean, blacklistMode = false) {
|
deleteFile(uid: string, type: string, blacklistMode = false) {
|
||||||
if (isAudio) {
|
return this.http.post(this.path + 'deleteFile', {uid: uid, type: type, blacklistMode: blacklistMode}, this.httpOptions);
|
||||||
return this.http.post(this.path + 'deleteMp3', {uid: uid, blacklistMode: blacklistMode}, this.httpOptions);
|
|
||||||
} else {
|
|
||||||
return this.http.post(this.path + 'deleteMp4', {uid: uid, blacklistMode: blacklistMode}, this.httpOptions);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getMp3s() {
|
getMp3s() {
|
||||||
|
|||||||
Reference in New Issue
Block a user