コード例 #1
0
 /**
  * Create route permission action
  *
  * @param  Request $request
  * @return Response
  */
 public function store(Request $request)
 {
     // validate
     $this->registerValidators();
     $validator = Validator::make($request->all(), ['route' => 'required|max:255|string|unique:route_permission,route', 'permissions' => 'required|max:255|array|rolePermission', 'roles' => 'required|max:255|array|rolePermission']);
     if ($validator->fails()) {
         return response()->json(arrayView('phpsoft.users::errors/validation', ['errors' => $validator->errors()]), 400);
     }
     // check current user is admin
     if (!(Auth::user() && Auth::user()->hasRole('admin'))) {
         return response()->json(null, 403);
     }
     // add permissions and roles for the route
     $routePermission = RoutePermission::setRoutePermissionsRoles($request['route'], $request['permissions'], $request['roles']);
     return response()->json(arrayView('phpsoft.users::routePermission/read', ['routePermission' => $routePermission]), 201);
 }