request->getHttpMethod()) { case 'GET': $id = $this->request->getURIParams()[0]; return $this->getUser($id); break; case 'POST': $data = json_decode(file_get_contents("php://input"),TRUE); return $this->createUser($data); break; case 'PUT': $id = $this->request->getURIParams()[0]; $data = json_decode(file_get_contents("php://input"),TRUE); return $this->updateUser($id,$data); break; case 'DELETE': $id = $this->request->getURIParams()[0]; return $this->deleteUser($id); break; } return Response::errorResponse("unsupported parameters or method in user"); } protected function getUser($id) { $user = User::getUserById($id); $response = new Response(200,json_encode($user)); return $response; } protected function deleteUser($id){ User::deleteUser($id); $response = Response::okResponse("User deleted"); return $response; } protected function updateUser($id,$data) { $userValues = User::getUserById($id); $userValues=($userValues[0]); // print_r($userValues); // exit; if($userValues == []){ $response = Response::errorResponse("User not found"); return $response; }else{ if(array_key_exists('USER_LOGIN',$data)){ $login = $data['USER_LOGIN']; }else{ $login = $userValues->USER_LOGIN; } if(array_key_exists('USER_EMAIL',$data)){ $email = $data['USER_EMAIL']; }else{ $email = $userValues->USER_EMAIL; } if(array_key_exists('USER_LASTNAME',$data)){ $lastname = $data['USER_LASTNAME']; }else{ $lastname = $userValues->USER_LASTNAME; } if(array_key_exists('USER_FIRSTNAME',$data)){ $firstname = $data['USER_FIRSTNAME']; }else{ $firstname = $userValues->USER_FIRSTNAME; } $user = User::updateUser(array("id" => $id, "login" => $login,"email" => $email,"lastname" => $lastname,"firstname" => $firstname)); $response = new Response(200,json_encode($user)); return $response; } } protected function createUser($data) { $user = User::createUser(array( "login" => $data['USER_LOGIN'], "password" => $data['USER_PASSWORD'], "role" => $data['USER_ROLE'], "email" => $data['USER_EMAIL'],"lastname" => $data['USER_LASTNAME'],"firstname" => $data['USER_FIRSTNAME'])); $response = new Response(200,json_encode($user)); return $response; } }