mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-27 18:40:39 +00:00
delete api update
This commit is contained in:
@@ -26,6 +26,10 @@ class DeleteFileOrFolderAction
|
|||||||
->with('folders')
|
->with('folders')
|
||||||
->find($id);
|
->find($id);
|
||||||
|
|
||||||
|
if (! $folder) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Gate::authorize('can-edit', [$folder, $shared]);
|
Gate::authorize('can-edit', [$folder, $shared]);
|
||||||
|
|
||||||
// Get folder shared record
|
// Get folder shared record
|
||||||
@@ -85,6 +89,10 @@ class DeleteFileOrFolderAction
|
|||||||
$file = File::withTrashed()
|
$file = File::withTrashed()
|
||||||
->find($id);
|
->find($id);
|
||||||
|
|
||||||
|
if (! $file) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Gate::authorize('can-edit', [$file, $shared]);
|
Gate::authorize('can-edit', [$file, $shared]);
|
||||||
|
|
||||||
// Get folder shared record
|
// Get folder shared record
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Domain\Items\Controllers;
|
namespace Domain\Items\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\JsonResponse;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Domain\Items\Requests\DeleteItemRequest;
|
use Domain\Items\Requests\DeleteItemRequest;
|
||||||
use Domain\Items\Actions\DeleteFileOrFolderAction;
|
use Domain\Items\Actions\DeleteFileOrFolderAction;
|
||||||
@@ -18,15 +18,20 @@ class DeleteFileOrFolderController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function __invoke(
|
public function __invoke(
|
||||||
DeleteItemRequest $request,
|
DeleteItemRequest $request,
|
||||||
): Response {
|
): JsonResponse {
|
||||||
|
$successMessage = [
|
||||||
|
'type' => 'success',
|
||||||
|
'message' => 'Items was successfully deleted.',
|
||||||
|
];
|
||||||
|
|
||||||
if (is_demo_account()) {
|
if (is_demo_account()) {
|
||||||
abort(204, 'Done.');
|
return response()->json($successMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($request->input('items') as $item) {
|
foreach ($request->input('items') as $item) {
|
||||||
($this->deleteFileOrFolder)($item, $item['id']);
|
($this->deleteFileOrFolder)($item, $item['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response('Done', 204);
|
return response()->json($successMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Domain\Items\Controllers;
|
namespace Domain\Items\Controllers;
|
||||||
|
|
||||||
use Domain\Files\Models\File;
|
|
||||||
use Domain\Folders\Models\Folder;
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Domain\Files\Resources\FileResource;
|
use Domain\Files\Resources\FileResource;
|
||||||
use Domain\Folders\Resources\FolderResource;
|
use Domain\Folders\Resources\FolderResource;
|
||||||
@@ -29,7 +27,7 @@ class RenameFileOrFolderController extends Controller
|
|||||||
public function __invoke(
|
public function __invoke(
|
||||||
RenameItemRequest $request,
|
RenameItemRequest $request,
|
||||||
string $id,
|
string $id,
|
||||||
): FileResource | FolderResource | File | Folder | array {
|
): FileResource|FolderResource {
|
||||||
if (is_demo_account()) {
|
if (is_demo_account()) {
|
||||||
$item = ($this->fakeRenameFileOrFolder)($request, $id);
|
$item = ($this->fakeRenameFileOrFolder)($request, $id);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Domain\Items\Requests;
|
namespace Domain\Items\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
@@ -23,9 +24,10 @@ class DeleteItemRequest extends FormRequest
|
|||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'data[*].force_delete' => 'required|boolean',
|
'items' => 'array',
|
||||||
'data[*].type' => 'required|string',
|
'items.*.force_delete' => 'required|boolean',
|
||||||
'data[*].id' => 'required|integer',
|
'items.*.type' => 'required|string',
|
||||||
|
'items.*.id' => 'required|uuid',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user