personal access token api update

This commit is contained in:
Čarodej
2022-05-04 08:36:32 +02:00
parent 3d2e279afd
commit 137021fcdc
28 changed files with 66 additions and 53 deletions

View File

@@ -1,26 +1,29 @@
<?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 App\Users\Requests\UpdateUserPasswordRequest;
class UpdatePasswordController extends Controller
{
public function __invoke(
UpdateUserPasswordRequest $request
): Response {
// Check if is demo
abort_if(is_demo_account(), 204, 'Changed!');
): JsonResponse {
$successMessage = [
'type' => 'success',
'message' => "The password was successfully changed.",
];
$user = Auth::user();
if (isDemoAccount()) {
return response()->json($successMessage);
}
// Store new password
$user->update([
auth()->user()->update([
'password' => bcrypt($request->input('password')),
]);
return response('Changed!', 204);
return response()->json($successMessage);
}
}

View File

@@ -21,7 +21,7 @@ class UpdateProfileSettingsController extends Controller
];
// Check if is demo
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successMessage);
}

View File

@@ -1,12 +1,13 @@
<?php
namespace App\Users\Controllers\Authentication;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Str;
use Illuminate\Http\Response;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Laravel\Sanctum\PersonalAccessToken;
use App\Users\Requests\UserCreateAccessTokenRequest;
use App\Users\Requests\CreateAccessTokenRequest;
class AccountAccessTokenController extends Controller
{
@@ -16,41 +17,50 @@ class AccountAccessTokenController extends Controller
public function index(): Response
{
return response(
Auth::user()->tokens()->get(),
200
Auth::user()->tokens()->get()
);
}
/**
* Create user tokens
*/
public function store(UserCreateAccessTokenRequest $request): Response
public function store(CreateAccessTokenRequest $request): JsonResponse
{
if (is_demo_account()) {
return response(['plainTextToken' => Str::random(40)], 201);
if (isDemoAccount()) {
return response()->json([
'plainTextToken' => Str::random(40)
], 201);
}
$token = Auth::user()
->createToken(
$request->input('name')
);
->createToken($request->input('name'));
return response($token, 201);
return response()->json($token, 201);
}
/**
* Delete user token
*/
public function destroy(PersonalAccessToken $token): Response
public function destroy(PersonalAccessToken $token): JsonResponse
{
abort_if(is_demo_account(), 204, 'Deleted!');
$successMessage = [
'type' => 'success',
'message' => "The token was successfully deleted.",
];
if (isDemoAccount()) {
return response()->json($successMessage);
}
if (Auth::id() !== $token->tokenable_id) {
return response('Unauthorized', 401);
return response()->json([
'type' => 'error',
'message' => "You are not entitled to delete this token.",
], 401);
}
$token->delete();
return response('Deleted!', 204);
return response()->json($successMessage, 200);
}
}

View File

@@ -3,7 +3,7 @@ namespace App\Users\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UserCreateAccessTokenRequest extends FormRequest
class CreateAccessTokenRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.

View File

@@ -12,7 +12,7 @@ class ChangeUserRoleController extends Controller
ChangeRoleRequest $request,
User $user,
): UserResource {
if (is_demo_account()) {
if (isDemoAccount()) {
return new UserResource($user);
}

View File

@@ -16,7 +16,7 @@ class ChangeUserStorageCapacityController extends Controller
User $user,
): UserStorageResource {
// Abort in demo mode
if (is_demo_account()) {
if (isDemoAccount()) {
return new UserStorageResource($user);
}

View File

@@ -26,7 +26,7 @@ class UploadFileController extends Controller
*/
public function __invoke(UploadRequest $request)
{
if (is_demo_account()) {
if (isDemoAccount()) {
return ($this->fakeUploadFile)($request);
}

View File

@@ -33,7 +33,7 @@ class VisitorUploadFileController extends Controller
UploadRequest $request,
Share $shared,
) {
if (is_demo_account()) {
if (isDemoAccount()) {
return ($this->fakeUploadFile)($request);
}

View File

@@ -23,7 +23,7 @@ class CreateFolderController extends Controller
public function __invoke(
CreateFolderRequest $request,
): JsonResponse {
if (is_demo_account()) {
if (isDemoAccount()) {
$fakeFolder = ($this->fakeCreateFolder)($request);
return response()->json(new FolderResource($fakeFolder), 201);

View File

@@ -19,7 +19,7 @@ class FavouriteController extends Controller
];
// Return success response for the demo response
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successResponse, 201);
}
@@ -44,7 +44,7 @@ class FavouriteController extends Controller
'message' => 'Folder was successfully removed from your favourites folders',
];
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successResponse, 201);
}

View File

@@ -29,7 +29,7 @@ class VisitorCreateFolderController extends Controller
CreateFolderRequest $request,
Share $shared,
): Response | array {
if (is_demo_account()) {
if (isDemoAccount()) {
$fakeFolder = ($this->fakeCreateFolder)($request);
return response(new FolderResource($fakeFolder), 201);

View File

@@ -24,7 +24,7 @@ class DeleteFileOrFolderController extends Controller
'message' => 'Items was successfully deleted.',
];
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successMessage);
}

View File

@@ -24,7 +24,7 @@ class MoveFileOrFolderController extends Controller
'message' => 'Items was successfully moved.',
];
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successMessage);
}

View File

@@ -28,7 +28,7 @@ class RenameFileOrFolderController extends Controller
RenameItemRequest $request,
string $id,
): FileResource|FolderResource {
if (is_demo_account()) {
if (isDemoAccount()) {
$item = ($this->fakeRenameFileOrFolder)($request, $id);
if ($request->input('type') === 'folder') {

View File

@@ -23,7 +23,7 @@ class VisitorDeleteFileOrFolderController extends Controller
DeleteItemRequest $request,
Share $shared,
): Response {
if (is_demo_account()) {
if (isDemoAccount()) {
abort(204, 'Done.');
}

View File

@@ -24,7 +24,7 @@ class VisitorMoveFileOrFolderController extends Controller
MoveItemRequest $request,
Share $shared,
): Response {
if (is_demo_account()) {
if (isDemoAccount()) {
abort(204, 'Done.');
}

View File

@@ -31,7 +31,7 @@ class VisitorRenameFileOrFolderController extends Controller
Share $shared,
): Response | array {
// Return fake renamed item in demo
if (is_demo_account()) {
if (isDemoAccount()) {
return ($this->fakeRenameFileOrFolder)($request, $id);
}

View File

@@ -10,7 +10,7 @@ class FlushUserNotificationsController extends Controller
{
public function __invoke(): Response|Application|ResponseFactory
{
if (is_demo_account()) {
if (isDemoAccount()) {
return response('Done', 204);
}

View File

@@ -10,7 +10,7 @@ class MarkUserNotificationsAsReadController extends Controller
{
public function __invoke(): Response|Application|ResponseFactory
{
if (is_demo_account()) {
if (isDemoAccount()) {
return response('Done', 204);
}

View File

@@ -22,7 +22,7 @@ class RemoteUploadFileController extends Controller
'message' => 'Files was successfully uploaded.',
];
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successMessage);
}

View File

@@ -9,7 +9,7 @@ class ClearActionInInvitationNotificationAction
{
public function __invoke(User $user, TeamFolderInvitation $invitation): void
{
if (is_demo_account()) {
if (isDemoAccount()) {
return;
}

View File

@@ -23,7 +23,7 @@ class ConvertFolderIntoTeamFolderController extends Controller
Folder $folder
): ResponseFactory|Response {
// Abort in demo mode
if (is_demo_account()) {
if (isDemoAccount()) {
return response($folder, 201);
}

View File

@@ -29,7 +29,7 @@ class InvitationsController extends Controller
->first();
if ($user) {
if (is_demo_account()) {
if (isDemoAccount()) {
return response('Done', 204);
}
@@ -67,7 +67,7 @@ class InvitationsController extends Controller
// Clear action in existing notification
if ($user) {
if (is_demo_account()) {
if (isDemoAccount()) {
return response('Done', 204);
}

View File

@@ -14,7 +14,7 @@ class LeaveTeamFolderController extends Controller
public function __invoke(Folder $folder): Response|Application|ResponseFactory
{
// Abort in demo mode
if (is_demo_account()) {
if (isDemoAccount()) {
return response('Done.', 204);
}

View File

@@ -65,7 +65,7 @@ class TeamFoldersController extends Controller
CreateTeamFolderRequest $request,
): ResponseFactory | Response {
// Abort in demo mode
abort_if(is_demo_account(), 201, 'Done.');
abort_if(isDemoAccount(), 201, 'Done.');
$data = CreateTeamFolderData::fromRequest($request);
@@ -112,7 +112,7 @@ class TeamFoldersController extends Controller
UpdateMembersAction $updateMembers,
): ResponseFactory | Response {
// Abort in demo mode
if (is_demo_account()) {
if (isDemoAccount()) {
return response(new FolderResource($folder), 201);
}
@@ -143,7 +143,7 @@ class TeamFoldersController extends Controller
public function destroy(Folder $folder): ResponseFactory | Response
{
// Abort in demo mode
if (is_demo_account()) {
if (isDemoAccount()) {
return response('Done.', 201);
}

View File

@@ -16,7 +16,7 @@ class DumpTrashController extends Controller
'message' => 'The trash was successfully dumped.',
];
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successMessage);
}

View File

@@ -15,7 +15,7 @@ class RestoreTrashContentController extends Controller
'message' => 'The item was successfully restored.',
];
if (is_demo_account()) {
if (isDemoAccount()) {
return response()->json($successMessage);
}

View File

@@ -328,11 +328,11 @@ if (! function_exists('is_demo')) {
}
}
if (! function_exists('is_demo_account')) {
if (! function_exists('isDemoAccount')) {
/**
* Check if is demo environment
*/
function is_demo_account(): bool
function isDemoAccount(): bool
{
return config('vuefilemanager.is_demo') && auth()->user()->email === 'howdy@hi5ve.digital';
}