mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-28 02:50:39 +00:00
user settings api update
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
<?php
|
||||
namespace App\Users\Controllers\Account;
|
||||
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Database\QueryException;
|
||||
use App\Users\Requests\UpdateUserProfileSettingsRequest;
|
||||
|
||||
class UpdateProfileSettingsController extends Controller
|
||||
@@ -11,10 +12,18 @@ class UpdateProfileSettingsController extends Controller
|
||||
/**
|
||||
* Update user settings
|
||||
*/
|
||||
public function __invoke(UpdateUserProfileSettingsRequest $request): Response
|
||||
{
|
||||
public function __invoke(
|
||||
UpdateUserProfileSettingsRequest $request
|
||||
): JsonResponse {
|
||||
$successMessage = [
|
||||
'type' => '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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
];
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
<?php
|
||||
namespace App\Users\Controllers\Verification;
|
||||
|
||||
use App\Users\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class ResendVerificationEmail extends Controller
|
||||
{
|
||||
public function __invoke(
|
||||
Request $request
|
||||
): Response {
|
||||
$user = User::where('email', $request->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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
namespace App\Users\Controllers\Verification;
|
||||
|
||||
use App\Users\Models\User;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Users\Requests\ResendVerificationEmailRequest;
|
||||
|
||||
class ResendVerificationEmailController extends Controller
|
||||
{
|
||||
public function __invoke(
|
||||
ResendVerificationEmailRequest $request
|
||||
): JsonResponse {
|
||||
$user = User::where('email', $request->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',
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -23,7 +23,7 @@ class CheckAccountRequest extends FormRequest
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'email' => 'required|string|email',
|
||||
'email' => 'required|email',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
namespace App\Users\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class ResendVerificationEmailRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'email' => 'required|email',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -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',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user