7 * @link http://www.open-emr.org
8 * @author Matthew Vita <matthewvita48@gmail.com>
9 * @copyright Copyright (c) 2018 Matthew Vita <matthewvita48@gmail.com>
10 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
13 namespace OpenEMR\RestControllers
;
15 use OpenEMR\Services\ListService
;
16 use OpenEMR\RestControllers\RestControllerHelper
;
18 class ListRestController
22 public function __construct()
24 $this->listService
= new ListService();
27 public function getAll($pid, $list_type)
29 $serviceResult = $this->listService
->getAll($pid, $list_type);
30 return RestControllerHelper
::responseHandler($serviceResult, null, 200);
33 public function getOne($pid, $list_type, $list_id)
35 $serviceResult = $this->listService
->getOne($pid, $list_type, $list_id);
36 return RestControllerHelper
::responseHandler($serviceResult, null, 200);
39 public function getOptions($list_name)
41 $serviceResult = $this->listService
->getOptionsByListName($list_name);
42 return RestControllerHelper
::responseHandler($serviceResult, null, 200);
45 public function post($pid, $list_type, $data)
47 $data['type'] = $list_type;
50 $validationResult = $this->listService
->validate($data);
51 $validationHandlerResult = RestControllerHelper
::validationHandler($validationResult);
52 if (is_array($validationHandlerResult)) {
53 return $validationHandlerResult;
56 $serviceResult = $this->listService
->insert($data);
57 return RestControllerHelper
::responseHandler($serviceResult, array('id' => $serviceResult), 201);
60 public function put($pid, $list_id, $list_type, $data)
62 $data['type'] = $list_type;
64 $data['id'] = $list_id;
66 $validationResult = $this->listService
->validate($data);
67 $validationHandlerResult = RestControllerHelper
::validationHandler($validationResult);
68 if (is_array($validationHandlerResult)) {
69 return $validationHandlerResult;
73 $serviceResult = $this->listService
->update($data);
74 return RestControllerHelper
::responseHandler($serviceResult, array('id' => $list_id), 200);
77 public function delete($pid, $list_id, $list_type)
79 $serviceResult = $this->listService
->delete($pid, $list_id, $list_type);
80 return RestControllerHelper
::responseHandler($serviceResult, true, 200);