Sharing and video downloads on shared videos now work for multi-user mode

This commit is contained in:
Isaac Grynsztein
2020-04-27 04:31:39 -04:00
parent 1ac6683f33
commit 4b2b278439
5 changed files with 83 additions and 12 deletions

View File

@@ -237,7 +237,7 @@ exports.getUserVideos = function(user_uid, type) {
return user['files'][type];
}
exports.getUserVideo = function(user_uid, file_uid, type) {
exports.getUserVideo = function(user_uid, file_uid, type, requireSharing = false) {
if (!type) {
file = db.get('users').find({uid: user_uid}).get(`files.audio`).find({uid: file_uid}).value();
if (!file) {
@@ -249,6 +249,10 @@ exports.getUserVideo = function(user_uid, file_uid, type) {
}
if (!file && type) file = db.get('users').find({uid: user_uid}).get(`files.${type}`).find({uid: file_uid}).value();
// prevent unauthorized users from accessing the file info
if (requireSharing && !file['sharingEnabled']) file = null;
return file;
}
@@ -366,6 +370,20 @@ exports.deleteUserFile = function(user_uid, file_uid, type, blacklistMode = fals
return success;
}
exports.changeSharingMode = function(user_uid, file_uid, type, is_playlist, enabled) {
let success = false;
const user_db_obj = db.get('users').find({uid: user_uid});
if (user_db_obj.value()) {
const file_db_obj = is_playlist ? user_db_obj.get(`playlists.${type}`).find({uid: file_uid}) : user_db_obj.get(`files.${type}`).find({uid: file_uid});
if (file_db_obj.value()) {
success = true;
file_db_obj.assign({sharingEnabled: enabled}).write();
}
}
return success;
}
function getToken(queryParams) {
if (queryParams && queryParams.jwt) {
var parted = queryParams.jwt.split(' ');