Fix "File Delete Error" caused by permission issue

- Temporary fix until approriate one is found
merge-requests/33/head
Moe 2018-10-08 14:43:31 -07:00
parent bb409b4cea
commit d9912bacdf
3 changed files with 32 additions and 10 deletions

View File

@ -603,6 +603,8 @@
"updateKeyText1": "\"updateKey\" is missing from \"conf.json\", cannot do updates this way until you add it.",
"updateKeyText2": "\"updateKey\" is incorrect.",
"Control Error": "Control Error",
"Database row does not exist": "Database row does not exist",
"File Delete Error": "File Delete Error",
"postDataBroken": "Check the format of the JSON. Ensure it is stringified and defined under 'data'",
"ControlErrorText1": "Control is not enabled",
"ControlErrorText2": "Check your connection details. You may need to point the Base URL at port 8000 or 80. Check your authentication info.",

View File

@ -530,6 +530,9 @@ module.exports = function(s,config,lang){
fs.mkdirSync(e.dir);
}
}
exec('chmod -R 777 '+e.dir,function(err){
})
//set the temporary files directory
var setStreamDir = function(){
//stream dir
@ -545,6 +548,9 @@ module.exports = function(s,config,lang){
}
}
setStreamDir()
exec('chmod -R 777 '+e.sdir,function(err){
})
return setStreamDir
}
s.stripAuthFromHost = function(e){

View File

@ -184,23 +184,37 @@ module.exports = function(s,config,lang){
time = e.time
}
time = new Date(time)
e.save=[e.id,e.ke,time];
s.sqlQuery('SELECT * FROM Videos WHERE `mid`=? AND `ke`=? AND `time`=?',e.save,function(err,r){
var queryValues = [e.id,e.ke,time];
s.sqlQuery('SELECT * FROM Videos WHERE `mid`=? AND `ke`=? AND `time`=?',queryValues,function(err,r){
if(r && r[0]){
r = r[0]
s.sqlQuery('DELETE FROM Videos WHERE `mid`=? AND `ke`=? AND `time`=?',e.save,function(){
fs.stat(e.dir+filename,function(err,file){
exec('chmod -R 777 '+e.dir+filename,function(err){
var deleteRow = function(){
s.tx({
f: 'video_delete',
filename: filename,
mid: e.id,
ke: e.ke,
time: s.nameToTime(filename),
end: s.formattedTime(new Date,'YYYY-MM-DD HH:mm:ss')
},'GRP_'+e.ke);
s.setDiskUsedForGroup(e,-(r.size / 1000000))
s.sqlQuery('DELETE FROM Videos WHERE `mid`=? AND `ke`=? AND `time`=?',queryValues,function(err){
if(err){
s.systemLog(lang['File Delete Error'] + ' : '+e.ke+' : '+' : '+e.id,err)
}
})
}
exec('rm '+e.dir+filename,function(err){
if(err){
s.systemLog('File Delete Error : '+e.ke+' : '+' : '+e.id,err)
s.systemLog(lang['File Delete Error'] + ' : '+e.ke+' : '+' : '+e.id,err)
}else{
deleteRow()
}
s.setDiskUsedForGroup(e,-(r.size/1000000))
})
s.tx({f:'video_delete',filename:filename,mid:e.id,ke:e.ke,time:s.nameToTime(filename),end:s.formattedTime(new Date,'YYYY-MM-DD HH:mm:ss')},'GRP_'+e.ke);
s.file('delete',e.dir+filename)
})
}else{
console.log('Delete Failed',e.save)
// console.error(err)
console.log(lang['Database row does not exist'],queryValues)
}
})
}