DONE: layout letter with letterhead and footer, notification for newly...
This commit is contained in:
@@ -13,6 +13,7 @@ use Modules\Role\Http\Requests\RoleRequest;
|
||||
use Modules\Role\Repositories\Contracts\RoleRepositoryInterface;
|
||||
use Modules\Role\Transformers\RoleResource;
|
||||
use App\Models\Permission;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
class RoleController extends BaseCrudController
|
||||
@@ -104,6 +105,10 @@ class RoleController extends BaseCrudController
|
||||
*/
|
||||
public function permissions(): JsonResponse
|
||||
{
|
||||
if (! Gate::any(['create', 'update'], $this->modelClass)) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$permissions = Permission::all();
|
||||
|
||||
return response()->json([
|
||||
@@ -124,6 +129,8 @@ class RoleController extends BaseCrudController
|
||||
*/
|
||||
public function assignPermissions(Request $request, string $id): JsonResponse
|
||||
{
|
||||
$this->authorize('update', $this->modelClass);
|
||||
|
||||
$request->validate([
|
||||
'permissions' => 'required|array',
|
||||
'permissions.*' => ['required', 'uuid', Rule::exists('permissions', 'id')],
|
||||
@@ -143,7 +150,9 @@ class RoleController extends BaseCrudController
|
||||
* Get role with permissions
|
||||
*/
|
||||
public function show(string $id): JsonResponse
|
||||
{
|
||||
{
|
||||
$this->authorize('view', $this->modelClass);
|
||||
|
||||
$role = $this->repository->find($id);
|
||||
|
||||
return response()->json([
|
||||
@@ -157,6 +166,8 @@ class RoleController extends BaseCrudController
|
||||
*/
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$this->authorize('viewAny', $this->modelClass);
|
||||
|
||||
$search = $request->get('search', '');
|
||||
$roles = $this->repository->withPermissions($search);
|
||||
|
||||
@@ -165,17 +176,4 @@ class RoleController extends BaseCrudController
|
||||
'data' => RoleResource::collection($roles),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Public endpoint for registration form (no auth required)
|
||||
*/
|
||||
public function publicRole(): JsonResponse
|
||||
{
|
||||
$roles = $this->repository->all();
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'data' => RoleResource::collection($roles),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user