Skip to content

Commit 0ffefe9

Browse files
committed
role_id is now role_ids
1 parent 92dec6d commit 0ffefe9

File tree

8 files changed

+38
-34
lines changed

8 files changed

+38
-34
lines changed

.phpunit.result.cache

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ in as a user and an admin, without conflicts!
4545
13. Install command - include publishing migration, publishing factories, running all migration and seeding initial super admin with role and permissions.
4646
14. Role permissions are added to role resource
4747
15. While creating role, permissions also stored
48+
16. adminFormRequest is now having role_ids instead of role_id
49+
17. while store or update admin, directPermissions can also be synced
4850

4951
## Installation
5052

src/Http/Controllers/AdminController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,9 @@ public function update(Admin $admin, AdminRequest $request)
8383
{
8484
$adminResource = config('multiauth.resources.admin');
8585
$this->authorize('UpdateAdmin', $this->adminModel);
86-
$admin->update($request->except('role_id'));
87-
$admin->roles()->sync(request('role_id'));
86+
$admin->update($request->except('role_ids', 'permission_ids'));
87+
$admin->roles()->sync(request('role_ids'));
88+
$admin->directPermissions()->sync(request('permission_ids'));
8889
return response(new $adminResource($admin), Response::HTTP_ACCEPTED);
8990
}
9091

src/Http/Controllers/RegisterController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ protected function register(AdminRequest $data)
3838
}
3939

4040
$admin->save();
41-
$admin->roles()->sync(request('role_id'));
41+
$admin->roles()->sync(request('role_ids'));
42+
$admin->addDirectPermission(request('permission_ids'));
4243
$this->sendConfirmationNotification($admin, request('password'));
4344
$resource = config('multiauth.resources.admin');
4445
return new $resource($admin);

src/Http/Requests/AdminRequest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ public function rules()
2727
{
2828
$admin_id = request('admin.id');
2929
$rules = [
30-
'name' => 'required|max:255',
31-
'email' => "required|email|max:255|unique:admins,email,{$admin_id}",
32-
'password' => 'required|min:6|confirmed',
33-
'role_id' => 'required',
30+
'name' => 'required|max:255',
31+
'email' => "required|email|max:255|unique:admins,email,{$admin_id}",
32+
'password' => 'required|min:6|confirmed',
33+
'role_ids' => 'required',
3434
];
3535
$rules = $this->mergeClientRules($rules);
3636
$rules = $this->checkForUpdate($rules);

tests/Feature/AdminValidationTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public function admin_mode_need_rules()
7070
'password' => 'secret',
7171
'password_confirmation' => 'secret',
7272
]);
73-
$response->assertSessionHasErrors('role_id');
73+
$response->assertSessionHasErrors('role_ids');
7474
}
7575

7676
/**
@@ -81,6 +81,6 @@ public function while_update_admin_mode_need_validation()
8181
$this->loginSuperAdmin();
8282
$admin = $this->createAdmin();
8383
$response = $this->patch(route('admin.update', $admin->id), []);
84-
$response->assertSessionHasErrors(['role_id', 'email', 'name']);
84+
$response->assertSessionHasErrors(['role_ids', 'email', 'name']);
8585
}
8686
}

tests/Feature/NotificationTest.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
namespace Bitfumes\Multiauth\Tests\Feature;
44

5-
use Bitfumes\Multiauth\Model\Admin;
65
use Bitfumes\Multiauth\Model\Role;
7-
use Bitfumes\Multiauth\Notifications\RegistrationNotification;
6+
use Bitfumes\Multiauth\Model\Admin;
87
use Bitfumes\Multiauth\Tests\TestCase;
9-
use Illuminate\Foundation\Testing\DatabaseMigrations;
108
use Illuminate\Support\Facades\Notification;
9+
use Illuminate\Foundation\Testing\DatabaseMigrations;
10+
use Bitfumes\Multiauth\Notifications\RegistrationNotification;
1111

1212
class AdminTest extends TestCase
1313
{
@@ -34,11 +34,11 @@ protected function createNewAdminWithRole()
3434
$role = factory(Role::class)->create(['name' => 'editor']);
3535

3636
return $this->postJson(route('admin.register'), [
37-
'name' => 'sarthak',
38-
'email' => 'sarthak@gmail.com',
39-
'password' => 'secret',
40-
'password_confirmation' => 'secret',
41-
'role_id' => $role->id,
37+
'name' => 'sarthak',
38+
'email' => 'sarthak@gmail.com',
39+
'password' => 'secret',
40+
'password_confirmation' => 'secret',
41+
'role_ids' => $role->id,
4242
]);
4343
}
4444
}

tests/Feature/RegistrationTest.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ public function api_can_register_a_new_admin_by_super_user_only()
1414
{
1515
$this->loginSuperAdmin();
1616
$res = $this->postJson(route('admin.register'), [
17-
'name' => 'Sarthak',
18-
'email' => 'sarthak@bitfumes.com',
19-
'password' => '123456',
20-
'password_confirmation'=> '123456',
21-
'role_id' => 1,
17+
'name' => 'Sarthak',
18+
'email' => 'sarthak@bitfumes.com',
19+
'password' => '123456',
20+
'password_confirmation' => '123456',
21+
'role_ids' => 1,
2222
])
2323
->assertSuccessful()->json();
2424
$this->assertEquals($res['data']['email'], 'sarthak@bitfumes.com');
@@ -31,11 +31,11 @@ public function normal_admin_can_not_create_new_admin()
3131
$this->logInAdmin();
3232
$this->withExceptionHandling();
3333
$res = $this->postJson(route('admin.register'), [
34-
'name' => 'Sarthak',
35-
'email' => 'sarthak@bitfumes.com',
36-
'password' => '123456',
37-
'password_confirmation'=> '123456',
38-
'role_id' => 1,
34+
'name' => 'Sarthak',
35+
'email' => 'sarthak@bitfumes.com',
36+
'password' => '123456',
37+
'password_confirmation' => '123456',
38+
'role_ids' => 1,
3939
])->assertStatus(403);
4040
$this->assertDatabaseMissing('admins', ['email'=>'sarthak@bitfumes.com']);
4141
}
@@ -77,9 +77,9 @@ public function api_can_update_admin_by_super_admin()
7777
$this->loginSuperAdmin();
7878
$admin = $this->createAdmin();
7979
$this->patchJson(route('admin.update', $admin->id), [
80-
'email' => 'sarthak@bitfumes.com',
81-
'name' => 'Sarthak',
82-
'role_id'=> 1,
80+
'email' => 'sarthak@bitfumes.com',
81+
'name' => 'Sarthak',
82+
'role_ids'=> 1,
8383
])->assertStatus(202);
8484
$this->assertDatabaseHas('admins', ['email' => 'sarthak@bitfumes.com']);
8585
}
@@ -91,9 +91,9 @@ public function normal_admin_can_not_update_admins()
9191
$admin = $this->createAdmin();
9292
$this->withExceptionHandling();
9393
$this->patchJson(route('admin.update', $admin->id), [
94-
'email' => 'sarthak@bitfumes.com',
95-
'name' => 'Sarthak',
96-
'role_id'=> 1,
94+
'email' => 'sarthak@bitfumes.com',
95+
'name' => 'Sarthak',
96+
'role_ids'=> 1,
9797
])->assertStatus(403);
9898
$this->assertDatabaseMissing('admins', ['email' => 'sarthak@bitfumes.com']);
9999
}

0 commit comments

Comments
 (0)