diff --git a/routes/api.php b/routes/api.php index f02ae11b..d5dc3aaf 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,6 +1,5 @@ name('verification.verify'); -Route::post('/email/verify/resend', ResendVerificationEmail::class) +Route::post('/email/verify/resend', ResendVerificationEmailController::class) ->name('verification.send'); Route::group(['middleware' => ['auth:sanctum']], function () { diff --git a/src/App/Users/Controllers/Account/UpdateProfileSettingsController.php b/src/App/Users/Controllers/Account/UpdateProfileSettingsController.php index eb97f8ce..64340667 100644 --- a/src/App/Users/Controllers/Account/UpdateProfileSettingsController.php +++ b/src/App/Users/Controllers/Account/UpdateProfileSettingsController.php @@ -1,9 +1,10 @@ 'success', + 'message' => "The {$request->input('name')} was successfully updated.", + ]; + // Check if is demo - abort_if(is_demo_account(), 204, 'Done.'); + if (is_demo_account()) { + return response()->json($successMessage); + } // Get user $user = Auth::user(); @@ -27,15 +36,21 @@ class UpdateProfileSettingsController extends Controller 'avatar' => store_avatar($request, 'avatar'), ]); - return response('Saved!', 204); + return response()->json($successMessage); } - $user - ->settings() - ->update( - make_single_input($request) - ); + // Try to store user option + try { + $user + ->settings() + ->update(make_single_input($request)); + } catch (QueryException $e) { + return response()->json([ + 'type' => 'error', + 'message' => "You typed the invalid '{$request->input('name')}' name parameter.", + ], 422); + } - return response('Saved!', 204); + return response()->json($successMessage); } } diff --git a/src/App/Users/Controllers/Authentication/CheckAccountController.php b/src/App/Users/Controllers/Authentication/CheckAccountController.php index 16d4a61d..0b4c33b6 100644 --- a/src/App/Users/Controllers/Authentication/CheckAccountController.php +++ b/src/App/Users/Controllers/Authentication/CheckAccountController.php @@ -2,7 +2,7 @@ namespace App\Users\Controllers\Authentication; use App\Users\Models\User; -use Illuminate\Http\Response; +use Illuminate\Http\JsonResponse; use App\Http\Controllers\Controller; use App\Users\Requests\CheckAccountRequest; @@ -13,19 +13,22 @@ class CheckAccountController extends Controller */ public function __invoke( CheckAccountRequest $request - ): array | Response { - $user = User::whereEmail($request->input('email')) + ): JsonResponse { + $user = User::where('email', $request->input('email')) ->first(); if (! $user) { - return response(__t('user_not_fount'), 404); + return response()->json([ + 'type' => 'error', + 'message' => __t('user_not_fount'), + ]); } - return [ + return response()->json([ 'name' => $user->settings->first_name, 'avatar' => $user->settings->avatar, 'verified' => $user->email_verified_at ? 1 : 0, 'oauth_provider' => $user->password ? null : $user->oauth_provider, - ]; + ]); } } diff --git a/src/App/Users/Controllers/Verification/ResendVerificationEmail.php b/src/App/Users/Controllers/Verification/ResendVerificationEmail.php deleted file mode 100644 index 6f5e2388..00000000 --- a/src/App/Users/Controllers/Verification/ResendVerificationEmail.php +++ /dev/null @@ -1,25 +0,0 @@ -input('email')) - ->first(); - - if ($user->hasVerifiedEmail()) { - return response('Email was already verified.', 204); - } - - $user->sendEmailVerificationNotification(); - - return response('Email verification link sent to your email', 204); - } -} diff --git a/src/App/Users/Controllers/Verification/ResendVerificationEmailController.php b/src/App/Users/Controllers/Verification/ResendVerificationEmailController.php new file mode 100644 index 00000000..3e013fec --- /dev/null +++ b/src/App/Users/Controllers/Verification/ResendVerificationEmailController.php @@ -0,0 +1,31 @@ +input('email')) + ->first(); + + if ($user->hasVerifiedEmail()) { + return response()->json([ + 'type' => 'error', + 'message' => 'Email was already verified.', + ], 422); + } + + $user->sendEmailVerificationNotification(); + + return response()->json([ + 'type' => 'success', + 'message' => 'Email verification link was sent to the email', + ]); + } +} diff --git a/src/App/Users/Controllers/Verification/VerifyEmailController.php b/src/App/Users/Controllers/Verification/VerifyEmailController.php index 61601ed1..fadd398a 100644 --- a/src/App/Users/Controllers/Verification/VerifyEmailController.php +++ b/src/App/Users/Controllers/Verification/VerifyEmailController.php @@ -2,8 +2,7 @@ namespace App\Users\Controllers\Verification; use App\Users\Models\User; -use Illuminate\Http\Request; -use Illuminate\Http\Response; +use Illuminate\Http\JsonResponse; use App\Http\Controllers\Controller; use Illuminate\Http\RedirectResponse; @@ -11,10 +10,12 @@ class VerifyEmailController extends Controller { public function __invoke( string $id, - Request $request, - ): RedirectResponse | Response { - if (! $request->hasValidSignature()) { - return response('Invalid or expired url provided.', 401); + ): RedirectResponse | JsonResponse { + if (! request()->hasValidSignature()) { + return response()->json([ + 'type' => 'error', + 'message' => 'Invalid or expired url provided.', + ], 422); } $user = User::find($id); diff --git a/src/App/Users/Requests/CheckAccountRequest.php b/src/App/Users/Requests/CheckAccountRequest.php index 58c9e7e4..92088220 100644 --- a/src/App/Users/Requests/CheckAccountRequest.php +++ b/src/App/Users/Requests/CheckAccountRequest.php @@ -23,7 +23,7 @@ class CheckAccountRequest extends FormRequest public function rules() { return [ - 'email' => 'required|string|email', + 'email' => 'required|email', ]; } } diff --git a/src/App/Users/Requests/ResendVerificationEmailRequest.php b/src/App/Users/Requests/ResendVerificationEmailRequest.php new file mode 100644 index 00000000..43f3b6db --- /dev/null +++ b/src/App/Users/Requests/ResendVerificationEmailRequest.php @@ -0,0 +1,29 @@ + 'required|email', + ]; + } +} diff --git a/src/App/Users/Requests/UpdateUserProfileSettingsRequest.php b/src/App/Users/Requests/UpdateUserProfileSettingsRequest.php index ad4d9abb..27c3068a 100644 --- a/src/App/Users/Requests/UpdateUserProfileSettingsRequest.php +++ b/src/App/Users/Requests/UpdateUserProfileSettingsRequest.php @@ -23,9 +23,9 @@ class UpdateUserProfileSettingsRequest extends FormRequest public function rules() { return [ + 'name' => 'required|string', + 'value' => 'sometimes|string', 'avatar' => 'sometimes|file', - 'name' => 'string', - 'value' => 'string|nullable', ]; } } diff --git a/src/Domain/Browsing/Controllers/BrowseFolderController.php b/src/Domain/Browsing/Controllers/BrowseFolderController.php index 7a141bd5..82d94b9e 100644 --- a/src/Domain/Browsing/Controllers/BrowseFolderController.php +++ b/src/Domain/Browsing/Controllers/BrowseFolderController.php @@ -2,7 +2,6 @@ namespace Domain\Browsing\Controllers; use Str; -use Illuminate\Http\Request; use Domain\Files\Models\File; use Domain\Folders\Models\Folder; use Illuminate\Support\Facades\Auth; diff --git a/src/Domain/Browsing/Controllers/BrowseTrashContentController.php b/src/Domain/Browsing/Controllers/BrowseTrashContentController.php index 517ce44f..394e1e49 100644 --- a/src/Domain/Browsing/Controllers/BrowseTrashContentController.php +++ b/src/Domain/Browsing/Controllers/BrowseTrashContentController.php @@ -1,12 +1,12 @@ json(new ShareResource($shared), 201); } -} \ No newline at end of file +} diff --git a/src/Domain/Sharing/Controllers/ShareViaEmailController.php b/src/Domain/Sharing/Controllers/ShareViaEmailController.php index 7fbeb4eb..094d1459 100644 --- a/src/Domain/Sharing/Controllers/ShareViaEmailController.php +++ b/src/Domain/Sharing/Controllers/ShareViaEmailController.php @@ -2,10 +2,10 @@ namespace Domain\Sharing\Controllers; use Auth; -use Domain\Sharing\Requests\ShareByEmailRequest; use Illuminate\Http\JsonResponse; use App\Http\Controllers\Controller; use Domain\Sharing\Actions\SendViaEmailAction; +use Domain\Sharing\Requests\ShareByEmailRequest; class ShareViaEmailController extends Controller { diff --git a/src/Domain/Sharing/Requests/CreateShareRequest.php b/src/Domain/Sharing/Requests/CreateShareRequest.php index cc171570..07f916b2 100644 --- a/src/Domain/Sharing/Requests/CreateShareRequest.php +++ b/src/Domain/Sharing/Requests/CreateShareRequest.php @@ -1,5 +1,4 @@ where('user_id', auth()->id()) ->cursor() - ->each(fn($folder) => $folder->forceDelete()); + ->each(fn ($folder) => $folder->forceDelete()); // Delete files File::onlyTrashed() diff --git a/src/Domain/Trash/Requests/RestoreTrashContentRequest.php b/src/Domain/Trash/Requests/RestoreTrashContentRequest.php index 67e478f5..e16bc51a 100644 --- a/src/Domain/Trash/Requests/RestoreTrashContentRequest.php +++ b/src/Domain/Trash/Requests/RestoreTrashContentRequest.php @@ -1,5 +1,4 @@ zip)($folders, $files, $shared); ($this->recordDownload)( - $zip->predictZipSize(), $shared->user_id + $zip->predictZipSize(), + $shared->user_id ); return $zip; diff --git a/src/Domain/Zip/Controllers/ZipController.php b/src/Domain/Zip/Controllers/ZipController.php index 9ac4274d..f6ea3aed 100644 --- a/src/Domain/Zip/Controllers/ZipController.php +++ b/src/Domain/Zip/Controllers/ZipController.php @@ -1,14 +1,14 @@ zip)($folders, $files); ($this->recordDownload)( - $zip->predictZipSize(), auth()->id() + $zip->predictZipSize(), + auth()->id() ); return $zip; diff --git a/src/Support/helpers.php b/src/Support/helpers.php index 6d73ad82..ff86f4f0 100644 --- a/src/Support/helpers.php +++ b/src/Support/helpers.php @@ -357,7 +357,7 @@ if (! function_exists('get_item')) { $entry = ($namespace)::withTrashed() ->find($id); - if (!$entry) { + if (! $entry) { abort(response()->json(entryNotFoundError()), 404); } @@ -1179,7 +1179,7 @@ if (! function_exists('replace_occurrence')) { } } -if (!function_exists('extractItemsFromGetAttribute')) { +if (! function_exists('extractItemsFromGetAttribute')) { /** * Extract items from get url attribute */ @@ -1195,7 +1195,7 @@ if (!function_exists('extractItemsFromGetAttribute')) { if (! array_key_exists(0, $items) || ! array_key_exists(1, $items)) { abort( response()->json([ - 'type' => 'error', + 'type' => 'error', 'message' => 'Incorrect argument format.', ], 422) ); diff --git a/tests/Domain/Files/FileTest.php b/tests/Domain/Files/FileTest.php index fa38d0c1..d400eec3 100644 --- a/tests/Domain/Files/FileTest.php +++ b/tests/Domain/Files/FileTest.php @@ -1,7 +1,6 @@ user_id/$file->basename"); }); } -} \ No newline at end of file +} diff --git a/tests/Domain/Sharing/UserShareTest.php b/tests/Domain/Sharing/UserShareTest.php index 04be96f0..63021b0e 100644 --- a/tests/Domain/Sharing/UserShareTest.php +++ b/tests/Domain/Sharing/UserShareTest.php @@ -1,5 +1,4 @@