* * @version 1.0.0 */ class RoleController extends Controller { /** * Listar */ public function index() { $model = Role::where('name', '!=','developer')->orderBy('description'); QuerySupport::queryByKey($model, request(), 'name'); return ApiResponse::OK->response([ 'models' => $model ->paginate(config('app.pagination')) ]); } /** * Almacenar */ public function store(RoleStoreRequest $request) { Role::create($request->all()); return ApiResponse::OK->response(); } /** * Mostrar */ public function show(Role $role) { return ApiResponse::OK->response([ 'model' => $role ]); } /** * Actualizar */ public function update(RoleUpdateRequest $request, Role $role) { $role->update($request->all()); return ApiResponse::OK->response(); } /** * Eliminar */ public function destroy(Role $role) { $role->delete(); return ApiResponse::OK->response(); } /** * Permisos */ public function permissions(Role $role) { return ApiResponse::OK->response([ 'permissions' => $role->permissions ]); } /** * Actualizar permisos */ public function updatePermissions(Role $role, Request $request) { $role->syncPermissions($request->get('permissions', [])); UpdateRoleUser::dispatch($role); return ApiResponse::OK->response(); } }