Openemr fhir search (#4349)
[openemr.git] / src / RestControllers / ListRestController.php
blob2dc3132c03b9f8050941ee588021796f452ce9c4
1 <?php
3 /**
4 * ListRestController
6 * @package OpenEMR
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
20 private $listService;
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;
48 $data['pid'] = $pid;
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;
63 $data['pid'] = $pid;
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);