mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
create folder in upload request
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
<?php
|
||||
namespace Tests\Domain\UploadRequest;
|
||||
|
||||
use Illuminate\Support\Arr;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Files\Resources\FileResource;
|
||||
use Domain\Folders\Resources\FolderResource;
|
||||
@@ -29,16 +27,8 @@ class RenameFileOrFolderController extends Controller
|
||||
// Get item
|
||||
$item = get_item($request->input('type'), $id);
|
||||
|
||||
// Get folders within upload request
|
||||
$folderWithinIds = Folder::with('folders:id,parent_id')
|
||||
->where('parent_id', $uploadRequest->id)
|
||||
->get(['id']);
|
||||
|
||||
// Then get all accessible folders within
|
||||
$accessibleParentIds = Arr::flatten([filter_folders_ids($folderWithinIds), $uploadRequest->id]);
|
||||
|
||||
// Check privileges
|
||||
if (! in_array($item->parent_id, $accessibleParentIds)) {
|
||||
if (! in_array($item->parent_id, getChildrenFolderIds($uploadRequest->id))) {
|
||||
return response('Access Denied', 403);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Domain\UploadRequest;
|
||||
|
||||
use Tests\TestCase;
|
||||
@@ -32,7 +33,7 @@ class UploadRequestEditingTest extends TestCase
|
||||
|
||||
$this
|
||||
->actingAs($user)
|
||||
->postJson("/api/upload-request/$uploadRequest->id/rename/$folder->id", [
|
||||
->patchJson("/api/upload-request/$uploadRequest->id/rename/$folder->id", [
|
||||
'name' => 'Renamed Folder',
|
||||
'type' => 'folder',
|
||||
])
|
||||
@@ -45,6 +46,7 @@ class UploadRequestEditingTest extends TestCase
|
||||
'name' => 'Renamed Folder',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
@@ -68,7 +70,7 @@ class UploadRequestEditingTest extends TestCase
|
||||
|
||||
$this
|
||||
->actingAs($user)
|
||||
->postJson("/api/upload-request/$uploadRequest->id/rename/$file->id", [
|
||||
->patchJson("/api/upload-request/$uploadRequest->id/rename/$file->id", [
|
||||
'name' => 'Renamed File',
|
||||
'type' => 'file',
|
||||
])
|
||||
@@ -81,4 +83,36 @@ class UploadRequestEditingTest extends TestCase
|
||||
'name' => 'Renamed File',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function it_create_new_folder_in_upload_request()
|
||||
{
|
||||
$user = User::factory()
|
||||
->hasSettings()
|
||||
->create();
|
||||
|
||||
$uploadRequest = UploadRequest::factory()
|
||||
->create([
|
||||
'status' => 'active',
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
|
||||
$this
|
||||
->actingAs($user)
|
||||
->postJson("/api/upload-request/$uploadRequest->id/create-folder", [
|
||||
'name' => 'New Folder',
|
||||
'parent_id' => $uploadRequest->id,
|
||||
])
|
||||
->assertStatus(201)
|
||||
->assertJsonFragment([
|
||||
'name' => 'New Folder',
|
||||
]);
|
||||
|
||||
$this->assertDatabaseHas('folders', [
|
||||
'name' => 'New Folder',
|
||||
'parent_id' => $uploadRequest->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user