|
@@ -2,11 +2,13 @@
|
|
|
|
|
|
namespace App\Models;
|
|
namespace App\Models;
|
|
|
|
|
|
|
|
+use App\Models\Enums\LibraryACL;
|
|
use App\Models\Scopes\CompanyScope;
|
|
use App\Models\Scopes\CompanyScope;
|
|
use EloquentFilter\Filterable;
|
|
use EloquentFilter\Filterable;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
+use Illuminate\Support\Facades\Auth;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @method static \Illuminate\Database\Eloquent\Builder allowed()
|
|
* @method static \Illuminate\Database\Eloquent\Builder allowed()
|
|
@@ -26,7 +28,11 @@ class Library extends Model
|
|
|
|
|
|
public function scopeAllowed(Builder $query): void
|
|
public function scopeAllowed(Builder $query): void
|
|
{
|
|
{
|
|
-
|
|
|
|
|
|
+ $query->where(function (Builder $query) {
|
|
|
|
+ return $query->where('acl', LibraryACL::PRIVATE->value)->where('created_by', Auth::id());
|
|
|
|
+ })->orWhere(function (Builder $query) {
|
|
|
|
+ return $query->where('acl', LibraryACL::CUSTOM->value)->where('whitelist', 'like', '%,' . Auth::id() . ',%');
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
public function container(): \Illuminate\Database\Eloquent\Relations\HasMany
|
|
public function container(): \Illuminate\Database\Eloquent\Relations\HasMany
|