Refactor fetching newsletter in trash, delete and restore API methods

[MAILPOET-2898]
This commit is contained in:
Rostislav Wolny
2020-06-17 10:09:15 +02:00
committed by Veljko V
parent 224c5baab3
commit fca4ea595c

View File

@ -201,10 +201,9 @@ class Newsletters extends APIEndpoint {
} }
public function restore($data = []) { public function restore($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false); $newsletter = $this->getNewsletter($data);
$newsletter = $this->newslettersRepository->findOneById($id);
if ($newsletter instanceof NewsletterEntity) { if ($newsletter instanceof NewsletterEntity) {
$this->newslettersRepository->bulkRestore([$id]); $this->newslettersRepository->bulkRestore([$newsletter->getId()]);
$this->newslettersRepository->refresh($newsletter); $this->newslettersRepository->refresh($newsletter);
return $this->successResponse( return $this->successResponse(
$this->newslettersResponseBuilder->build($newsletter), $this->newslettersResponseBuilder->build($newsletter),
@ -218,10 +217,9 @@ class Newsletters extends APIEndpoint {
} }
public function trash($data = []) { public function trash($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false); $newsletter = $this->getNewsletter($data);
$newsletter = $this->newslettersRepository->findOneById($id);
if ($newsletter instanceof NewsletterEntity) { if ($newsletter instanceof NewsletterEntity) {
$this->newslettersRepository->bulkTrash([$id]); $this->newslettersRepository->bulkTrash([$newsletter->getId()]);
$this->newslettersRepository->refresh($newsletter); $this->newslettersRepository->refresh($newsletter);
return $this->successResponse( return $this->successResponse(
$this->newslettersResponseBuilder->build($newsletter), $this->newslettersResponseBuilder->build($newsletter),
@ -235,10 +233,9 @@ class Newsletters extends APIEndpoint {
} }
public function delete($data = []) { public function delete($data = []) {
$id = (isset($data['id']) ? (int)$data['id'] : false); $newsletter = $this->getNewsletter($data);
$newsletter = $this->newslettersRepository->findOneById($id);
if ($newsletter instanceof NewsletterEntity) { if ($newsletter instanceof NewsletterEntity) {
$this->newslettersRepository->bulkDelete([$id]); $this->newslettersRepository->bulkDelete([$newsletter->getId()]);
return $this->successResponse(null, ['count' => 1]); return $this->successResponse(null, ['count' => 1]);
} else { } else {
return $this->errorResponse([ return $this->errorResponse([