demo functions refactoring

This commit is contained in:
Čarodej
2022-03-05 18:09:53 +01:00
parent 81f227c5e7
commit 1e4649eec2
15 changed files with 58 additions and 28 deletions

View File

@@ -10,7 +10,7 @@
v-slot="{ invalid }"
tag="form"
>
<ValidationProvider tag="div" mode="passive" name="Token Name" rules="required" v-slot="{ errors }">
<ValidationProvider tag="div" mode="passive" name="Token Name" rules="required|min:3" v-slot="{ errors }">
<AppInputText :title="$t('popup_personal_token.label')" :error="errors[0]" :is-last="true">
<input
v-model="name"
@@ -49,7 +49,7 @@
</PopupActions>
<PopupActions v-if="token">
<ButtonBase class="w-full" @click.native="closePopup" button-style="theme">
<ButtonBase class="w-full" @click.native="$closePopup" button-style="theme">
{{ $t('shared_form.button_done') }}
</ButtonBase>
</PopupActions>
@@ -115,11 +115,10 @@ export default {
this.name = undefined
})
},
closePopup() {
this.$closePopup()
this.token = undefined
},
},
created() {
events.$on('popup:close', () => this.token = undefined)
}
}
</script>

View File

@@ -116,6 +116,10 @@ class SetupDevEnvironment extends Command
'timezone' => $this->faker->randomElement(['+1.0', '+2.0', '+3.0']),
]);
// Create personal tokens
$user->createToken('Workplace App');
$user->createToken('Web App');
// Show user credentials
$this->info('Default admin account created. Email: howdy@hi5ve.digital and Password: vuefilemanager');
}

View File

@@ -11,11 +11,11 @@ class UpdatePasswordController extends Controller
public function __invoke(
UpdateUserPasswordRequest $request
): Response {
$user = Auth::user();
// Check if is demo
abort_if(is_demo_account(), 204, 'Changed!');
$user = Auth::user();
// Store new password
$user->update([
'password' => bcrypt($request->input('password')),

View File

@@ -13,12 +13,12 @@ class UpdateProfileSettingsController extends Controller
*/
public function __invoke(UpdateUserProfileSettingsRequest $request): Response
{
// Get user
$user = Auth::user();
// Check if is demo
abort_if(is_demo_account(), 204, 'Done.');
// Get user
$user = Auth::user();
// Update avatar
if ($request->hasFile('avatar')) {
$user

View File

@@ -1,4 +1,5 @@
<?php
namespace App\Users\Controllers\Authentication;
use Illuminate\Support\Str;
@@ -26,15 +27,9 @@ class AccountAccessTokenController extends Controller
*/
public function store(UserCreateAccessTokenRequest $request): Response
{
abort_if(is_demo_account(), 201, [
'name' => 'token',
'token' => Str::random(40),
'abilities' => '["*"]',
'tokenable_id' => Str::uuid(),
'updated_at' => now(),
'created_at' => now(),
'id' => Str::random(40),
]);
if (is_demo_account()) {
return response(['plainTextToken' => Str::random(40)], 201);
}
$token = Auth::user()
->createToken(

View File

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

View File

@@ -15,6 +15,11 @@ class ChangeUserStorageCapacityController extends Controller
ChangeStorageCapacityRequest $request,
User $user,
): UserStorageResource {
// Abort in demo mode
if (is_demo_account()) {
return new UserStorageResource($user);
}
$user
->limitations()
->update(

View File

@@ -17,7 +17,7 @@ class FavouriteController extends Controller
$user = Auth::user();
foreach ($request->input('folders') as $id) {
if (is_demo_account($user->email)) {
if (is_demo_account()) {
return $user->favouriteFolders->makeHidden(['pivot']);
}
@@ -38,7 +38,7 @@ class FavouriteController extends Controller
{
$user = Auth::user();
if (is_demo_account($user->email)) {
if (is_demo_account()) {
return $user->favouriteFolders->makeHidden(['pivot']);
}

View File

@@ -15,6 +15,9 @@ class SendContactMessageController extends Controller
public function __invoke(
SendContactMessageRequest $request
): Response {
// Abort in demo mode
abort_if(is_demo(), 201, 'Done');
$contactEmail = get_settings('contact_email');
if ($contactEmail) {

View File

@@ -7,9 +7,6 @@ use Domain\Settings\Models\Setting;
class GetSettingsValueController
{
/**
* List of allowed settings to get from public request
*/
private array $blacklist = [
'purchase_code',
'license',

View File

@@ -1,6 +1,7 @@
<?php
namespace Domain\Teams\Controllers;
use Domain\Folders\Resources\FolderResource;
use Illuminate\Http\Response;
use Domain\Folders\Models\Folder;
use App\Http\Controllers\Controller;
@@ -22,6 +23,11 @@ class ConvertFolderIntoTeamFolderController extends Controller
ConvertIntoTeamFolderRequest $request,
Folder $folder
): ResponseFactory|Response {
// Abort in demo mode
if (is_demo_account()) {
return response($folder, 201);
}
// Check if user didn't exceed max team members limit
if (! $folder->owner->canInviteTeamMembers($request->input('invitations'))) {
return response([

View File

@@ -19,6 +19,11 @@ class LeaveTeamFolderController extends Controller
public function __invoke(Folder $folder): Response|Application|ResponseFactory
{
// Abort in demo mode
if (is_demo_account()) {
return response('Done.', 204);
}
// Authorize action
if (! Gate::any(['can-edit', 'can-view'], [$folder, null])) {
abort(403, 'Access Denied');

View File

@@ -64,6 +64,9 @@ class TeamFoldersController extends Controller
public function store(
CreateTeamFolderRequest $request,
): ResponseFactory | Response {
// Abort in demo mode
abort_if(is_demo_account(), 201, 'Done.');
$data = CreateTeamFolderData::fromRequest($request);
// Check if user can create team folder
@@ -108,6 +111,12 @@ class TeamFoldersController extends Controller
UpdateInvitationsAction $updateInvitations,
UpdateMembersAction $updateMembers,
): ResponseFactory | Response {
// Abort in demo mode
if (is_demo_account()) {
return response(new FolderResource($folder), 201);
}
// Authorize request
$this->authorize('owner', $folder);
// Check if user didn't exceed max team members limit
@@ -133,6 +142,11 @@ class TeamFoldersController extends Controller
public function destroy(Folder $folder): ResponseFactory | Response
{
// Abort in demo mode
if (is_demo_account()) {
return response('Done.', 201);
}
$this->authorize('owner', $folder);
// Delete existing invitations

View File

@@ -14,7 +14,7 @@ class RestoreTrashContentController extends Controller
public function __invoke(
Request $request
): Response {
abort_if(is_demo_account('howdy@hi5ve.digital'), 204, 'Done.');
abort_if(is_demo_account(), 204, 'Done.');
// TODO: zrefaktorovat validator do requestu
$validator = Validator::make($request->input('items'), [

View File

@@ -17,7 +17,9 @@ class SetUploadRequestAsFilledController
]);
// Send user notification
$uploadRequest->user->notify(new UploadRequestFulfilledNotification($uploadRequest));
if (!is_demo_account()) {
$uploadRequest->user->notify(new UploadRequestFulfilledNotification($uploadRequest));
}
return response(new UploadRequestResource($uploadRequest), 201);
}