| @@ 80-104 (lines=25) @@ | ||
| 77 | * @param EditCasesRequest $request |
|
| 78 | * @return CasesResponse |
|
| 79 | */ |
|
| 80 | public function edit(EditCasesRequest $request) |
|
| 81 | { |
|
| 82 | $transformer = $this->transformerFactory->get(CasesDataTransformerFactory::REQUEST_EDIT); |
|
| 83 | $configuration = $this->configurationFactory->get(CasesConfigurationFactory::CONFIGURATION_EDIT); |
|
| 84 | ||
| 85 | try { |
|
| 86 | $params = $this->checkRequest($request, $transformer, $configuration); |
|
| 87 | } catch (InvalidConfigurationException $exception) { |
|
| 88 | throw new InvalidConfigurationException($exception->getMessage()); |
|
| 89 | } |
|
| 90 | ||
| 91 | try { |
|
| 92 | $result = $this->requestService->put("cases/{$params['case_id']}", ['case' => $params]); |
|
| 93 | } catch (ClientException $exception) { |
|
| 94 | $contents = json_decode($exception->getResponse()->getBody(), JSON_UNESCAPED_UNICODE); |
|
| 95 | ||
| 96 | if ($contents['error'] === CasesResponse::ERROR_STAFF_HAS_NOT_ACCESS) { |
|
| 97 | throw new StaffNotActiveException(CasesResponse::ERROR_STAFF_HAS_NOT_ACCESS); |
|
| 98 | } |
|
| 99 | ||
| 100 | throw $exception; |
|
| 101 | } |
|
| 102 | ||
| 103 | return $this->transformerFactory->get(CasesDataTransformerFactory::RESPONSE_VIEW)->transform($result); |
|
| 104 | } |
|
| 105 | ||
| 106 | /** |
|
| 107 | * @param ListCasesRequest $request |
|
| @@ 59-83 (lines=25) @@ | ||
| 56 | * @return StaffResponse |
|
| 57 | * @throws StaffAlreadyExistException |
|
| 58 | */ |
|
| 59 | public function add(AddStaffRequest $request) |
|
| 60 | { |
|
| 61 | $transformer = $this->transformerFactory->get(StaffDataTransformerFactory::REQUEST_ADD); |
|
| 62 | $configuration = $this->configurationFactory->get(StaffConfigurationFactory::CONFIGURATION_ADD); |
|
| 63 | ||
| 64 | try { |
|
| 65 | $params = $this->checkRequest($request, $transformer, $configuration); |
|
| 66 | } catch (InvalidConfigurationException $exception) { |
|
| 67 | throw new InvalidConfigurationException($exception->getMessage()); |
|
| 68 | } |
|
| 69 | ||
| 70 | try { |
|
| 71 | $result = $this->requestService->post('staff', ['staff' => $params]); |
|
| 72 | } catch (ClientException $exception) { |
|
| 73 | $contents = json_decode($exception->getResponse()->getBody(), JSON_UNESCAPED_UNICODE); |
|
| 74 | ||
| 75 | if ($contents['error'] === StaffResponse::ERROR_EMAIL_ALREADY_EXIST) { |
|
| 76 | throw new StaffAlreadyExistException(); |
|
| 77 | } |
|
| 78 | ||
| 79 | throw $exception; |
|
| 80 | } |
|
| 81 | ||
| 82 | return $this->transformerFactory->get(StaffDataTransformerFactory::RESPONSE_VIEW)->transform($result); |
|
| 83 | } |
|
| 84 | ||
| 85 | /** |
|
| 86 | * @param EditStaffRequest $request |
|