mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-20 08:52:15 +00:00
controller refactoring part 22
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Files\Actions;
|
||||
|
||||
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Intervention\Image\ImageManagerStatic as Image;
|
||||
|
||||
@@ -16,8 +13,7 @@ class CreateImageThumbnailAction
|
||||
string $file_path,
|
||||
string $filename,
|
||||
string $user_id
|
||||
): string|null {
|
||||
|
||||
): string | null {
|
||||
$availableFormats = ['image/gif', 'image/jpeg', 'image/jpg', 'image/png', 'image/webp'];
|
||||
|
||||
// Create thumbnail from image
|
||||
@@ -45,4 +41,4 @@ class CreateImageThumbnailAction
|
||||
|
||||
return $thumbnail ?? null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Files\Actions;
|
||||
|
||||
|
||||
use Aws\Exception\MultipartUploadException;
|
||||
use Aws\S3\MultipartUploader;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Aws\Exception\MultipartUploadException;
|
||||
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||
|
||||
class MoveFileToExternalStorageAction
|
||||
@@ -16,9 +13,9 @@ class MoveFileToExternalStorageAction
|
||||
* Move file to external storage if is set
|
||||
*/
|
||||
public function __invoke(
|
||||
string $file, string $user_id
|
||||
string $file,
|
||||
string $user_id
|
||||
): void {
|
||||
|
||||
$disk_local = \Storage::disk('local');
|
||||
|
||||
// Get file size
|
||||
@@ -63,4 +60,4 @@ class MoveFileToExternalStorageAction
|
||||
// Delete file after upload
|
||||
$disk_local->delete("files/$user_id/$file");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?php
|
||||
namespace Domain\Files\Actions;
|
||||
|
||||
use App\Users\Actions\CheckStorageCapacityAction;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\File;
|
||||
@@ -9,6 +8,7 @@ use Illuminate\Support\Facades\Storage;
|
||||
use Domain\Files\Requests\UploadRequest;
|
||||
use Domain\Files\Models\File as UserFile;
|
||||
use Domain\Traffic\Actions\RecordUploadAction;
|
||||
use App\Users\Actions\CheckStorageCapacityAction;
|
||||
|
||||
class UploadFileAction
|
||||
{
|
||||
@@ -17,7 +17,8 @@ class UploadFileAction
|
||||
public CheckStorageCapacityAction $checkStorageCapacity,
|
||||
public CreateImageThumbnailAction $createImageThumbnail,
|
||||
public MoveFileToExternalStorageAction $moveFileToExternalStorage,
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Upload new file
|
||||
|
||||
@@ -16,8 +16,7 @@ class UploadFileController extends Controller
|
||||
UploadRequest $request,
|
||||
UploadFileAction $uploadFiles,
|
||||
FakeUploadFileAction $fakeUploadFile,
|
||||
): File|array {
|
||||
|
||||
): File | array {
|
||||
if (is_demo_account('howdy@hi5ve.digital')) {
|
||||
return ($fakeUploadFile)($request);
|
||||
}
|
||||
|
||||
@@ -3,12 +3,11 @@ namespace Domain\Files\Controllers;
|
||||
|
||||
use Illuminate\Http\Response;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Support\Demo\Actions\FakeUploadFileAction;
|
||||
use Support\Services\HelperService;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Support\Demo\Actions\DemoService;
|
||||
use Domain\Files\Requests\UploadRequest;
|
||||
use Domain\Files\Actions\UploadFileAction;
|
||||
use Support\Demo\Actions\FakeUploadFileAction;
|
||||
|
||||
/**
|
||||
* guest user upload file into shared folder
|
||||
@@ -17,7 +16,8 @@ class VisitorUploadFilesController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
public HelperService $helper,
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
FakeUploadFileAction $fakeUploadFile,
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Folders\Actions;
|
||||
|
||||
|
||||
use Domain\Folders\Models\Folder;
|
||||
|
||||
class UpdateFolderPropertyAction
|
||||
@@ -40,4 +37,4 @@ class UpdateFolderPropertyAction
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,7 @@ class CreateFolderController extends Controller
|
||||
CreateFolderRequest $request,
|
||||
CreateFolderAction $createFolder,
|
||||
FakeCreateFolderAction $fakeCreateFolder,
|
||||
): Response|array {
|
||||
|
||||
): Response | array {
|
||||
// If is demo, return fake folder
|
||||
if (is_demo_account(Auth::user()->email)) {
|
||||
return ($fakeCreateFolder)($request);
|
||||
|
||||
@@ -8,7 +8,6 @@ use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class FavouriteController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Add folder to user favourites
|
||||
* todo: pridat validator ako AddToFavouritesRequest
|
||||
|
||||
@@ -3,11 +3,11 @@ namespace Domain\Folders\Controllers;
|
||||
|
||||
use Illuminate\Http\Response;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Support\Demo\Actions\FakeCreateFolderAction;
|
||||
use Support\Services\HelperService;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Folders\Actions\CreateFolderAction;
|
||||
use Domain\Folders\Requests\CreateFolderRequest;
|
||||
use Support\Demo\Actions\FakeCreateFolderAction;
|
||||
|
||||
/**
|
||||
* Create new folder for guest user with edit permission
|
||||
@@ -16,7 +16,8 @@ class VisitorCreateFolderController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
public HelperService $helper,
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
FakeCreateFolderAction $fakeCreateFolderAction,
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Actions;
|
||||
|
||||
|
||||
use DB;
|
||||
use Domain\Files\Models\File as UserFile;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Illuminate\Support\Arr;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Domain\Files\Models\File as UserFile;
|
||||
|
||||
class DeleteFileOrFolderAction
|
||||
{
|
||||
@@ -119,4 +116,4 @@ class DeleteFileOrFolderAction
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Actions;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Files\Models\File as UserFile;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Domain\Files\Models\File as UserFile;
|
||||
|
||||
class MoveFileOrFolderAction
|
||||
{
|
||||
@@ -29,4 +25,4 @@ class MoveFileOrFolderAction
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Actions;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
|
||||
class RenameFileOrFolderAction
|
||||
{
|
||||
@@ -17,7 +13,6 @@ class RenameFileOrFolderAction
|
||||
RenameItemRequest $request,
|
||||
string $id,
|
||||
): Model {
|
||||
|
||||
// Get item
|
||||
$item = get_item($request->input('type'), $id);
|
||||
|
||||
@@ -29,4 +24,4 @@ class RenameFileOrFolderAction
|
||||
// Return updated item
|
||||
return $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Controllers;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Auth;
|
||||
use Domain\Items\Actions\DeleteFileOrFolderAction;
|
||||
use Domain\Items\Requests\DeleteItemRequest;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Items\Requests\DeleteItemRequest;
|
||||
use Domain\Items\Actions\DeleteFileOrFolderAction;
|
||||
|
||||
class DeleteFileOrFolderController extends Controller
|
||||
{
|
||||
@@ -18,9 +15,11 @@ class DeleteFileOrFolderController extends Controller
|
||||
public function __invoke(
|
||||
DeleteItemRequest $request,
|
||||
DeleteFileOrFolderAction $deleteFileOrFolder,
|
||||
): Response{
|
||||
): Response {
|
||||
abort_if(
|
||||
is_demo_account(Auth::user()?->email), 204, 'Done.'
|
||||
is_demo_account(Auth::user()?->email),
|
||||
204,
|
||||
'Done.'
|
||||
);
|
||||
|
||||
foreach ($request->input('items') as $item) {
|
||||
@@ -29,4 +28,4 @@ class DeleteFileOrFolderController extends Controller
|
||||
|
||||
return response('Done', 204);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,11 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Controllers;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Auth;
|
||||
use Domain\Files\Models\File as UserFile;
|
||||
use Domain\Folders\Models\Folder;
|
||||
use Domain\Items\Actions\MoveFileOrFolderAction;
|
||||
use Domain\Items\Requests\MoveItemRequest;
|
||||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Items\Requests\MoveItemRequest;
|
||||
use Domain\Items\Actions\MoveFileOrFolderAction;
|
||||
|
||||
class MoveFileOrFolderController extends Controller
|
||||
{
|
||||
@@ -22,15 +16,17 @@ class MoveFileOrFolderController extends Controller
|
||||
MoveItemRequest $request,
|
||||
MoveFileOrFolderAction $moveFileOrFolder,
|
||||
): Response {
|
||||
|
||||
abort_if(
|
||||
is_demo_account(Auth::user()?->email), 204, 'Done.'
|
||||
is_demo_account(Auth::user()?->email),
|
||||
204,
|
||||
'Done.'
|
||||
);
|
||||
|
||||
($moveFileOrFolder)(
|
||||
$request, $request->input('to_id')
|
||||
$request,
|
||||
$request->input('to_id')
|
||||
);
|
||||
|
||||
return response('Done!', 204);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Controllers;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Auth;
|
||||
use Domain\Folders\Actions\UpdateFolderPropertyAction;
|
||||
use Domain\Items\Actions\RenameFileOrFolderAction;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
use Domain\Items\Actions\RenameFileOrFolderAction;
|
||||
use Domain\Folders\Actions\UpdateFolderPropertyAction;
|
||||
use Support\Demo\Actions\FakeRenameFileOrFolderAction;
|
||||
|
||||
class RenameFileOrFolderController extends Controller
|
||||
@@ -23,18 +20,17 @@ class RenameFileOrFolderController extends Controller
|
||||
RenameFileOrFolderAction $renameFileOrFolder,
|
||||
UpdateFolderPropertyAction $updateFolderProperty,
|
||||
FakeRenameFileOrFolderAction $fakeRenameFileOrFolder,
|
||||
): Model|array {
|
||||
|
||||
): Model | array {
|
||||
if (is_demo_account(Auth::user()->email)) {
|
||||
return ($fakeRenameFileOrFolder)($request, $id);
|
||||
}
|
||||
|
||||
// If request contain icon or color, then change it
|
||||
if ($request->filled('emoji') || $request->filled('color')) {
|
||||
($updateFolderProperty)($request, $id);
|
||||
($updateFolderProperty)($request, $id);
|
||||
}
|
||||
|
||||
// Rename Item
|
||||
return ($renameFileOrFolder)($request, $id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Controllers;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Items\Actions\DeleteFileOrFolderAction;
|
||||
use Domain\Items\Actions\MoveFileOrFolderAction;
|
||||
use Domain\Items\Requests\DeleteItemRequest;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Illuminate\Http\Response;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Support\Services\HelperService;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Items\Requests\DeleteItemRequest;
|
||||
use Domain\Items\Actions\DeleteFileOrFolderAction;
|
||||
|
||||
/**
|
||||
* Delete item for guest user with edit permission
|
||||
@@ -20,15 +16,17 @@ class VisitorDeleteFileOrFolderController extends Controller
|
||||
public function __construct(
|
||||
private HelperService $helper,
|
||||
private DeleteFileOrFolderAction $deleteFileOrFolder,
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
DeleteItemRequest $request,
|
||||
Share $shared,
|
||||
): Response {
|
||||
|
||||
abort_if(
|
||||
is_demo_account($shared->user->email), 204, 'Done.'
|
||||
is_demo_account($shared->user->email),
|
||||
204,
|
||||
'Done.'
|
||||
);
|
||||
|
||||
// Check ability to access protected share record
|
||||
@@ -56,4 +54,4 @@ class VisitorDeleteFileOrFolderController extends Controller
|
||||
|
||||
return response('Done', 204);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Controllers;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Files\Models\File;
|
||||
use Domain\Items\Actions\MoveFileOrFolderAction;
|
||||
use Domain\Items\Requests\MoveItemRequest;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Illuminate\Http\Response;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Support\Services\HelperService;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Items\Requests\MoveItemRequest;
|
||||
use Domain\Items\Actions\MoveFileOrFolderAction;
|
||||
|
||||
/**
|
||||
* Move item for guest user with edit permission
|
||||
@@ -20,15 +17,17 @@ class VisitorMoveFileOrFolderController extends Controller
|
||||
public function __construct(
|
||||
private HelperService $helper,
|
||||
private MoveFileOrFolderAction $moveFileOrFolder,
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
MoveItemRequest $request,
|
||||
Share $shared,
|
||||
): Response {
|
||||
|
||||
abort_if(
|
||||
is_demo_account($shared->user->email), 204, 'Done.'
|
||||
is_demo_account($shared->user->email),
|
||||
204,
|
||||
'Done.'
|
||||
);
|
||||
|
||||
// Check ability to access protected share record
|
||||
@@ -61,4 +60,4 @@ class VisitorMoveFileOrFolderController extends Controller
|
||||
|
||||
return response('Done!', 204);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\Items\Controllers;
|
||||
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Folders\Actions\UpdateFolderPropertyAction;
|
||||
use Domain\Items\Actions\RenameFileOrFolderAction;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Illuminate\Http\Response;
|
||||
use Support\Demo\Actions\FakeRenameFileOrFolderAction;
|
||||
use Domain\Sharing\Models\Share;
|
||||
use Support\Services\HelperService;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Domain\Items\Requests\RenameItemRequest;
|
||||
use Domain\Items\Actions\RenameFileOrFolderAction;
|
||||
use Domain\Folders\Actions\UpdateFolderPropertyAction;
|
||||
use Support\Demo\Actions\FakeRenameFileOrFolderAction;
|
||||
|
||||
/**
|
||||
* Rename item for guest user with edit permission
|
||||
@@ -23,14 +20,14 @@ class VisitorRenameFileOrFolderController extends Controller
|
||||
private RenameFileOrFolderAction $renameFileOrFolder,
|
||||
private UpdateFolderPropertyAction $updateFolderProperty,
|
||||
private FakeRenameFileOrFolderAction $fakeRenameFileOrFolder,
|
||||
) {}
|
||||
) {
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
RenameItemRequest $request,
|
||||
string $id,
|
||||
Share $shared,
|
||||
): Response {
|
||||
|
||||
// Return fake renamed item in demo
|
||||
if (is_demo_account($shared->user->email)) {
|
||||
return ($this->fakeRenameFileOrFolder)($request, $id);
|
||||
@@ -69,4 +66,4 @@ class VisitorRenameFileOrFolderController extends Controller
|
||||
|
||||
return response($item, 201);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user