controller refactoring part 22

This commit is contained in:
Peter Papp
2021-07-21 17:21:19 +02:00
parent d55f5c3b41
commit 9fb9b8a1b0
32 changed files with 105 additions and 173 deletions

View File

@@ -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;
}
}
}

View File

@@ -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");
}
}
}

View 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

View 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);
}

View File

@@ -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,

View File

@@ -1,9 +1,6 @@
<?php
namespace Domain\Folders\Actions;
use Domain\Folders\Models\Folder;
class UpdateFolderPropertyAction
@@ -40,4 +37,4 @@ class UpdateFolderPropertyAction
]);
}
}
}
}

View File

@@ -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);

View File

@@ -8,7 +8,6 @@ use Illuminate\Support\Facades\Auth;
class FavouriteController extends Controller
{
/**
* Add folder to user favourites
* todo: pridat validator ako AddToFavouritesRequest

View File

@@ -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,

View File

@@ -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
}
}
}
}
}

View File

@@ -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
}
}
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}