delete api update

This commit is contained in:
Čarodej
2022-05-03 08:27:14 +02:00
parent 257de10cc8
commit 9ed2eec092
4 changed files with 23 additions and 10 deletions

View File

@@ -26,6 +26,10 @@ class DeleteFileOrFolderAction
->with('folders')
->find($id);
if (! $folder) {
return;
}
Gate::authorize('can-edit', [$folder, $shared]);
// Get folder shared record
@@ -85,6 +89,10 @@ class DeleteFileOrFolderAction
$file = File::withTrashed()
->find($id);
if (! $file) {
return;
}
Gate::authorize('can-edit', [$file, $shared]);
// Get folder shared record

View File

@@ -1,7 +1,7 @@
<?php
namespace Domain\Items\Controllers;
use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse;
use App\Http\Controllers\Controller;
use Domain\Items\Requests\DeleteItemRequest;
use Domain\Items\Actions\DeleteFileOrFolderAction;
@@ -18,15 +18,20 @@ class DeleteFileOrFolderController extends Controller
*/
public function __invoke(
DeleteItemRequest $request,
): Response {
): JsonResponse {
$successMessage = [
'type' => 'success',
'message' => 'Items was successfully deleted.',
];
if (is_demo_account()) {
abort(204, 'Done.');
return response()->json($successMessage);
}
foreach ($request->input('items') as $item) {
($this->deleteFileOrFolder)($item, $item['id']);
}
return response('Done', 204);
return response()->json($successMessage);
}
}

View File

@@ -1,8 +1,6 @@
<?php
namespace Domain\Items\Controllers;
use Domain\Files\Models\File;
use Domain\Folders\Models\Folder;
use App\Http\Controllers\Controller;
use Domain\Files\Resources\FileResource;
use Domain\Folders\Resources\FolderResource;
@@ -29,7 +27,7 @@ class RenameFileOrFolderController extends Controller
public function __invoke(
RenameItemRequest $request,
string $id,
): FileResource | FolderResource | File | Folder | array {
): FileResource|FolderResource {
if (is_demo_account()) {
$item = ($this->fakeRenameFileOrFolder)($request, $id);

View File

@@ -1,4 +1,5 @@
<?php
namespace Domain\Items\Requests;
use Illuminate\Foundation\Http\FormRequest;
@@ -23,9 +24,10 @@ class DeleteItemRequest extends FormRequest
public function rules()
{
return [
'data[*].force_delete' => 'required|boolean',
'data[*].type' => 'required|string',
'data[*].id' => 'required|integer',
'items' => 'array',
'items.*.force_delete' => 'required|boolean',
'items.*.type' => 'required|string',
'items.*.id' => 'required|uuid',
];
}
}