json($externals); } public function saveExternal(): ResponseInterface { $externalValidation = new \ExternalValidation(); if (!$externalValidation->getValidationResult()) { return $this->json([ 'success' => false, 'messages' => $externalValidation->getErrorMessages() ]); } $external = $this->request->getPost(); $externalID = $external['id']; unset($external['id']); $externalID = \External::saveExternal($externalID, $external); return $this->json(['success' => true, 'externalID' => $externalID]); } public function archiveExternal(int $externalID, string $status): ResponseInterface { \External::whereId($externalID)->update(['archive' => $status]); return $this->json(['success' => true]); } public function removeExternal(int $externalID): ResponseInterface { $removeExternal = new \RemoveExternal($externalID); if ($removeExternal->getAllowDelete() === false) { return $this->json(['result' => false]); } \External::removeExternal($externalID); return $this->json(['result' => true]); } }