Skip to content

add support to laravel 11 #154

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .scrutinizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ build:
environment:
mongodb: true
selenium: true
php:
version: 8.1
tests:
override:
-
Expand Down
13 changes: 7 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "mostafamaklad/laravel-permission-mongodb",
"description": "Permission handling for Laravel 5.2 and up using mongodb",
"version": "dev-master",
"keywords": [
"laravel",
"security",
Expand Down Expand Up @@ -31,15 +32,15 @@
],
"require": {
"php": "^8.1",
"illuminate/auth": "^10.0",
"illuminate/container": "^10.0",
"illuminate/contracts": "^10.0",
"mongodb/laravel-mongodb": "^3.9"
"illuminate/auth": "^11.0",
"illuminate/container": "^11.0",
"illuminate/contracts": "^11.0",
"mongodb/laravel-mongodb": "^4.6"
},
"require-dev": {
"monolog/monolog": "^3.2",
"orchestra/testbench": "^8.0",
"phpunit/phpunit": "^9.5.10",
"orchestra/testbench": "^9.0",
"phpunit/phpunit": "^10.0",
"squizlabs/php_codesniffer": "^3.7"
},
"autoload": {
Expand Down
19 changes: 6 additions & 13 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -1,18 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php"
backupGlobals="false"
backupStaticAttributes="false"
colors="true"
verbose="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="vendor/autoload.php" backupGlobals="false" colors="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" cacheDirectory=".phpunit.cache" backupStaticProperties="false">
<coverage>
<include>
<directory suffix=".php">src/</directory>
</include>
<report>
<clover outputFile="build/logs/clover.xml"/>
<html outputDirectory="build/coverage"/>
Expand All @@ -27,4 +15,9 @@
<logging>
<junit outputFile="build/report.junit.xml"/>
</logging>
<source>
<include>
<directory suffix=".php">src/</directory>
</include>
</source>
</phpunit>
2 changes: 1 addition & 1 deletion src/Models/Permission.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace Maklad\Permission\Models;

use Illuminate\Support\Collection;
use Jenssegers\Mongodb\Eloquent\Model;
use Maklad\Permission\Contracts\PermissionInterface;
use Maklad\Permission\Exceptions\PermissionAlreadyExists;
use Maklad\Permission\Exceptions\PermissionDoesNotExist;
Expand All @@ -12,6 +11,7 @@
use Maklad\Permission\PermissionRegistrar;
use Maklad\Permission\Traits\HasRoles;
use Maklad\Permission\Traits\RefreshesPermissionCache;
use MongoDB\Laravel\Eloquent\Model;
use ReflectionException;
use function app;

Expand Down
2 changes: 1 addition & 1 deletion src/Models/Role.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace Maklad\Permission\Models;

use Illuminate\Database\Eloquent\Builder;
use Jenssegers\Mongodb\Eloquent\Model;
use Maklad\Permission\Contracts\PermissionInterface;
use Maklad\Permission\Contracts\RoleInterface;
use Maklad\Permission\Exceptions\GuardDoesNotMatch;
Expand All @@ -13,6 +12,7 @@
use Maklad\Permission\Helpers;
use Maklad\Permission\Traits\HasPermissions;
use Maklad\Permission\Traits\RefreshesPermissionCache;
use MongoDB\Laravel\Eloquent\Model;
use ReflectionException;
use function is_string;

Expand Down
4 changes: 2 additions & 2 deletions src/Traits/HasPermissions.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
namespace Maklad\Permission\Traits;

use Illuminate\Support\Collection;
use Jenssegers\Mongodb\Eloquent\Builder;
use Jenssegers\Mongodb\Eloquent\Model;
use Maklad\Permission\Contracts\PermissionInterface;
use Maklad\Permission\Contracts\PermissionInterface as Permission;
use Maklad\Permission\Exceptions\GuardDoesNotMatch;
use Maklad\Permission\Guard;
use Maklad\Permission\Helpers;
use Maklad\Permission\PermissionRegistrar;
use MongoDB\Laravel\Eloquent\Model;
use MongoDB\Laravel\Eloquent\Builder;
use ReflectionException;
use function collect;
use function is_array;
Expand Down
6 changes: 3 additions & 3 deletions src/Traits/HasRoles.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
namespace Maklad\Permission\Traits;

use Illuminate\Support\Collection;
use Jenssegers\Mongodb\Eloquent\Builder;
use Jenssegers\Mongodb\Eloquent\Model;
use Jenssegers\Mongodb\Relations\BelongsToMany;
use Maklad\Permission\Contracts\RoleInterface as Role;
use Maklad\Permission\Helpers;
use Maklad\Permission\PermissionRegistrar;
use MongoDB\Laravel\Eloquent\Model;
use MongoDB\Laravel\Eloquent\Builder;
use MongoDB\Laravel\Relations\BelongsToMany;
use ReflectionException;
use function collect;

Expand Down
2 changes: 1 addition & 1 deletion tests/Admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Jenssegers\Mongodb\Eloquent\Model;
use Maklad\Permission\Traits\HasRoles;
use MongoDB\Laravel\Eloquent\Model;

class Admin extends Model implements AuthorizableContract, AuthenticatableContract
{
Expand Down
9 changes: 5 additions & 4 deletions tests/HasPermissionsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use Maklad\Permission\Exceptions\PermissionDoesNotExist;
use Maklad\Permission\Models\Permission;
use Maklad\Permission\Models\Role;
use Monolog\Level;
use Monolog\Logger;

class HasPermissionsTest extends TestCase
Expand Down Expand Up @@ -34,7 +35,7 @@ public function it_throws_an_exception_when_assigning_a_permission_that_does_not
$this->testUser->givePermissionTo('permission-does-not-exist');
} finally {
$message = $this->helpers->getPermissionDoesNotExistMessage('permission-does-not-exist', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -53,7 +54,7 @@ public function it_throws_an_exception_when_assigning_a_permission_to_a_user_fro
$this->testUser->givePermissionTo($this->testAdminPermission);
} finally {
$message = $this->helpers->getGuardDoesNotMatchMessage(collect(['web']), 'admin');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -327,7 +328,7 @@ public function it_throws_an_exception_when_the_permission_does_not_exist()
$this->testUser->hasPermissionTo('does-not-exist');
} finally {
$message = $this->helpers->getPermissionDoesNotExistMessage('does-not-exist', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -346,7 +347,7 @@ public function it_throws_an_exception_when_the_permission_does_not_exist_for_th
$this->testUser->hasPermissionTo('admin-permission');
} finally {
$message = $this->helpers->getPermissionDoesNotExistMessage('admin-permission', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down
9 changes: 5 additions & 4 deletions tests/HasRolesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use Maklad\Permission\Exceptions\GuardDoesNotMatch;
use Maklad\Permission\Exceptions\RoleDoesNotExist;
use Maklad\Permission\Models\Role;
use Monolog\Level;
use Monolog\Logger;

class HasRolesTest extends TestCase
Expand Down Expand Up @@ -73,7 +74,7 @@ public function it_throws_an_exception_when_assigning_a_role_that_does_not_exist
$this->testUser->assignRole('evil-emperor');
} finally {
$message = $this->helpers->getRoleDoesNotExistMessage('evil-emperor', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -92,7 +93,7 @@ public function it_can_only_assign_roles_from_the_correct_guard()
$this->testUser->assignRole('testAdminRole');
} finally {
$message = $this->helpers->getRoleDoesNotExistMessage('testAdminRole', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -111,7 +112,7 @@ public function it_throws_an_exception_when_assigning_a_role_from_a_different_gu
$this->testUser->assignRole($this->testAdminRole);
} finally {
$message = $this->helpers->getGuardDoesNotMatchMessage(collect(['web']), 'admin');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -176,7 +177,7 @@ public function it_throws_an_exception_when_syncing_a_role_from_another_guard()
$this->testUser->syncRoles('testRole', $this->testAdminRole);
} finally {
$message = $this->helpers->getGuardDoesNotMatchMessage(collect(['web']), 'admin');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down
15 changes: 8 additions & 7 deletions tests/MiddlewareTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use Maklad\Permission\Exceptions\UnauthorizedException;
use Maklad\Permission\Middlewares\PermissionMiddleware;
use Maklad\Permission\Middlewares\RoleMiddleware;
use Monolog\Level;
use Monolog\Logger;

class MiddlewareTest extends TestCase
Expand Down Expand Up @@ -41,7 +42,7 @@ public function a_guest_cannot_access_a_route_protected_by_the_role_middleware()
);

$message = $this->helpers->getUserNotLoggedINMessage();
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}

Expand Down Expand Up @@ -109,7 +110,7 @@ public function a_user_cannot_access_a_route_protected_by_the_role_middleware_if
config('permission.display_permission_in_exception', $show_permission);
$message = $this->helpers->getUnauthorizedRoleMessage('testRole2');
$this->assertShowPermission($message, 'testRole2');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -138,7 +139,7 @@ public function a_user_cannot_access_a_route_protected_by_role_middleware_if_hav
$message = $this->helpers->getUnauthorizedRoleMessage('testRole, testRole2');
$this->assertShowPermission($message, 'testRole');
$this->assertShowPermission($message, 'testRole2');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -166,7 +167,7 @@ public function a_user_cannot_access_a_route_protected_by_role_middleware_if_rol
config('permission.display_permission_in_exception', $show_permission);
$message = $this->helpers->getUnauthorizedRoleMessage('test');
$this->assertShowPermission($message, 'test');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -188,7 +189,7 @@ public function a_guest_cannot_access_a_route_protected_by_the_permission_middle
);

$message = $this->helpers->getUserNotLoggedINMessage();
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}

Expand Down Expand Up @@ -257,7 +258,7 @@ public function a_user_cannot_access_a_route_protected_by_the_permission_middlew
config('permission.display_permission_in_exception', $show_permission);
$message = $this->helpers->getUnauthorizedPermissionMessage('edit-news');
$this->assertShowPermission($message, 'edit-news');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -286,7 +287,7 @@ public function a_user_cannot_access_a_route_protected_by_permission_middleware_
$message = $this->helpers->getUnauthorizedPermissionMessage('edit-articles, edit-news');
$this->assertShowPermission($message, 'edit-articles');
$this->assertShowPermission($message, 'edit-news');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down
3 changes: 2 additions & 1 deletion tests/PermissionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use Maklad\Permission\Exceptions\PermissionAlreadyExists;
use Maklad\Permission\Models\Permission;
use Monolog\Level;
use Monolog\Logger;

class PermissionTest extends TestCase
Expand All @@ -23,7 +24,7 @@ public function it_throws_an_exception_when_the_permission_already_exists()
\app(\config('permission.models.permission'))->create(['name' => 'test-permission']);
} finally {
$message = $this->helpers->getPermissionAlreadyExistsMessage('test-permission', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down
15 changes: 8 additions & 7 deletions tests/RoleTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use Maklad\Permission\Exceptions\RoleAlreadyExists;
use Maklad\Permission\Models\Permission;
use Maklad\Permission\Models\Role;
use Monolog\Level;
use Monolog\Logger;

class RoleTest extends TestCase
Expand Down Expand Up @@ -50,7 +51,7 @@ public function it_throws_an_exception_when_the_role_already_exists()
\app(\config('permission.models.role'))->create(['name' => 'test-role']);
} finally {
$message = $this->helpers->getRoleAlreadyExistsMessage('test-role', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -77,7 +78,7 @@ public function it_throws_an_exception_when_given_a_permission_that_does_not_exi
$this->testUserRole->givePermissionTo('create-evil-empire');
} finally {
$message = $this->helpers->getPermissionDoesNotExistMessage('create-evil-empire', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -96,7 +97,7 @@ public function it_throws_an_exception_when_given_a_permission_that_belongs_to_a
$this->testUserRole->givePermissionTo($this->testAdminPermission);
} finally {
$message = $this->helpers->getGuardDoesNotMatchMessage(collect(['web']), 'admin');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -147,7 +148,7 @@ public function it_throws_an_exception_when_syncing_permissions_that_do_not_exis
$this->testUserRole->syncPermissions('permission-does-not-exist');
} finally {
$message = $this->helpers->getPermissionDoesNotExistMessage('permission-does-not-exist', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand All @@ -166,7 +167,7 @@ public function it_throws_an_exception_when_syncing_permissions_that_belong_to_a
$this->testUserRole->syncPermissions($this->testAdminPermission);
} finally {
$message = $this->helpers->getGuardDoesNotMatchMessage(collect(['web']), 'admin');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -227,7 +228,7 @@ public function it_throws_an_exception_if_the_permission_does_not_exist()
$this->testUserRole->hasPermissionTo('doesnt-exist');
} finally {
$message = $this->helpers->getPermissionDoesNotExistMessage('doesnt-exist', 'web');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down Expand Up @@ -256,7 +257,7 @@ public function it_throws_an_exception_when_a_permission_of_the_wrong_guard_is_p
$this->testUserRole->hasPermissionTo($permission);
} finally {
$message = $this->helpers->getGuardDoesNotMatchMessage(collect(['web']), 'admin');
$this->assertLogMessage($message, Logger::ALERT);
$this->assertLogMessage($message, Level::Alert);
}
}
}
Expand Down
Loading