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