Added API method for getting a single appointment.

This commit is contained in:
Alex Tselegidis 2016-07-09 21:11:33 +02:00
parent 02ac330b3b
commit de4bc1217a
2 changed files with 23 additions and 4 deletions

View File

@ -45,13 +45,19 @@ class Appointments extends API_V1_Controller {
* @param int $id Optional (null), the record ID to be returned. * @param int $id Optional (null), the record ID to be returned.
*/ */
public function get($id = null) { public function get($id = null) {
$appointments = $this->appointments_model->get_batch(); $condition = $id !== null ? 'id = ' . $id : null;
$appointments = $this->appointments_model->get_batch($condition);
$response = new Response($appointments); $response = new Response($appointments);
$status = new NonEmptyString('200 OK'); $response->format($this->formatter)->search()->sort()->paginate()->minimize();
$response->format($this->formatter)->search()->sort()->paginate()->minimize()->output(); if ($id !== null) {
$response->singleEntry();
}
$response->output();
} }
/** /**

View File

@ -98,6 +98,19 @@ class Response {
return $this; return $this;
} }
/**
* Return a single entry instead of an array of entries.
*
* This is useful whenever the client requests only a single entry.
*
* @return \EA\Engine\Api\V1\Response
*/
public function singleEntry() {
$this->response = array_shift($this->response);
return $this;
}
/** /**
* Output the response as a JSON with the provided status header. * Output the response as a JSON with the provided status header.
* *