27 protected $table =
'model_permissions';
60 return $this->belongsTo(ModuleInstance::class);
72 public function scopeUser(Builder $query, ?
int $userId = null, ?
string $ability = null, ?
int $moduleInstanceId = null)
74 $constraints = [
'model' =>
'user'];
75 if ($userId !== null) {
76 $constraints[
'model_id'] = $userId;
78 if ($ability !== null) {
79 $constraints[
'ability'] = $ability;
81 if ($moduleInstanceId !== null) {
82 $constraints[
'module_instance_id'] = $moduleInstanceId;
84 return $query->where($constraints);
96 public function scopeLogic(Builder $query, ?
int $logicId = null, ?
string $ability = null, ?
int $moduleInstanceId = null)
98 $constraints = [
'model' =>
'logic'];
99 if ($logicId !== null) {
100 $constraints[
'model_id'] = $logicId;
102 if ($ability !== null) {
103 $constraints[
'ability'] = $ability;
105 if ($moduleInstanceId !== null) {
106 $constraints[
'module_instance_id'] = $moduleInstanceId;
108 return $query->where($constraints);
120 public function scopeGroup(Builder $query, ?
int $groupId = null, ?
string $ability = null, ?
int $moduleInstanceId = null)
122 $constraints = [
'model' =>
'group'];
123 if ($groupId !== null) {
124 $constraints[
'model_id'] = $groupId;
126 if ($ability !== null) {
127 $constraints[
'ability'] = $ability;
129 if ($moduleInstanceId !== null) {
130 $constraints[
'module_instance_id'] = $moduleInstanceId;
132 return $query->where($constraints);
144 public function scopeRole(Builder $query, ?
int $roleId = null, ?
string $ability = null, ?
int $moduleInstanceId = null)
146 $constraints = [
'model' =>
'role'];
147 if ($roleId !== null) {
148 $constraints[
'model_id'] = $roleId;
150 if ($ability !== null) {
151 $constraints[
'ability'] = $ability;
153 if ($moduleInstanceId !== null) {
154 $constraints[
'module_instance_id'] = $moduleInstanceId;
156 return $query->where($constraints);
scopeGroup(Builder $query, ?int $groupId=null, ?string $ability=null, ?int $moduleInstanceId=null)
scopeRole(Builder $query, ?int $roleId=null, ?string $ability=null, ?int $moduleInstanceId=null)
scopeLogic(Builder $query, ?int $logicId=null, ?string $ability=null, ?int $moduleInstanceId=null)
scopeUser(Builder $query, ?int $userId=null, ?string $ability=null, ?int $moduleInstanceId=null)