diff --git a/.env.example b/.env.example index 37c85841..141efe7b 100644 --- a/.env.example +++ b/.env.example @@ -69,4 +69,6 @@ CASHIER_CURRENCY= STRIPE_KEY= STRIPE_SECRET= STRIPE_WEBHOOK_SECRET= -CASHIER_PAYMENT_NOTIFICATION=App\Notifications\ConfirmPayment \ No newline at end of file +CASHIER_PAYMENT_NOTIFICATION=App\Notifications\ConfirmPayment + +SANCTUM_STATEFUL_DOMAINS=localhost,localhost:8000,127.0.0.1,127.0.0.1:8000,::1 \ No newline at end of file diff --git a/app/Http/Controllers/App/SetupWizardController.php b/app/Http/Controllers/App/SetupWizardController.php index 59675f22..ca8f1422 100644 --- a/app/Http/Controllers/App/SetupWizardController.php +++ b/app/Http/Controllers/App/SetupWizardController.php @@ -85,6 +85,8 @@ class SetupWizardController extends Controller throw new HttpException(500, $e->getMessage()); } + // TODO: add SANCTUM_STATEFUL_DOMAINS parameter + setEnvironmentValue([ 'DB_CONNECTION' => $request->connection, 'DB_HOST' => $request->host, diff --git a/app/Http/Controllers/FileManager/BrowseController.php b/app/Http/Controllers/FileManager/BrowseController.php index bf98c38e..b05206fc 100644 --- a/app/Http/Controllers/FileManager/BrowseController.php +++ b/app/Http/Controllers/FileManager/BrowseController.php @@ -23,19 +23,21 @@ class BrowseController extends Controller */ public function folder(Request $request, $id) { + $root_id = $id === 'undefined' ? null : $id; + // Get folder trash items if ($request->query('trash')) { // Get folders and files $folders = Folder::onlyTrashed() ->with('parent') - ->where('parent_id', $id) + ->where('parent_id', $root_id) ->sortable() ->get(); $files = File::onlyTrashed() ->with('parent') - ->where('folder_id', $id) + ->where('folder_id', $root_id) ->sortable() ->get(); @@ -45,12 +47,12 @@ class BrowseController extends Controller // Get folders and files $folders = Folder::with(['parent:id,name', 'shared:token,id,item_id,permission,is_protected,expire_in']) - ->where('parent_id', $id) + ->where('parent_id', $root_id) ->sortable() ->get(); $files = File::with(['parent:id,name', 'shared:token,id,item_id,permission,is_protected,expire_in']) - ->where('folder_id', $id) + ->where('folder_id', $root_id) ->sortable() ->get(); diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index c4bb8a7c..61e128aa 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -16,11 +16,11 @@ class Kernel extends HttpKernel */ protected $middleware = [ \App\Http\Middleware\TrustProxies::class, - \App\Http\Middleware\CheckForMaintenanceMode::class, + \Fruitcake\Cors\HandleCors::class, + \App\Http\Middleware\PreventRequestsDuringMaintenance::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, - \Fruitcake\Cors\HandleCors::class, ]; /** @@ -41,8 +41,8 @@ class Kernel extends HttpKernel 'api' => [ EnsureFrontendRequestsAreStateful::class, - \App\Http\Middleware\EncryptCookies::class, - //'throttle:60,1', + //'throttle:api', + //\App\Http\Middleware\EncryptCookies::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, ], ]; diff --git a/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/app/Http/Middleware/PreventRequestsDuringMaintenance.php new file mode 100644 index 00000000..e4956d0b --- /dev/null +++ b/app/Http/Middleware/PreventRequestsDuringMaintenance.php @@ -0,0 +1,17 @@ +check()) { - return redirect(RouteServiceProvider::HOME); + $guards = empty($guards) ? [null] : $guards; + + foreach ($guards as $guard) { + if (Auth::guard($guard)->check()) { + return redirect('/files'); + } } return $next($request); diff --git a/app/Http/Resources/UserResource.php b/app/Http/Resources/UserResource.php index 73078816..3aef2db0 100644 --- a/app/Http/Resources/UserResource.php +++ b/app/Http/Resources/UserResource.php @@ -20,65 +20,51 @@ class UserResource extends JsonResource { // TODO: zrefaktorovat return [ - 'data' => [ - 'id' => (string)$this->id, - 'type' => 'user', - 'attributes' => [ + 'data' => [ + 'id' => $this->id, + 'type' => 'user', + 'attributes' => [ 'storage_capacity' => $this->settings->storage_capacity, 'subscription' => $this->subscribed('main'), 'incomplete_payment' => $this->hasIncompletePayment('main') ? route('cashier.payment', $this->subscription('main')->latestPayment()->id) : null, 'stripe_customer' => is_null($this->stripe_id) ? false : true, 'email' => env('APP_DEMO') ? obfuscate_email($this->email) : $this->email, 'role' => $this->role, + 'folders' => $this->folder_tree, + 'storage' => $this->storage, 'created_at_formatted' => format_date($this->created_at, '%d. %B. %Y'), 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, + ], + 'relationships' => [ + 'settings' => [ + 'data' => [ + 'id' => $this->id, + 'type' => 'settings', + 'attributes' => [ + 'avatar' => $this->settings->avatar, + 'billing_name' => $this->settings->name, + 'billing_address' => $this->settings->address, + 'billing_state' => $this->settings->state, + 'billing_city' => $this->settings->city, + 'billing_postal_code' => $this->settings->postal_code, + 'billing_country' => $this->settings->country, + 'billing_phone_number' => $this->settings->phone_number, + 'timezone' => $this->settings->timezone + ] + ] + ], + 'favourites' => [ + 'data' => [ + 'id' => $this->id, + 'type' => 'favourite_folders', + 'attributes' => [ + 'folders' => $this->favouriteFolders->makeHidden(['pivot']) + ], + ], + ] ] ], - 'relationships' => [ - 'settings' => [ - 'data' => [ - 'id' => $this->settings->user_id, - 'type' => 'settings', - 'attributes' => [ - 'avatar' => $this->settings->avatar, - 'billing_name' => $this->settings->name, - 'billing_address' => $this->settings->address, - 'billing_state' => $this->settings->state, - 'billing_city' => $this->settings->city, - 'billing_postal_code' => $this->settings->postal_code, - 'billing_country' => $this->settings->country, - 'billing_phone_number' => $this->settings->phone_number, - 'timezone' => $this->settings->timezone - ] - ] - ], - 'storage' => [ - 'data' => [ - 'id' => '1', - 'type' => 'storage', - 'attributes' => $this->storage - ] - ], - 'favourites' => [ - 'data' => [ - 'id' => '1', - 'type' => 'folders_favourite', - 'attributes' => [ - 'folders' => $this->favouriteFolders->makeHidden(['pivot']) - ], - ], - ], - 'tree' => [ - 'data' => [ - 'id' => '1', - 'type' => 'folders_tree', - 'attributes' => [ - 'folders' => $this->folder_tree - ], - ], - ], - ] ]; } } diff --git a/app/Models/User.php b/app/Models/User.php index 91e43006..13768ade 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -7,7 +7,6 @@ use App\Services\HelperService; use App\Services\StripeService; use ByteUnits\Metric; use Carbon\Carbon; -use DB; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -122,8 +121,8 @@ class User extends Authenticatable */ public function getFolderTreeAttribute() { - return File::with(['folders.shared', 'shared:token,id,item_id,permission,is_protected,expire_in']) - ->where('parent_id', 0) + return Folder::with(['folders.shared', 'shared:token,id,item_id,permission,is_protected,expire_in']) + ->where('parent_id', null) ->where('user_id', $this->id) ->sortable() ->get(); diff --git a/app/Providers/FortifyServiceProvider.php b/app/Providers/FortifyServiceProvider.php index dd292143..e68a89e7 100644 --- a/app/Providers/FortifyServiceProvider.php +++ b/app/Providers/FortifyServiceProvider.php @@ -36,9 +36,9 @@ class FortifyServiceProvider extends ServiceProvider Fortify::updateUserPasswordsUsing(UpdateUserPassword::class); Fortify::resetUserPasswordsUsing(ResetUserPassword::class); - RateLimiter::for('login', function (Request $request) { + /*RateLimiter::for('login', function (Request $request) { return Limit::perMinute(5)->by($request->email.$request->ip()); - }); + });*/ RateLimiter::for('two-factor', function (Request $request) { return Limit::perMinute(5)->by($request->session()->get('login.id')); diff --git a/config/vuefilemanager.php b/config/vuefilemanager.php index 472f5311..bf1a239c 100644 --- a/config/vuefilemanager.php +++ b/config/vuefilemanager.php @@ -2,7 +2,7 @@ return [ - 'version' => '1.8.2.1', + 'version' => '2.0', // Define size of chunk uploaded by MB. E.g. integer 128 means chunk size will be 128MB. 'chunk_size' => env('CHUNK_SIZE', '128'), diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 8975dfe3..74245706 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,78 +1,86 @@ { "/js/main.js": "/js/main.js", "/css/app.css": "/css/app.css", - "/chunks/admin.js": "/chunks/admin.js?id=06067d0f4cff64abd1e4", - "/chunks/admin-account.js": "/chunks/admin-account.js?id=fde37ee0820a1d2dc1f9", - "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js?id=1ad1b7b56512338223eb", - "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js?id=6c02fe91a2e167b63a98", - "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js?id=50155ecdafab2d18dda1", - "/chunks/app-appearance.js": "/chunks/app-appearance.js?id=ba3c9a7acbaacc20af9e", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=fd3c7242b5c765b469e4", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=60421d0349712350e866", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=a8bd98f9f181d9ee68fd", - "/chunks/app-billings.js": "/chunks/app-billings.js?id=97f5c44884d8c2128c56", - "/chunks/app-email.js": "/chunks/app-email.js?id=59c27449f65145dc208e", - "/chunks/app-index.js": "/chunks/app-index.js?id=a337e0f9b64590a88cc9", - "/chunks/app-others.js": "/chunks/app-others.js?id=1655c151466b066ee1c5", - "/chunks/app-payments.js": "/chunks/app-payments.js?id=cb8ea484a0e605ace175", - "/chunks/app-settings.js": "/chunks/app-settings.js?id=e8ee87b4fb155d3edb6b", - "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js?id=99eb5ed6af46738c97e0", - "/chunks/app-setup.js": "/chunks/app-setup.js?id=777ebaef548d5b4c61be", - "/chunks/billings-detail.js": "/chunks/billings-detail.js?id=0eec974c6f0ee4e6ecab", - "/chunks/contact-us.js": "/chunks/contact-us.js?id=b243adc35233292f8ad6", - "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js?id=96ac1ede73f3fc9afa37", - "/chunks/create-new-password.js": "/chunks/create-new-password.js?id=00b75239db203720652c", - "/chunks/dashboard.js": "/chunks/dashboard.js?id=750c017c825ec385e0aa", - "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=d7795f20187163939276", - "/chunks/database.js": "/chunks/database.js?id=212e2d81f6f5c54c2dd2", - "/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=1d8ee4bfbcde69c97021", - "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=374911110bca4e1b3f91", - "/chunks/files.js": "/chunks/files.js?id=d47d2964ef535ad5754c", - "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js?id=e285e842f58178d681c4", - "/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=880304f033df88daeedd", - "/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=539a5b88c5f32511449e", - "/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=f430110273d76b28906f", - "/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=94c75dac20c4ccf7bde0", - "/chunks/invoices.js": "/chunks/invoices.js?id=02089f329654fbbc894d", - "/chunks/landing-page.js": "/chunks/landing-page.js?id=ddac17e6108c6f58f082", - "/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=6666b81edc5ff6f60e82", - "/chunks/page-edit.js": "/chunks/page-edit.js?id=7e6363b9a35e62dd560c", - "/chunks/pages.js": "/chunks/pages.js?id=ca712437ecc7e5aeee5c", - "/chunks/plan.js": "/chunks/plan.js?id=cc041fb9c2cb9ad8f0ff", - "/chunks/plan-create.js": "/chunks/plan-create.js?id=24bb1297c55fe70c1dd0", - "/chunks/plan-delete.js": "/chunks/plan-delete.js?id=e06dc32848cf3bfb9e6b", - "/chunks/plan-settings.js": "/chunks/plan-settings.js?id=242cb0706c986d08c484", - "/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=36a86cf6f3d8a2868504", - "/chunks/plans.js": "/chunks/plans.js?id=282268d939f8b52f6acd", - "/chunks/profile.js": "/chunks/profile.js?id=060bceb3f703969fb135", - "/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=a44394b1fa09f996a9fd", - "/chunks/purchase-code.js": "/chunks/purchase-code.js?id=8c1d40ff91c04fcefcfc", - "/chunks/settings.js": "/chunks/settings.js?id=463a3b35eb4020fdcc77", - "/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=4d1a070566ee2069e1bd", - "/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=603b7f706f34d9c89a62", - "/chunks/settings-password.js": "/chunks/settings-password.js?id=0df4bd46f1d3d90e360a", - "/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=37955b9e8262af7fe525", - "/chunks/settings-storage.js": "/chunks/settings-storage.js?id=013b6f15f907caaecd1e", - "/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=5d702de3662f601fccca", - "/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=99b4f321902fe6b0eb23", - "/chunks/shared-files.js": "/chunks/shared-files.js?id=1860b9031f41ed46d0e0", - "/chunks/shared-page.js": "/chunks/shared-page.js?id=d8a8c573da5a08b7cd36", - "/chunks/sign-in.js": "/chunks/sign-in.js?id=6b961e6324b09384dfd0", - "/chunks/sign-up.js": "/chunks/sign-up.js?id=a46f57a34f8f862a24a8", - "/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=080bade1ed512f512591", - "/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=5b2f00a9e19520adc31e", - "/chunks/subscription-service.js": "/chunks/subscription-service.js?id=1ac6b87f8797b491ef77", - "/chunks/upgrade.js": "/chunks/upgrade.js?id=ac1ff92a934e448ca6b4", - "/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=198bfc33644f85bfc075", - "/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=7e805915ede7c330c6d1", - "/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=2811533956c0c185714d", - "/chunks/user.js": "/chunks/user.js?id=a400499012c6786a3652", - "/chunks/user-create.js": "/chunks/user-create.js?id=d5066d3ff9d7625ba7f1", - "/chunks/user-delete.js": "/chunks/user-delete.js?id=5d392a3df7b05cf93930", - "/chunks/user-detail.js": "/chunks/user-detail.js?id=fbfe45c7762f7ae123e4", - "/chunks/user-invoices.js": "/chunks/user-invoices.js?id=97c78350b65914e4b16d", - "/chunks/user-password.js": "/chunks/user-password.js?id=ad772e769a8562c42c17", - "/chunks/user-storage.js": "/chunks/user-storage.js?id=2c5f4cdd17574255ea05", - "/chunks/user-subscription.js": "/chunks/user-subscription.js?id=d6683735de17fd8c55c8", - "/chunks/users.js": "/chunks/users.js?id=f2359ae7c0c166001c33" + "/chunks/admin.js": "/chunks/admin.js?id=d2e6acc904b1c1a9387b", + "/chunks/admin-account.js": "/chunks/admin-account.js?id=b306bc83a32911dc7bbc", + "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js?id=f8aa71af8223ad1df2a0", + "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js?id=bc5af3a7a82d95c71c52", + "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js?id=dfc7c9e8edb8146d9bd0", + "/chunks/app-appearance.js": "/chunks/app-appearance.js?id=461130dc9ddda9c3e94e", + "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=1ae1e65bb6a5ed7c3e10", + "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=459aa0e9effdb1a44ce2", + "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=f3f0a717f5806faf488c", + "/chunks/app-billings.js": "/chunks/app-billings.js?id=89de5679d1cd8047f47c", + "/chunks/app-email.js": "/chunks/app-email.js?id=a80a64a4ec22e4d2e03d", + "/chunks/app-index.js": "/chunks/app-index.js?id=b7966950a821c2d1561f", + "/chunks/app-others.js": "/chunks/app-others.js?id=998b74c9a395c76dddd1", + "/chunks/app-payments.js": "/chunks/app-payments.js?id=b68c7953a62e26107acb", + "/chunks/app-settings.js": "/chunks/app-settings.js?id=368b31bcef5716a6b884", + "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js?id=e71bb0286189734a8aec", + "/chunks/app-setup.js": "/chunks/app-setup.js?id=4112238baf5cc574afb1", + "/chunks/billings-detail.js": "/chunks/billings-detail.js?id=fdbbb11f8c216a2c3899", + "/chunks/contact-us.js": "/chunks/contact-us.js?id=d72e3c4daa900092a3c3", + "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js?id=bea1c83df0a0b8141b5b", + "/chunks/create-new-password.js": "/chunks/create-new-password.js?id=08ef47a59c4d6340ff5a", + "/chunks/dashboard.js": "/chunks/dashboard.js?id=aa35b53d6813332579a8", + "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=b32bd13f9927b553b7a3", + "/chunks/database.js": "/chunks/database.js?id=a877c2f9792396cba0c9", + "/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=5c3460801e1960b361be", + "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=b835f8fdedb4bc19f4a5", + "/chunks/files.js": "/chunks/files.js?id=c4a3a295c64cadca5fe1", + "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js?id=bfc9bbbc5c50bc21cad7", + "/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=fcfb659af2fbff3992a7", + "/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=a8c91010ab23e11e39d1", + "/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=7f6474e743f5e147705a", + "/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=7e924ee2e747d16a2810", + "/chunks/invoices.js": "/chunks/invoices.js?id=054419f3a5e20c88a43b", + "/chunks/landing-page.js": "/chunks/landing-page.js?id=0e919a402129ab433555", + "/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=1a749c690540349c5276", + "/chunks/page-edit.js": "/chunks/page-edit.js?id=9a1ca9eefd4c02203cf5", + "/chunks/pages.js": "/chunks/pages.js?id=b2605d41be8c599439c4", + "/chunks/plan.js": "/chunks/plan.js?id=4a568fef0d2f64863538", + "/chunks/plan-create.js": "/chunks/plan-create.js?id=0891373d600612e1d05c", + "/chunks/plan-delete.js": "/chunks/plan-delete.js?id=85e6c8a7dfb7756fa8ad", + "/chunks/plan-settings.js": "/chunks/plan-settings.js?id=710a1d7a15b162ba0ce3", + "/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=ca0c3e768cd3ebe76739", + "/chunks/plans.js": "/chunks/plans.js?id=f200c1c92480ea2abecd", + "/chunks/profile.js": "/chunks/profile.js?id=32f60791adeedc97eee8", + "/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=f32a0aa48b017ab8d29f", + "/chunks/purchase-code.js": "/chunks/purchase-code.js?id=d364c8a71495404871a5", + "/chunks/settings.js": "/chunks/settings.js?id=57a84555bb4089da3be2", + "/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=2b284137d3ddc6f9df2a", + "/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=4cbe90ad2c1b6ddaf3e5", + "/chunks/settings-password.js": "/chunks/settings-password.js?id=77c9549276bf5eda2bf6", + "/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=a865bd36a948958cb704", + "/chunks/settings-storage.js": "/chunks/settings-storage.js?id=ef3826e9dfb07f199df3", + "/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=c9dbe62a0fcc2f86f7ee", + "/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=7e5e05c018ddecf29567", + "/chunks/shared-files.js": "/chunks/shared-files.js?id=e6f7de2910d85a2dd3e4", + "/chunks/shared-page.js": "/chunks/shared-page.js?id=f1276490cd24473cd50b", + "/chunks/sign-in.js": "/chunks/sign-in.js?id=7990aa527e933e0f0ebf", + "/chunks/sign-up.js": "/chunks/sign-up.js?id=2bc6c1353362c0063d45", + "/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=8bfaa10b8499114b79a2", + "/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=1790ab9aa493a483cf3c", + "/chunks/subscription-service.js": "/chunks/subscription-service.js?id=8fc09aa45881d0c04e17", + "/chunks/upgrade.js": "/chunks/upgrade.js?id=0e9a429679fe180f649e", + "/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=8a1684e4910b4729ce56", + "/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=94cfb5164e5e7f0c2943", + "/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=2ce4b7a0ff69e192a968", + "/chunks/user.js": "/chunks/user.js?id=15546fc4913e749b7e67", + "/chunks/user-create.js": "/chunks/user-create.js?id=63e90b9f77be0c7c0d6f", + "/chunks/user-delete.js": "/chunks/user-delete.js?id=0f5036bce016ef6d9ae0", + "/chunks/user-detail.js": "/chunks/user-detail.js?id=fb9eb769caee40f5e130", + "/chunks/user-invoices.js": "/chunks/user-invoices.js?id=485ff8cb55e409fb36de", + "/chunks/user-password.js": "/chunks/user-password.js?id=98871ec6e84b1d14c1e3", + "/chunks/user-storage.js": "/chunks/user-storage.js?id=cb587cf1144a5bf79e76", + "/chunks/user-subscription.js": "/chunks/user-subscription.js?id=da505396e6266a67cba1", + "/chunks/users.js": "/chunks/users.js?id=be2f08e5c0cb8803fd8d", + "/js/main.48bc6ba4c58c916b18bb.hot-update.js": "/js/main.48bc6ba4c58c916b18bb.hot-update.js", + "/chunks/files~chunks/shared-files~chunks/shared-page.f1b079b97f8091b2390c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.f1b079b97f8091b2390c.hot-update.js", + "/chunks/files~chunks/shared-files~chunks/shared-page.e8a29f26d160f2731420.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.e8a29f26d160f2731420.hot-update.js", + "/chunks/files.04a4918321ccf1ee0426.hot-update.js": "/chunks/files.04a4918321ccf1ee0426.hot-update.js", + "/chunks/files.1e310970710676459f34.hot-update.js": "/chunks/files.1e310970710676459f34.hot-update.js", + "/chunks/files.b7c6ed65657ab8a91afe.hot-update.js": "/chunks/files.b7c6ed65657ab8a91afe.hot-update.js", + "/chunks/files.c9883bd526f46929296f.hot-update.js": "/chunks/files.c9883bd526f46929296f.hot-update.js", + "/chunks/files.9282ec4668bf89e4551f.hot-update.js": "/chunks/files.9282ec4668bf89e4551f.hot-update.js" } diff --git a/resources/js/components/FilesView/DesktopToolbar.vue b/resources/js/components/FilesView/DesktopToolbar.vue index 61fcf0fd..66299072 100644 --- a/resources/js/components/FilesView/DesktopToolbar.vue +++ b/resources/js/components/FilesView/DesktopToolbar.vue @@ -86,10 +86,7 @@ export default { if (!this.$store.getters.user) return true // Check if user has storage - return ( - this.$store.getters.user.relationships.storage.data.attributes.used <= - 100 - ) + return this.$store.getters.user.data.attributes.storage.used <= 100 }, directoryName() { return this.currentFolder diff --git a/resources/js/components/Others/UserAvatar.vue b/resources/js/components/Others/UserAvatar.vue index 7c7e9aa8..11a16215 100644 --- a/resources/js/components/Others/UserAvatar.vue +++ b/resources/js/components/Others/UserAvatar.vue @@ -1,7 +1,7 @@ @@ -19,7 +19,7 @@ return this.user.data.attributes.incomplete_payment }, isNearlyFullStorageCapacity() { - return this.config.storageLimit && this.user.relationships.storage.data.attributes.used > 95 + return this.config.storageLimit && this.user.data.attributes.storage.used > 95 } }, } diff --git a/resources/js/store/modules/fileBrowser.js b/resources/js/store/modules/fileBrowser.js index 30b201ab..f4e4677a 100644 --- a/resources/js/store/modules/fileBrowser.js +++ b/resources/js/store/modules/fileBrowser.js @@ -34,8 +34,8 @@ const actions = { commit('STORE_PREVIOUS_FOLDER', getters.currentFolder) let url = payload.folder.location === 'trash' - ? '/folders/' + payload.folder.unique_id + getters.sorting.URI + '&trash=true' - : '/folders/' + payload.folder.unique_id + getters.sorting.URI + ? '/browse/folders/' + payload.folder.id + getters.sorting.URI + '&trash=true' + : '/browse/folders/' + payload.folder.id + getters.sorting.URI axios .get(getters.api + url) diff --git a/resources/js/views/Auth/SignIn.vue b/resources/js/views/Auth/SignIn.vue index bc60fc48..7148c2e0 100644 --- a/resources/js/views/Auth/SignIn.vue +++ b/resources/js/views/Auth/SignIn.vue @@ -14,12 +14,12 @@ + :class="{'is-error': errors[0]}" /> {{ errors[0] }} + :disabled="isLoading" /> {{ $t('page_login.registration_text') }} @@ -44,12 +44,12 @@ v-slot="{ errors }"> + :class="{'is-error': errors[0]}" /> {{ errors[0] }} + :disabled="isLoading" /> {{ $t('page_sign_in.password_reset_text') }} @@ -166,7 +166,7 @@ // Send request to get user token axios - .post('/api/user/login', { + .post('/login', { email: this.loginEmail, password: this.loginPassword, }) @@ -209,6 +209,11 @@ created() { this.$scrollTop() this.$store.commit('PROCESSING_POPUP', undefined) + + if (this.config.isDemo) { + this.loginEmail = 'howdy@hi5ve.digital' + this.loginPassword = 'vuefilemanager' + } } } diff --git a/resources/js/views/FilePages/Files.vue b/resources/js/views/FilePages/Files.vue index 2b49f8be..52501e95 100644 --- a/resources/js/views/FilePages/Files.vue +++ b/resources/js/views/FilePages/Files.vue @@ -43,7 +43,7 @@ {{ $t('sidebar.folders_empty') }} - + @@ -55,7 +55,7 @@ {{ $t('sidebar.favourites_empty') }} - +
{{ folder.name }} @@ -107,13 +107,13 @@ export default { computed: { ...mapGetters(['user', 'homeDirectory', 'currentFolder', 'config', 'fileInfoDetail']), favourites() { - return this.user.relationships.favourites.data.attributes.folders + return this.user.data.relationships.favourites.data.attributes.folders }, tree() { - return this.user.relationships.tree.data.attributes.folders + return this.user.data.attributes.folders }, storage() { - return this.$store.getters.user.relationships.storage.data.attributes + return this.$store.getters.user.data.attributes.storage } }, data() { @@ -154,7 +154,7 @@ export default { if (this.draggedItem && this.draggedItem.type !== 'folder') return // Check if folder exist in favourites - if (this.favourites.find(folder => folder.unique_id == this.draggedItem.unique_id)) return + if (this.favourites.find(folder => folder.id == this.draggedItem.id)) return // Prevent to move folders to self if (this.fileInfoDetail.length > 0 && this.fileInfoDetail.find(item => item.type !== 'folder')) return