mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-27 18:40:39 +00:00
Refactoring
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
namespace Domain\Folders\Actions;
|
||||
|
||||
use Domain\Folders\Requests\CreateFolderRequest;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
@@ -11,14 +12,14 @@ class CreateFolderAction
|
||||
* Create new directory
|
||||
*/
|
||||
public function __invoke(
|
||||
$request,
|
||||
CreateFolderRequest $request,
|
||||
?Share $shared = null,
|
||||
): Folder | array {
|
||||
return Folder::create([
|
||||
'parent_id' => $request->parent_id,
|
||||
'name' => $request->name,
|
||||
'color' => $request->color ?? null,
|
||||
'emoji' => $request->emoji ?? null,
|
||||
'parent_id' => $request->input('parent_id'),
|
||||
'name' => $request->input('name'),
|
||||
'color' => $request->input('color') ?? null,
|
||||
'emoji' => $request->input('emoji') ?? null,
|
||||
'author' => $shared ? 'visitor' : 'user',
|
||||
'user_id' => $shared ? $shared->user_id : Auth::id(),
|
||||
]);
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
namespace Domain\Folders\Actions;
|
||||
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
|
||||
class UpdateFolderPropertyAction
|
||||
{
|
||||
/**
|
||||
* Update folder icon or style
|
||||
*/
|
||||
public function __invoke($request, string $id): void
|
||||
public function __invoke(RenameItemRequest $request, string $id): void
|
||||
{
|
||||
// Get folder
|
||||
$folder = Folder::find($id);
|
||||
@@ -24,7 +25,7 @@ class UpdateFolderPropertyAction
|
||||
// Set emoji
|
||||
if ($request->filled('emoji')) {
|
||||
$folder->update([
|
||||
'emoji' => $request->emoji,
|
||||
'emoji' => $request->input('emoji'),
|
||||
'color' => null,
|
||||
]);
|
||||
}
|
||||
@@ -33,7 +34,7 @@ class UpdateFolderPropertyAction
|
||||
if ($request->filled('color')) {
|
||||
$folder->update([
|
||||
'emoji' => null,
|
||||
'color' => $request->color,
|
||||
'color' => $request->input('color'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,20 +10,24 @@ use Support\Demo\Actions\FakeCreateFolderAction;
|
||||
|
||||
class CreateFolderController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
public CreateFolderAction $createFolder,
|
||||
public FakeCreateFolderAction $fakeCreateFolder,
|
||||
) {}
|
||||
|
||||
/**
|
||||
* Create new folder for authenticated master|editor user
|
||||
*/
|
||||
public function __invoke(
|
||||
CreateFolderRequest $request,
|
||||
CreateFolderAction $createFolder,
|
||||
FakeCreateFolderAction $fakeCreateFolder,
|
||||
): Response | array {
|
||||
// If is demo, return fake folder
|
||||
if (is_demo_account(Auth::user()->email)) {
|
||||
return ($fakeCreateFolder)($request);
|
||||
return ($this->fakeCreateFolder)($request);
|
||||
}
|
||||
|
||||
$folder = ($createFolder)($request);
|
||||
// CreateFolder
|
||||
$folder = ($this->createFolder)($request);
|
||||
|
||||
return response($folder, 201);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,19 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
|
||||
/**
|
||||
* @method static whereUserId(int|string|null $id)
|
||||
* @method static find(mixed $id)
|
||||
* @method static where(string $string, string $user_id)
|
||||
* @property string id
|
||||
* @property string user_id
|
||||
* @property string parent_id
|
||||
* @property string name
|
||||
* @property string color
|
||||
* @property string emoji
|
||||
* @property string author
|
||||
* @property string author_id
|
||||
* @property string created_at
|
||||
* @property string updated_at
|
||||
* @property string deleted_at
|
||||
*/
|
||||
class Folder extends Model
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user