Skip to content

Commit 4ea8090

Browse files
Merge pull request #76 from mostafamaklad/v1.9
V1.9
2 parents ca978da + 2a01244 commit 4ea8090

File tree

13 files changed

+44
-30
lines changed

13 files changed

+44
-30
lines changed

.scrutinizer.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,15 @@ build:
99
coverage:
1010
file: 'coverage'
1111
format: 'clover'
12+
nodes:
13+
analysis:
14+
tests:
15+
override:
16+
- php-scrutinizer-run
1217

1318
filter:
14-
excluded_paths: [tests/*]
19+
excluded_paths:
20+
- "tests/"
1521

1622
checks:
1723
php:

src/Commands/CreatePermission.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class CreatePermission extends Command
1919

2020
public function handle()
2121
{
22-
$permissionClass = \app(Permission::class);
22+
$permissionClass = \app(\config('permission.models.permission'));
2323

2424
$permission = $permissionClass::create([
2525
'name' => $this->argument('name'),

src/Commands/CreateRole.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class CreateRole extends Command
2020

2121
public function handle()
2222
{
23-
$roleClass = \app(Role::class);
23+
$roleClass = \app(\config('permission.models.role'));
2424

2525
$name = $this->argument('name');
2626
$guard = $this->argument('guard');

src/Guard.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,22 @@ class Guard
2121
*/
2222
public function getNames($model) : Collection
2323
{
24+
$guardName = null;
25+
$class = null;
26+
2427
if (\is_object($model)) {
2528
$guardName = $model->guard_name ?? null;
2629
}
2730

28-
if (! isset($guardName)) {
31+
if ($guardName === null) {
2932
$class = \is_object($model) ? \get_class($model) : $model;
3033
$guardName = (new \ReflectionClass($class))->getDefaultProperties()['guard_name'] ?? null;
3134
}
3235

3336
if ($guardName) {
3437
return collect($guardName);
3538
}
39+
3640
return collect(config('auth.guards'))
3741
->map(function ($guard) {
3842
if (! isset($guard['provider'])) {

src/Helpers.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,6 @@ public function getUserNotLoggedINMessage(): string
119119

120120
public function isNotLumen(): bool
121121
{
122-
return ! stripos(app()->version(), 'lumen');
122+
return ! (stripos(app()->version(), 'lumen') !== false);
123123
}
124124
}

src/Models/Permission.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public function roles(): BelongsToMany
113113
* A permission belongs to some users of the model associated with its guard.
114114
* @return BelongsToMany
115115
*/
116-
public function users(): BelongsToMany
116+
public function users()
117117
{
118118
return $this->belongsToMany($this->helpers->getModelForGuard($this->attributes['guard_name']));
119119
}

src/PermissionRegistrar.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public function forgetCachedPermissions()
4848
public function getPermissions(): Collection
4949
{
5050
return $this->cache->remember($this->cacheKey, \config('permission.cache_expiration_time'), function () {
51-
return \app(Permission::class)->with('roles')->get();
51+
return \app(config('permission.models.permission'))->with('roles')->get();
5252
});
5353
}
5454
}

src/Traits/HasPermissions.php

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Maklad\Permission\Guard;
1212
use Maklad\Permission\Helpers;
1313
use Maklad\Permission\Models\Role;
14+
use Maklad\Permission\Models\PermissionRole;
1415
use Maklad\Permission\PermissionRegistrar;
1516

1617
/**
@@ -55,7 +56,7 @@ public function users(): BelongsToMany
5556
* @return $this
5657
* @throws GuardDoesNotMatch
5758
*/
58-
public function givePermissionTo(...$permissions)
59+
public function givePermissionTo(...$permissions): self
5960
{
6061
$permissions = collect($permissions)
6162
->flatten()
@@ -82,7 +83,7 @@ public function givePermissionTo(...$permissions)
8283
* @return $this
8384
* @throws GuardDoesNotMatch
8485
*/
85-
public function syncPermissions(...$permissions)
86+
public function syncPermissions(...$permissions): self
8687
{
8788
$this->permissions()->sync([]);
8889

@@ -97,7 +98,7 @@ public function syncPermissions(...$permissions)
9798
* @return $this
9899
* @throws \Maklad\Permission\Exceptions\GuardDoesNotMatch
99100
*/
100-
public function revokePermissionTo(...$permissions)
101+
public function revokePermissionTo(...$permissions): self
101102
{
102103
collect($permissions)
103104
->flatten()
@@ -122,7 +123,7 @@ public function revokePermissionTo(...$permissions)
122123
protected function getStoredPermission($permission): Permission
123124
{
124125
if (\is_string($permission)) {
125-
return \app(Permission::class)->findByName($permission, $this->getDefaultGuardName());
126+
return \app(config('permission.models.permission'))->findByName($permission, $this->getDefaultGuardName());
126127
}
127128

128129
return $permission;
@@ -214,6 +215,7 @@ public function getPermissionsViaRoles(): Collection
214215
->roles->flatMap(function (Role $role) {
215216
return $role->permissions;
216217
})->sort()->values();
218+
//return \app(\config('permission.models.permission'))->whereIn('role_id', $this->role_ids)->get();
217219
}
218220

219221
/**
@@ -239,7 +241,7 @@ public function getAllPermissions(): Collection
239241
public function hasPermissionTo($permission, $guardName = null): bool
240242
{
241243
if (\is_string($permission)) {
242-
$permission = \app(Permission::class)->findByName(
244+
$permission = \app(\config('permission.models.permission'))->findByName(
243245
$permission,
244246
$guardName ?? $this->getDefaultGuardName()
245247
);
@@ -294,7 +296,10 @@ protected function hasPermissionViaRole(Permission $permission): bool
294296
public function hasDirectPermission($permission): bool
295297
{
296298
if (\is_string($permission)) {
297-
$permission = \app(Permission::class)->findByName($permission, $this->getDefaultGuardName());
299+
$permission = \app(
300+
\config('permission.models.permission')
301+
)
302+
->findByName($permission, $this->getDefaultGuardName());
298303
}
299304

300305
return $this->permissions->contains('id', $permission->id);

src/Traits/HasRoles.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use Illuminate\Support\Collection;
66
use Jenssegers\Mongodb\Eloquent\Builder;
77
use Jenssegers\Mongodb\Eloquent\Model;
8-
use Jenssegers\Mongodb\Relations\BelongsToMany;
98
use Maklad\Permission\Contracts\RoleInterface as Role;
109
use ReflectionException;
1110

@@ -31,9 +30,9 @@ public static function bootHasRoles()
3130
/**
3231
* A model may have multiple roles.
3332
*/
34-
public function roles(): BelongsToMany
33+
public function roles()
3534
{
36-
return $this->belongsToMany(\config('permission.models.role'))->withTimestamps();
35+
return $this->belongsToMany(config('permission.models.role'));
3736
}
3837

3938
/**
@@ -105,7 +104,7 @@ public function removeRole(...$roles)
105104
*
106105
* @param array ...$roles
107106
*
108-
* @return $this
107+
* @return array|Role|string
109108
*/
110109
public function syncRoles(...$roles)
111110
{
@@ -185,7 +184,7 @@ public function hasAllRoles($roles): bool
185184
protected function getStoredRole($role): Role
186185
{
187186
if (\is_string($role)) {
188-
return \app(Role::class)->findByName($role, $this->getDefaultGuardName());
187+
return \app(\config('permission.models.role'))->findByName($role, $this->getDefaultGuardName());
189188
}
190189

191190
return $role;

src/Traits/RefreshesPermissionCache.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ trait RefreshesPermissionCache
1313
public static function bootRefreshesPermissionCache()
1414
{
1515
static::saved(function () {
16-
\app(PermissionRegistrar::class)->forgetCachedPermissions();
16+
\app(\config('permission.models.permission'))->forgetCachedPermissions();
1717
});
1818

1919
static::deleted(function () {
20-
\app(PermissionRegistrar::class)->forgetCachedPermissions();
20+
\app(\config('permission.models.permission'))->forgetCachedPermissions();
2121
});
2222
}
2323
}

0 commit comments

Comments
 (0)