From 409ab8c03f05ea9b50cf5d8952fb2bc3145aa5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=8Carodej?= Date: Thu, 21 Apr 2022 16:57:38 +0200 Subject: [PATCH] refactor user in upload controllers --- .env.testing | 2 +- src/App/Users/Models/User.php | 1 + src/Domain/Files/Actions/ProcessFileAction.php | 11 +++-------- .../Files/Controllers/RemoteUploadFileController.php | 4 +++- src/Domain/Files/Controllers/UploadFileController.php | 10 +++++++++- .../Files/Controllers/VisitorUploadFileController.php | 2 +- .../UploadFilesForUploadRequestController.php | 2 +- 7 files changed, 19 insertions(+), 13 deletions(-) diff --git a/.env.testing b/.env.testing index 50560bc6..39a04a99 100644 --- a/.env.testing +++ b/.env.testing @@ -1,6 +1,6 @@ APP_NAME=Laravel APP_ENV=local -APP_KEY=base64:8lOt4iwu42v5k2gtFMMiVwlK+Lrms8ZCPx9f6dp0Qlo= +APP_KEY=base64:k5FduZ4Vu5ONvcJysN6xZYlix606oNocewyXSyOEspQ= APP_DEBUG=true APP_URL=http://localhost APP_DEMO=false diff --git a/src/App/Users/Models/User.php b/src/App/Users/Models/User.php index fe197b7f..ec7f9403 100644 --- a/src/App/Users/Models/User.php +++ b/src/App/Users/Models/User.php @@ -38,6 +38,7 @@ use VueFileManager\Subscription\App\User\Traits\Billable; * @method static where(string $string, string $string1) * @method static create(array $array) * @method static find(mixed $email) + * @method canUpload(int $size) */ class User extends Authenticatable implements MustVerifyEmail { diff --git a/src/Domain/Files/Actions/ProcessFileAction.php b/src/Domain/Files/Actions/ProcessFileAction.php index 933fca5b..74418399 100644 --- a/src/Domain/Files/Actions/ProcessFileAction.php +++ b/src/Domain/Files/Actions/ProcessFileAction.php @@ -1,9 +1,9 @@ filled('parent_id') - ? Folder::find($request->input('parent_id'))->getLatestParent()->user - : auth()->user(); - // Check if user has enough space to upload file if (! $user->canUpload($size)) { // Delete file from chunk directory @@ -86,7 +81,7 @@ class ProcessFileAction 'basename' => $name, 'filesize' => $size, 'user_id' => $user->id, - 'creator_id' => auth()->id(), + 'creator_id' => auth()->check() ? auth()->id() : $user->id, ]); // Store file exif data diff --git a/src/Domain/Files/Controllers/RemoteUploadFileController.php b/src/Domain/Files/Controllers/RemoteUploadFileController.php index 808889e2..98460c5a 100644 --- a/src/Domain/Files/Controllers/RemoteUploadFileController.php +++ b/src/Domain/Files/Controllers/RemoteUploadFileController.php @@ -23,7 +23,9 @@ class RemoteUploadFileController extends Controller // Get user $user = $request->filled('parent_id') - ? Folder::find($request->input('parent_id'))->getLatestParent()->user + ? Folder::find($request->input('parent_id')) + ->getLatestParent() + ->user : auth()->user(); // Execute job for get content from url and save diff --git a/src/Domain/Files/Controllers/UploadFileController.php b/src/Domain/Files/Controllers/UploadFileController.php index fa860592..ceb79c87 100644 --- a/src/Domain/Files/Controllers/UploadFileController.php +++ b/src/Domain/Files/Controllers/UploadFileController.php @@ -1,6 +1,7 @@ boolean('is_last')) { + // Get user + $user = $request->filled('parent_id') + ? Folder::find($request->input('parent_id')) + ->getLatestParent() + ->user + : auth()->user(); + // Process file - $file = ($this->processFie)($request, null, $chunkPath); + $file = ($this->processFie)($request, $user, $chunkPath); return response(new FileResource($file), 201); } diff --git a/src/Domain/Files/Controllers/VisitorUploadFileController.php b/src/Domain/Files/Controllers/VisitorUploadFileController.php index 37efcf61..e9915914 100644 --- a/src/Domain/Files/Controllers/VisitorUploadFileController.php +++ b/src/Domain/Files/Controllers/VisitorUploadFileController.php @@ -55,7 +55,7 @@ class VisitorUploadFileController extends Controller // Proceed after last chunk if ($request->boolean('is_last')) { // Process file - $file = ($this->processFie)($request, $shared->user_id, $chunkPath); + $file = ($this->processFie)($request, $shared->user, $chunkPath); // Set public access url $file->setSharedPublicUrl($shared->token); diff --git a/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php b/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php index 72673127..67df3b18 100644 --- a/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php +++ b/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php @@ -41,7 +41,7 @@ class UploadFilesForUploadRequestController // Proceed after last chunk if ($request->boolean('is_last')) { // Process file - $file = ($this->processFie)($request, $uploadRequest->user_id, $chunkPath); + $file = ($this->processFie)($request, $uploadRequest->user, $chunkPath); // Set public access url $file->setUploadRequestPublicUrl($uploadRequest->id);