routes response refactoring

This commit is contained in:
Čarodej
2022-05-16 14:14:48 +02:00
parent f66982b3ec
commit e87e2ec4e3
85 changed files with 534 additions and 316 deletions
@@ -4,6 +4,8 @@ namespace App\Socialite\Controllers;
use App\Users\Models\User;
use App\Users\DTO\CreateUserData;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Laravel\Socialite\Facades\Socialite;
use App\Users\Actions\CreateNewUserAction;
use Illuminate\Contracts\Auth\StatefulGuard;
@@ -21,8 +23,9 @@ class SocialiteCallbackController extends Controller
/**
* @throws MeteredBillingPlanDoesntExist
*/
public function __invoke($provider)
{
public function __invoke(
$provider
): JsonResponse|RedirectResponse {
$isAllowedRegistration = intval(get_settings('registration'));
// Get socialite user
@@ -52,7 +55,7 @@ class SocialiteCallbackController extends Controller
// TODO: redirect to the error page
if ($plan->doesntExist()) {
return response([
return response()->json([
'type' => 'error',
'message' => 'User registrations are temporarily disabled',
], 409);
@@ -61,7 +64,7 @@ class SocialiteCallbackController extends Controller
// Check if account registration is enabled
if (! $isAllowedRegistration) {
return response([
return response()->json([
'type' => 'error',
'message' => 'User registration is not allowed',
], 401);
@@ -1,17 +1,26 @@
<?php
namespace App\Socialite\Controllers;
use Illuminate\Http\JsonResponse;
use App\Http\Controllers\Controller;
use Laravel\Socialite\Facades\Socialite;
class SocialiteRedirectController extends Controller
{
public function __invoke($provider)
{
$url = Socialite::driver($provider)->stateless()->redirect()->getTargetUrl();
public function __invoke(
string $provider
): JsonResponse {
$url = Socialite::driver($provider)
->stateless()
->redirect()
->getTargetUrl();
return response()->json([
'url' => $url,
'type' => 'success',
'message' => 'The user was successfully verified',
'data' => [
'url' => $url,
],
]);
}
}
@@ -1,8 +1,8 @@
<?php
namespace App\Users\Controllers\Account;
use Illuminate\Http\JsonResponse;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Users\Resources\UserResource;
class AccountDetailsController extends Controller
@@ -10,10 +10,8 @@ class AccountDetailsController extends Controller
/**
* Get all user data for frontend
*/
public function __invoke(): UserResource
public function __invoke(): JsonResponse
{
return new UserResource(
Auth::user()
);
return response()->json(new UserResource(auth()->user()));
}
}
@@ -1,15 +1,15 @@
<?php
namespace App\Users\Controllers\Account;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\JsonResponse;
use App\Users\Resources\UserStorageResource;
class StorageCapacityController
{
public function __invoke(): UserStorageResource
public function __invoke(): JsonResponse
{
return new UserStorageResource(
Auth::user()
return response()->json(
new UserStorageResource(auth()->user())
);
}
}
@@ -14,9 +14,9 @@ class AccountAccessTokenController extends Controller
/**
* Get all user tokens
*/
public function index(): Response
public function index(): JsonResponse
{
return response(
return response()->json(
Auth::user()->tokens()->get()
);
}
@@ -24,8 +24,9 @@ class AccountAccessTokenController extends Controller
/**
* Create user tokens
*/
public function store(CreateAccessTokenRequest $request): JsonResponse
{
public function store(
CreateAccessTokenRequest $request
): JsonResponse {
if (isDemoAccount()) {
return response()->json([
'plainTextToken' => Str::random(40),
@@ -41,8 +42,9 @@ class AccountAccessTokenController extends Controller
/**
* Delete user token
*/
public function destroy(PersonalAccessToken $token): JsonResponse
{
public function destroy(
PersonalAccessToken $token
): JsonResponse {
$successMessage = [
'type' => 'success',
'message' => 'The token was successfully deleted.',
@@ -61,6 +63,6 @@ class AccountAccessTokenController extends Controller
$token->delete();
return response()->json($successMessage, 200);
return response()->json($successMessage);
}
}
@@ -13,8 +13,9 @@ class AuthenticateAndReturnBearerTokenController extends Controller
/**
* @throws ValidationException
*/
public function __invoke(LoginUserRequest $request): JsonResponse
{
public function __invoke(
LoginUserRequest $request
): JsonResponse {
// Get user
$user = User::where('email', $request->input('email'))
->firstOrFail();
@@ -17,8 +17,9 @@ class RegisterUserController extends Controller
) {
}
public function __invoke(RegisterUserRequest $request): JsonResponse
{
public function __invoke(
RegisterUserRequest $request
): JsonResponse {
// Check if account registration is enabled
if (! intval(get_settings('registration'))) {
return response()->json([
@@ -1,9 +1,9 @@
<?php
namespace App\Users\Controllers;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Storage;
use Symfony\Component\HttpFoundation\StreamedResponse;
use Illuminate\Database\Eloquent\ModelNotFoundException;
class GetAvatarController
{
@@ -12,10 +12,10 @@ class GetAvatarController
*/
public function __invoke(
string $basename
): StreamedResponse | Response {
): StreamedResponse {
// Check if file exist
if (! Storage::exists("/avatars/$basename")) {
return response('File not found', 404);
throw new ModelNotFoundException();
}
// Return avatar