X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a03245e427d3257eeb2bbf137e8e6ce1388c1e69..refs/pull/4467/head:/app/Entities/Models/Entity.php diff --git a/app/Entities/Models/Entity.php b/app/Entities/Models/Entity.php index 3528eaf2b..496ea46b6 100644 --- a/app/Entities/Models/Entity.php +++ b/app/Entities/Models/Entity.php @@ -2,27 +2,26 @@ namespace BookStack\Entities\Models; -use BookStack\Actions\Activity; -use BookStack\Actions\Comment; -use BookStack\Actions\Favourite; -use BookStack\Actions\Tag; -use BookStack\Actions\View; -use BookStack\Auth\Permissions\EntityPermission; -use BookStack\Auth\Permissions\JointPermission; -use BookStack\Auth\Permissions\JointPermissionBuilder; -use BookStack\Auth\Permissions\PermissionApplicator; +use BookStack\Activity\Models\Activity; +use BookStack\Activity\Models\Comment; +use BookStack\Activity\Models\Favouritable; +use BookStack\Activity\Models\Favourite; +use BookStack\Activity\Models\Loggable; +use BookStack\Activity\Models\Tag; +use BookStack\Activity\Models\View; +use BookStack\Activity\Models\Viewable; +use BookStack\App\Model; +use BookStack\App\Sluggable; use BookStack\Entities\Tools\SlugGenerator; -use BookStack\Interfaces\Deletable; -use BookStack\Interfaces\Favouritable; -use BookStack\Interfaces\Loggable; -use BookStack\Interfaces\Sluggable; -use BookStack\Interfaces\Viewable; -use BookStack\Model; +use BookStack\Permissions\JointPermissionBuilder; +use BookStack\Permissions\Models\EntityPermission; +use BookStack\Permissions\Models\JointPermission; +use BookStack\Permissions\PermissionApplicator; use BookStack\References\Reference; use BookStack\Search\SearchIndex; use BookStack\Search\SearchTerm; -use BookStack\Traits\HasCreatorAndUpdater; -use BookStack\Traits\HasOwner; +use BookStack\Users\Models\HasCreatorAndUpdater; +use BookStack\Users\Models\HasOwner; use Carbon\Carbon; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Collection; @@ -42,7 +41,6 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property Carbon $deleted_at * @property int $created_by * @property int $updated_by - * @property bool $restricted * @property Collection $tags * * @method static Entity|Builder visible() @@ -176,18 +174,15 @@ abstract class Entity extends Model implements Sluggable, Favouritable, Viewable */ public function permissions(): MorphMany { - return $this->morphMany(EntityPermission::class, 'restrictable'); + return $this->morphMany(EntityPermission::class, 'entity'); } /** * Check if this entity has a specific restriction set against it. */ - public function hasRestriction(int $role_id, string $action): bool + public function hasPermissions(): bool { - return $this->permissions() - ->where('role_id', '=', $role_id) - ->where('action', '=', $action) - ->count() > 0; + return $this->permissions()->count() > 0; } /**