DesktopToolbar.vue team members widget resolving

This commit is contained in:
Čarodej
2021-10-22 10:53:04 +02:00
parent cea881ce38
commit 705281325f
8 changed files with 87 additions and 40 deletions

View File

@@ -128,7 +128,7 @@ class SetupDevEnvironment extends Command
collect([
[
'avatar' => 'avatar-02.png',
'email' => 'alice@vuefilemanager.com',
'email' => 'alice@hi5ve.digital',
],
[
'avatar' => 'avatar-03.png',
@@ -801,7 +801,7 @@ class SetupDevEnvironment extends Command
$member = User::whereEmail('howdy@hi5ve.digital')
->first();
$owner = User::whereEmail('alice@vuefilemanager.com')
$owner = User::whereEmail('alice@hi5ve.digital')
->first();
$folder = Folder::factory()

View File

@@ -1,6 +1,7 @@
<?php
namespace App\Providers;
use Auth;
use DB;
use App\Users\Models\User;
use Domain\Files\Models\File;
@@ -89,11 +90,14 @@ class AuthServiceProvider extends ServiceProvider
private function team_member_guard(Folder | File $item, ?User $user, $ability): bool
{
$teamFolder = $item->getLatestParent();
$membership = DB::table('team_folder_members')
->where('parent_id', $item->getLatestParent()->id)
->where('parent_id', $teamFolder->id)
->where('user_id', $user->id)
->first();
return $membership?->permission === $ability;
// check existing members permission or check team folder owner privileges
return $membership?->permission === $ability || $teamFolder->user_id === Auth::id();
}
}