- added folder test methods

This commit is contained in:
Peter Papp
2021-02-27 09:22:23 +01:00
parent dfb809acee
commit 6736afaefb
6 changed files with 69 additions and 39 deletions
@@ -84,15 +84,15 @@ class EditItemsController extends Controller
* Rename item for authenticated master|editor user
*
* @param RenameItemRequest $request
* @param $unique_id
* @param $id
* @return mixed
* @throws Exception
*/
public function user_rename_item(RenameItemRequest $request, $unique_id)
public function user_rename_item(RenameItemRequest $request, $id)
{
// Demo preview
if (is_demo(Auth::id())) {
return Demo::rename_item($request, $unique_id);
return Demo::rename_item($request, $id);
}
// Check permission to rename item for authenticated editor
@@ -105,7 +105,7 @@ class EditItemsController extends Controller
$shared = get_shared($request->cookie('shared_token'));
// Get file|folder item
$item = get_item($request->type, $unique_id, Auth::id());
$item = get_item($request->type, $id);
// Check access to requested directory
if ($request->type === 'folder') {
@@ -118,11 +118,11 @@ class EditItemsController extends Controller
// If request have a change folder icon values set the folder icon
if ($request->type === 'folder' && $request->filled('folder_icon')) {
Editor::set_folder_icon($request->folder_icon, $unique_id);
Editor::set_folder_icon($request->folder_icon, $id);
}
// Rename Item
return Editor::rename_item($request, $unique_id);
return Editor::rename_item($request, $id);
}
/**
+3 -16
View File
@@ -191,25 +191,12 @@ function is_demo($user_id)
* Get folder or file item
*
* @param $type
* @param $unique_id
* @param $user_id
* @param $id
* @return \Illuminate\Database\Eloquent\Builder|Model
*/
function get_item($type, $unique_id, $user_id)
function get_item($type, $id)
{
if ($type === 'folder') {
// Return folder item
return Folder::where('unique_id', $unique_id)
->where('user_id', $user_id)
->firstOrFail();
}
// Return file item
return File::where('unique_id', $unique_id)
->where('user_id', $user_id)
->firstOrFail();
return ('App\\Models\\' . ucfirst($type))::find($id);
}
/**
@@ -25,8 +25,8 @@ class CreateFolderRequest extends FormRequest
public function rules()
{
return [
'parent_id' => 'required|integer',
'name' => 'string',
'parent_id' => 'nullable|uuid',
'name' => 'required|string',
];
}
}
+11 -11
View File
@@ -3,12 +3,12 @@
namespace App\Http\Tools;
use App;
use App\Share;
use App\File;
use App\Folder;
use App\Models\Folder;
use App\Models\Share;
use App\File as UserFile;
use App\Http\Requests\FileFunctions\RenameItemRequest;
use App\User;
use App\Zip;
use App\Models\User;
use App\Models\Zip;
use Aws\Exception\MultipartUploadException;
use Aws\S3\MultipartUploader;
use Carbon\Carbon;
@@ -222,15 +222,15 @@ class Editor
public static function create_folder($request, $shared = null)
{
// Get variables
$user_scope = is_null($shared) ? $request->user()->token()->scopes[0] : 'editor';
//$user_scope = is_null($shared) ? $request->user()->token()->scopes[0] : 'editor';
$user_scope = is_null($shared) ? 'master' : 'editor';
$name = $request->has('name') ? $request->input('name') : 'New Folder';
$user_id = is_null($shared) ? Auth::id() : $shared->user_id;
$unique_id = get_unique_id();
// Create folder
$folder = Folder::create([
'parent_id' => $request->parent_id,
'unique_id' => $unique_id,
'user_scope' => $user_scope,
'user_id' => $user_id,
'type' => 'folder',
@@ -308,7 +308,7 @@ class Editor
$child_folders = filter_folders_ids($folder->trashed_folders, 'unique_id');
// Get children files
$files = File::onlyTrashed()
$files = UserFile::onlyTrashed()
->where('user_id', $user->id)
->whereIn('folder_id', Arr::flatten([$unique_id, $child_folders]))
->get();
@@ -412,7 +412,7 @@ class Editor
} else {
// Move file under new folder
$item = File::where('user_id', $user_id)
$item = UserFile::where('user_id', $user_id)
->where('unique_id', $unique_id)
->firstOrFail();
@@ -523,7 +523,7 @@ class Editor
}
// Return new file
return File::create($options);
return UserFile::create($options);
}
}