public function get_by_pub_id(VO\ID $id)
 {
     $pub_id = $id->__toString();
     $request = new Request(new GuzzleClient(), $this->credentials, VO\HTTP\Url::fromNative($this->base_url . '/course_by_pub_id/' . $pub_id . '/get'), new VO\HTTP\Method('GET'));
     $response = $request->send();
     $data = $response->get_data();
     return $data->course;
 }
 /**
  * @return member_id
  */
 public function create(VO\Name $name, VO\Username $username, VO\Email $email, VO\Password $password, VO\ID $pub_id = null)
 {
     $request = new Request(new GuzzleClient(), $this->credentials, VO\HTTP\Url::fromNative($this->base_url . '/member/create'), new VO\HTTP\Method('POST'));
     $request_parameters = array('first_name' => $name->get_first_name()->__toString(), 'last_name' => $name->get_last_name()->__toString(), 'username' => $username->__toString(), 'email' => $email->__toString(), 'password' => $password->__toString(), 'password_confirmation' => $password->__toString());
     if ($pub_id) {
         $request_parameters['pub_id'] = $pub_id->__toString();
     }
     $response = $request->send($request_parameters);
     $data = $response->get_data();
     return $data->member_id;
 }