mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-28 11:00:39 +00:00
api resource refactoring
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Domain\Browsing\Controllers;
|
||||
|
||||
use DB;
|
||||
use Domain\Files\Resources\FilesCollection;
|
||||
use Domain\Folders\Resources\FolderCollection;
|
||||
use Domain\Folders\Resources\FolderResource;
|
||||
|
||||
@@ -15,6 +15,7 @@ class FileResource extends JsonResource
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
// TODO: optimize created_at/updated_at conversion because of performance issue
|
||||
return [
|
||||
'data' => [
|
||||
'id' => $this->id,
|
||||
|
||||
@@ -15,7 +15,7 @@ class UpdateFolderPropertyAction
|
||||
$folder = Folder::find($id);
|
||||
|
||||
// Set default folder icon
|
||||
if ($request->emoji === 'default') {
|
||||
if ($request->input('emoji') === 'default') {
|
||||
$folder->update([
|
||||
'emoji' => null,
|
||||
'color' => null,
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
namespace Domain\Folders\Controllers;
|
||||
|
||||
use Auth;
|
||||
use Domain\Folders\Resources\FolderResource;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Folders\Actions\CreateFolderAction;
|
||||
@@ -30,6 +31,6 @@ class CreateFolderController extends Controller
|
||||
// CreateFolder
|
||||
$folder = ($this->createFolder)($request);
|
||||
|
||||
return response($folder, 201);
|
||||
return response(new FolderResource($folder), 201);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ class FolderResource extends JsonResource
|
||||
{
|
||||
public function toArray($request): array
|
||||
{
|
||||
// TODO: optimize created_at/updated_at conversion because of performance issue
|
||||
return [
|
||||
'data' => [
|
||||
'id' => $this->id,
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<?php
|
||||
namespace Domain\Items\Actions;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Domain\Files\Resources\FileResource;
|
||||
use Domain\Folders\Resources\FolderResource;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
|
||||
class RenameFileOrFolderAction
|
||||
@@ -12,7 +13,8 @@ class RenameFileOrFolderAction
|
||||
public function __invoke(
|
||||
RenameItemRequest $request,
|
||||
string $id,
|
||||
): Model {
|
||||
): FolderResource|FileResource|array {
|
||||
|
||||
// Get item
|
||||
$item = get_item($request->input('type'), $id);
|
||||
|
||||
@@ -21,7 +23,11 @@ class RenameFileOrFolderAction
|
||||
'name' => $request->input('name'),
|
||||
]);
|
||||
|
||||
if ($request->input('type') === 'folder') {
|
||||
return new FolderResource($item);
|
||||
}
|
||||
|
||||
// Return updated item
|
||||
return $item;
|
||||
return new FileResource($item);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ namespace Domain\Items\Controllers;
|
||||
|
||||
use Auth;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Files\Resources\FileResource;
|
||||
use Domain\Folders\Resources\FolderResource;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
use Domain\Items\Actions\RenameFileOrFolderAction;
|
||||
@@ -24,7 +26,7 @@ class RenameFileOrFolderController extends Controller
|
||||
public function __invoke(
|
||||
RenameItemRequest $request,
|
||||
string $id,
|
||||
): Model | array {
|
||||
): FileResource|FolderResource|array {
|
||||
if (is_demo_account(Auth::user()->email)) {
|
||||
return ($this->fakeRenameFileOrFolder)($request, $id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user