Skip to content

Commit 5387031

Browse files
authored
Merge pull request #128 from marcnewton/master
Multi DB Connection Fixes
2 parents 8b2cae1 + 6d44e1b commit 5387031

File tree

6 files changed

+26
-14
lines changed

6 files changed

+26
-14
lines changed

.env.example

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,13 @@ ROLES_GUI_TITLE_EXTENDED='template_title'
3737
ROLES_GUI_LARAVEL_ROLES_ENABLED=false
3838
ROLES_GUI_TOOLTIPS_ENABLED=true
3939
ROLES_GUI_DATATABLES_JS_ENABLED=false
40+
41+
# Roles API Settings
42+
ROLES_API_ENABLED=false
43+
ROLES_API_AUTH_ENABLED=true
44+
ROLES_API_MIDDLEWARE_ENABLED=true
45+
ROLES_API_MIDDLEWARE='role:admin'
46+
ROLES_API_CREATE_ROLE_MIDDLEWARE_TYPE='role'
47+
ROLES_API_CREATE_ROLE_MIDDLEWARE_TYPE='admin'
48+
ROLES_API_CREATE_PERMISSION_MIDDLEWARE_TYPE='role'
49+
ROLES_API_CREATE_PERMISSION_MIDDLEWARE_TYPE='admin'

src/Traits/DatabaseTraits.php renamed to src/Database/Database.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
<?php
22

3-
namespace jeremykenedy\LaravelRoles\Traits;
3+
namespace jeremykenedy\LaravelRoles\Database;
44

5-
trait DatabaseTraits
5+
use Illuminate\Database\Eloquent\Model;
6+
7+
abstract class Database extends Model
68
{
79
/**
810
* The table associated with the model.

src/Database/Migrations/2016_02_09_132439_create_permission_user_table.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@ public function up()
1717
$table = config('roles.permissionsUserTable');
1818
$permissionsTable = config('roles.permissionsTable');
1919
$tableCheck = Schema::connection($connection)->hasTable($table);
20+
$userTable = app(config('auth.providers.users.model'))->getTable();
2021

2122
if (!$tableCheck) {
22-
Schema::connection($connection)->create($table, function (Blueprint $table) use ($permissionsTable) {
23+
Schema::connection($connection)->create($table, function (Blueprint $table) use ($permissionsTable, $userTable) {
2324
$table->increments('id')->unsigned();
24-
$table->integer('permission_id')->unsigned()->index();
25-
$table->foreign('permission_id')->references('id')->on($permissionsTable)->onDelete('cascade');
25+
$table->integer('role_id')->unsigned()->index();
26+
$table->foreign('role_id')->references('id')->on($permissionsTable)->onDelete('cascade');
2627
$table->unsignedBigInteger('user_id')->unsigned()->index();
27-
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
28+
$table->foreign('user_id')->references('id')->on($userTable)->onDelete('cascade');
2829
$table->timestamps();
2930
$table->softDeletes();
3031
});

src/Models/Permission.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@
22

33
namespace jeremykenedy\LaravelRoles\Models;
44

5-
use Illuminate\Database\Eloquent\Model;
65
use Illuminate\Database\Eloquent\SoftDeletes;
76
use jeremykenedy\LaravelRoles\Contracts\PermissionHasRelations as PermissionHasRelationsContract;
8-
use jeremykenedy\LaravelRoles\Traits\DatabaseTraits;
7+
use jeremykenedy\LaravelRoles\Database\Database;
98
use jeremykenedy\LaravelRoles\Traits\PermissionHasRelations;
109
use jeremykenedy\LaravelRoles\Traits\Slugable;
1110

12-
class Permission extends Model implements PermissionHasRelationsContract
11+
class Permission extends Database implements PermissionHasRelationsContract
1312
{
14-
use DatabaseTraits;
1513
use PermissionHasRelations;
1614
use Slugable;
1715
use SoftDeletes;

src/Models/Role.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@
22

33
namespace jeremykenedy\LaravelRoles\Models;
44

5-
use Illuminate\Database\Eloquent\Model;
65
use Illuminate\Database\Eloquent\SoftDeletes;
76
use jeremykenedy\LaravelRoles\Contracts\RoleHasRelations as RoleHasRelationsContract;
8-
use jeremykenedy\LaravelRoles\Traits\DatabaseTraits;
7+
use jeremykenedy\LaravelRoles\Database\Database;
98
use jeremykenedy\LaravelRoles\Traits\RoleHasRelations;
109
use jeremykenedy\LaravelRoles\Traits\Slugable;
1110

12-
class Role extends Model implements RoleHasRelationsContract
11+
class Role extends Database implements RoleHasRelationsContract
1312
{
14-
use DatabaseTraits;
1513
use RoleHasRelations;
1614
use Slugable;
1715
use SoftDeletes;

src/RolesServiceProvider.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ public function boot()
3737
if (config('roles.rolesGuiEnabled')) {
3838
$this->loadRoutesFrom(__DIR__.'/routes/web.php');
3939
}
40+
if (config('roles.rolesApiEnabled')) {
41+
$this->loadRoutesFrom(__DIR__.'/routes/api.php');
42+
}
4043
$this->loadTranslationsFrom(__DIR__.'/resources/lang/', $this->_packageTag);
4144
$this->registerBladeExtensions();
4245
}

0 commit comments

Comments
 (0)