/** * 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); }