Implementation of File Exists Function; Delete FileInfos upon Permanent User Delete (#8958)

Check if file was deleted on FS

Warning message if file couldnt be removed
Этот коммит содержится в:
Daniel Schalla
2018-06-25 18:12:59 +02:00
коммит произвёл Harrison Healey
родитель fc158fce90
Коммит ecefa6cdd1
11 изменённых файлов: 270 добавлений и 0 удалений

Просмотреть файл

@@ -1288,6 +1288,33 @@ func (a *App) PermanentDeleteUser(user *model.User) *model.AppError {
return result.Err
}
fchan := a.Srv.Store.FileInfo().GetForUser(user.Id)
var infos []*model.FileInfo
if result := <-fchan; result.Err != nil {
mlog.Warn("Error getting file list for user from FileInfoStore")
} else {
infos = result.Data.([]*model.FileInfo)
for _, info := range infos {
res, err := a.FileExists(info.Path)
if err != nil {
mlog.Warn(fmt.Sprintf("Error checking existence of file '%s': %s", info.Path, err))
continue
}
if res {
a.RemoveFile(info.Path)
} else {
mlog.Warn(fmt.Sprintf("Unable to remove file '%s': %s", info.Path, err))
}
}
}
if result := <-a.Srv.Store.FileInfo().PermanentDeleteByUser(user.Id); result.Err != nil {
return result.Err
}
if result := <-a.Srv.Store.User().PermanentDelete(user.Id); result.Err != nil {
return result.Err
}