mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-27 14:54:42 +00:00
added it_delete_multiple_files_in_shared_folder test
This commit is contained in:
@@ -241,13 +241,14 @@ class EditItemsController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check shared permission
|
// Check shared permission
|
||||||
if (!is_editor($shared)) abort(403);
|
if (is_visitor($shared)) {
|
||||||
|
abort(403);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($request->input('data') as $file) {
|
foreach ($request->items as $file) {
|
||||||
$id = $file['id'];
|
|
||||||
|
|
||||||
// Get file|folder item
|
// Get file|folder item
|
||||||
$item = get_item($file['type'], $id, $shared->user_id);
|
$item = get_item($file['type'], $file['id']);
|
||||||
|
|
||||||
// Check access to requested item
|
// Check access to requested item
|
||||||
if ($file['type'] === 'folder') {
|
if ($file['type'] === 'folder') {
|
||||||
@@ -257,10 +258,10 @@ class EditItemsController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Delete item
|
// Delete item
|
||||||
Editor::delete_item($file, $id, $shared);
|
Editor::delete_item($file, $file['id'], $shared);
|
||||||
}
|
}
|
||||||
// Return response
|
// Return response
|
||||||
return response(null, 204);
|
return response('Done', 204);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -373,7 +373,7 @@ class Editor
|
|||||||
*/
|
*/
|
||||||
public static function move($request, $to_id)
|
public static function move($request, $to_id)
|
||||||
{
|
{
|
||||||
foreach ($request->input('items') as $item) {
|
foreach ($request->items as $item) {
|
||||||
|
|
||||||
// Move folder
|
// Move folder
|
||||||
if ($item['type'] === 'folder') {
|
if ($item['type'] === 'folder') {
|
||||||
@@ -382,7 +382,6 @@ class Editor
|
|||||||
->update([
|
->update([
|
||||||
'parent_id' => $to_id
|
'parent_id' => $to_id
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move file
|
// Move file
|
||||||
|
|||||||
@@ -99,6 +99,52 @@ class ShareEditorTest extends TestCase
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_delete_multiple_files_in_shared_folder()
|
||||||
|
{
|
||||||
|
$folder = Folder::factory(Folder::class)
|
||||||
|
->create();
|
||||||
|
|
||||||
|
$share = Share::factory(Share::class)
|
||||||
|
->create([
|
||||||
|
'item_id' => $folder->id,
|
||||||
|
'user_id' => $folder->user_id,
|
||||||
|
'type' => 'folder',
|
||||||
|
'is_protected' => false,
|
||||||
|
'permission' => 'editor',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$files = File::factory(File::class)
|
||||||
|
->count(2)
|
||||||
|
->create([
|
||||||
|
'folder_id' => $folder->id
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->postJson("/api/editor/remove/public/$share->token", [
|
||||||
|
'items' => [
|
||||||
|
[
|
||||||
|
'id' => $files[0]->id,
|
||||||
|
'type' => 'file',
|
||||||
|
'force_delete' => false,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'id' => $files[1]->id,
|
||||||
|
'type' => 'file',
|
||||||
|
'force_delete' => false,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
])->assertStatus(204);
|
||||||
|
|
||||||
|
$files
|
||||||
|
->each(function ($file) {
|
||||||
|
$this->assertSoftDeleted('files', [
|
||||||
|
'id' => $file->id,
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user