From fca4ea595c321eb1cbae10d4870b82f2916ebfba Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Wed, 17 Jun 2020 10:09:15 +0200 Subject: [PATCH] Refactor fetching newsletter in trash, delete and restore API methods [MAILPOET-2898] --- lib/API/JSON/v1/Newsletters.php | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/API/JSON/v1/Newsletters.php b/lib/API/JSON/v1/Newsletters.php index bd9515a194..db5ea5bb6a 100644 --- a/lib/API/JSON/v1/Newsletters.php +++ b/lib/API/JSON/v1/Newsletters.php @@ -201,10 +201,9 @@ class Newsletters extends APIEndpoint { } public function restore($data = []) { - $id = (isset($data['id']) ? (int)$data['id'] : false); - $newsletter = $this->newslettersRepository->findOneById($id); + $newsletter = $this->getNewsletter($data); if ($newsletter instanceof NewsletterEntity) { - $this->newslettersRepository->bulkRestore([$id]); + $this->newslettersRepository->bulkRestore([$newsletter->getId()]); $this->newslettersRepository->refresh($newsletter); return $this->successResponse( $this->newslettersResponseBuilder->build($newsletter), @@ -218,10 +217,9 @@ class Newsletters extends APIEndpoint { } public function trash($data = []) { - $id = (isset($data['id']) ? (int)$data['id'] : false); - $newsletter = $this->newslettersRepository->findOneById($id); + $newsletter = $this->getNewsletter($data); if ($newsletter instanceof NewsletterEntity) { - $this->newslettersRepository->bulkTrash([$id]); + $this->newslettersRepository->bulkTrash([$newsletter->getId()]); $this->newslettersRepository->refresh($newsletter); return $this->successResponse( $this->newslettersResponseBuilder->build($newsletter), @@ -235,10 +233,9 @@ class Newsletters extends APIEndpoint { } public function delete($data = []) { - $id = (isset($data['id']) ? (int)$data['id'] : false); - $newsletter = $this->newslettersRepository->findOneById($id); + $newsletter = $this->getNewsletter($data); if ($newsletter instanceof NewsletterEntity) { - $this->newslettersRepository->bulkDelete([$id]); + $this->newslettersRepository->bulkDelete([$newsletter->getId()]); return $this->successResponse(null, ['count' => 1]); } else { return $this->errorResponse([