diff --git a/.scrutinizer.yml b/.scrutinizer.yml index eb183ae..15ddfc5 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -3,6 +3,10 @@ build: environment: mongodb: true selenium: true + php: + # Install additional extensions from https://pecl.php.net + pecl_extensions: + - mongodb tests: override: - diff --git a/README.md b/README.md index dd9be33..aceaa14 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,7 @@ First, add the `Maklad\Permission\Traits\HasRoles` trait to your `User` model(s) ```php use Illuminate\Auth\Authenticatable; -use Jenssegers\Mongodb\Eloquent\Model as Model; +use MongoDB\Laravel\Eloquent\Model as Model; use Illuminate\Foundation\Auth\Access\Authorizable; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; @@ -251,7 +251,7 @@ class User extends Model implements AuthenticatableContract, AuthorizableContrac > Note: that if you need to use `HasRoles` trait with another model ex.`Page` you will also need to add `protected $guard_name = 'web';` as well to that model or you would get an error ```php -use Jenssegers\Mongodb\Eloquent\Model as Model; +use MongoDB\Laravel\Eloquent\Model as Model; use Maklad\Permission\Traits\HasRoles; class Page extends Model @@ -830,5 +830,5 @@ The MIT License (MIT). Please see [License File](LICENSE.md) for more informatio [link-contributors]: ../../contributors [link-releases]: ../../releases [link-laravel-permission]: https://github.com/spatie/laravel-permission -[link-laravel-mongodb]: https://github.com/jenssegers/laravel-mongodb +[link-laravel-mongodb]: https://github.com/mongodb/laravel-mongodb [link-freekmurze]: https://github.com/freekmurze diff --git a/composer.json b/composer.json index 11269e1..27c76e4 100644 --- a/composer.json +++ b/composer.json @@ -10,8 +10,7 @@ "mostafamaklad", "maklad", "mostafa", - "spatie", - "jenssegers" + "spatie" ], "homepage": "https://github.com/mostafamaklad/laravel-permission-mongodb", "license": "MIT", @@ -34,7 +33,7 @@ "illuminate/auth": "^10.0", "illuminate/container": "^10.0", "illuminate/contracts": "^10.0", - "mongodb/laravel-mongodb": "^3.9" + "mongodb/laravel-mongodb": "4.3" }, "require-dev": { "monolog/monolog": "^3.2", diff --git a/database/migrations/create_permission_collections.php.stub b/database/migrations/create_permission_collections.php.stub index d2f8382..be7ab32 100644 --- a/database/migrations/create_permission_collections.php.stub +++ b/database/migrations/create_permission_collections.php.stub @@ -2,7 +2,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Support\Facades\Schema; -use Jenssegers\Mongodb\Schema\Blueprint; +use MongoDB\Laravel\Schema\Blueprint; return new class extends Migration { diff --git a/src/Models/Permission.php b/src/Models/Permission.php index b23f4dd..d9381ec 100644 --- a/src/Models/Permission.php +++ b/src/Models/Permission.php @@ -3,7 +3,7 @@ namespace Maklad\Permission\Models; use Illuminate\Support\Collection; -use Jenssegers\Mongodb\Eloquent\Model; +use MongoDB\Laravel\Eloquent\Model; use Maklad\Permission\Contracts\PermissionInterface; use Maklad\Permission\Exceptions\PermissionAlreadyExists; use Maklad\Permission\Exceptions\PermissionDoesNotExist; diff --git a/src/Models/Role.php b/src/Models/Role.php index ac1c76e..0366b00 100644 --- a/src/Models/Role.php +++ b/src/Models/Role.php @@ -3,7 +3,7 @@ namespace Maklad\Permission\Models; use Illuminate\Database\Eloquent\Builder; -use Jenssegers\Mongodb\Eloquent\Model; +use MongoDB\Laravel\Eloquent\Model; use Maklad\Permission\Contracts\PermissionInterface; use Maklad\Permission\Contracts\RoleInterface; use Maklad\Permission\Exceptions\GuardDoesNotMatch; diff --git a/src/Traits/HasPermissions.php b/src/Traits/HasPermissions.php index a373f5d..2624449 100644 --- a/src/Traits/HasPermissions.php +++ b/src/Traits/HasPermissions.php @@ -3,8 +3,8 @@ namespace Maklad\Permission\Traits; use Illuminate\Support\Collection; -use Jenssegers\Mongodb\Eloquent\Builder; -use Jenssegers\Mongodb\Eloquent\Model; +use MongoDB\Laravel\Eloquent\Builder; +use MongoDB\Laravel\Eloquent\Model; use Maklad\Permission\Contracts\PermissionInterface; use Maklad\Permission\Contracts\PermissionInterface as Permission; use Maklad\Permission\Exceptions\GuardDoesNotMatch; diff --git a/src/Traits/HasRoles.php b/src/Traits/HasRoles.php index dfb0421..4a7772f 100644 --- a/src/Traits/HasRoles.php +++ b/src/Traits/HasRoles.php @@ -3,9 +3,9 @@ namespace Maklad\Permission\Traits; use Illuminate\Support\Collection; -use Jenssegers\Mongodb\Eloquent\Builder; -use Jenssegers\Mongodb\Eloquent\Model; -use Jenssegers\Mongodb\Relations\BelongsToMany; +use MongoDB\Laravel\Eloquent\Builder; +use MongoDB\Laravel\Eloquent\Model; +use MongoDB\Laravel\Relations\BelongsToMany; use Maklad\Permission\Contracts\RoleInterface as Role; use Maklad\Permission\Helpers; use Maklad\Permission\PermissionRegistrar; diff --git a/tests/Admin.php b/tests/Admin.php index 297891d..c6f6edd 100644 --- a/tests/Admin.php +++ b/tests/Admin.php @@ -6,7 +6,7 @@ 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 MongoDB\Laravel\Eloquent\Model; use Maklad\Permission\Traits\HasRoles; class Admin extends Model implements AuthorizableContract, AuthenticatableContract diff --git a/tests/HasPermissionsTest.php b/tests/HasPermissionsTest.php index 1817c65..c098300 100644 --- a/tests/HasPermissionsTest.php +++ b/tests/HasPermissionsTest.php @@ -6,7 +6,7 @@ use Maklad\Permission\Exceptions\PermissionDoesNotExist; use Maklad\Permission\Models\Permission; use Maklad\Permission\Models\Role; -use Monolog\Logger; +use Monolog\Level; class HasPermissionsTest extends TestCase { @@ -34,7 +34,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); } } } @@ -53,7 +53,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); } } } @@ -327,7 +327,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); } } } @@ -346,7 +346,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); } } } diff --git a/tests/HasRolesTest.php b/tests/HasRolesTest.php index 1085b4a..4b73618 100644 --- a/tests/HasRolesTest.php +++ b/tests/HasRolesTest.php @@ -5,7 +5,7 @@ use Maklad\Permission\Exceptions\GuardDoesNotMatch; use Maklad\Permission\Exceptions\RoleDoesNotExist; use Maklad\Permission\Models\Role; -use Monolog\Logger; +use Monolog\Level; class HasRolesTest extends TestCase { @@ -73,7 +73,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); } } } @@ -92,7 +92,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); } } } @@ -111,7 +111,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); } } } @@ -176,7 +176,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); } } } diff --git a/tests/MiddlewareTest.php b/tests/MiddlewareTest.php index d46496a..1a43b88 100644 --- a/tests/MiddlewareTest.php +++ b/tests/MiddlewareTest.php @@ -8,7 +8,7 @@ use Maklad\Permission\Exceptions\UnauthorizedException; use Maklad\Permission\Middlewares\PermissionMiddleware; use Maklad\Permission\Middlewares\RoleMiddleware; -use Monolog\Logger; +use Monolog\Level; class MiddlewareTest extends TestCase { @@ -41,7 +41,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); } } @@ -109,7 +109,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); } } } @@ -138,7 +138,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); } } } @@ -166,7 +166,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); } } } @@ -188,7 +188,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); } } @@ -257,7 +257,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); } } } @@ -286,7 +286,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); } } } diff --git a/tests/PermissionTest.php b/tests/PermissionTest.php index bfa33c0..3122cba 100644 --- a/tests/PermissionTest.php +++ b/tests/PermissionTest.php @@ -4,7 +4,7 @@ use Maklad\Permission\Exceptions\PermissionAlreadyExists; use Maklad\Permission\Models\Permission; -use Monolog\Logger; +use Monolog\Level; class PermissionTest extends TestCase { @@ -23,7 +23,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); } } } diff --git a/tests/RoleTest.php b/tests/RoleTest.php index 9ff0b00..716feac 100644 --- a/tests/RoleTest.php +++ b/tests/RoleTest.php @@ -7,7 +7,7 @@ use Maklad\Permission\Exceptions\RoleAlreadyExists; use Maklad\Permission\Models\Permission; use Maklad\Permission\Models\Role; -use Monolog\Logger; +use Monolog\Level; class RoleTest extends TestCase { @@ -50,7 +50,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); } } } @@ -77,7 +77,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); } } } @@ -96,7 +96,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); } } } @@ -147,7 +147,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); } } } @@ -166,7 +166,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); } } } @@ -227,7 +227,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); } } } @@ -256,7 +256,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); } } } diff --git a/tests/TestCase.php b/tests/TestCase.php index 0495d1a..20f64f4 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -4,7 +4,7 @@ use Illuminate\Foundation\Application; use Illuminate\Foundation\Testing\DatabaseMigrations; -use Jenssegers\Mongodb\MongodbServiceProvider; +use MongoDB\Laravel\MongoDBServiceProvider; use Maklad\Permission\Helpers; use Maklad\Permission\Models\Permission; use Maklad\Permission\Models\Role; diff --git a/tests/User.php b/tests/User.php index c62d9a5..e510b12 100644 --- a/tests/User.php +++ b/tests/User.php @@ -6,7 +6,7 @@ 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 MongoDB\Laravel\Eloquent\Model; use Maklad\Permission\Traits\HasRoles; /**