From 1fe554bceee30b4ee196aa93010a7d6b7f857460 Mon Sep 17 00:00:00 2001 From: weichien Date: Tue, 8 Jun 2021 13:33:05 +0800 Subject: [PATCH] fix: create new announcement with attached standard segment. --- .../ControllersLogic/CreateAnnouncementLogic.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/Classes/Modules/Announcements/ControllersLogic/CreateAnnouncementLogic.php b/app/Classes/Modules/Announcements/ControllersLogic/CreateAnnouncementLogic.php index 26ef7f8f..9c740601 100644 --- a/app/Classes/Modules/Announcements/ControllersLogic/CreateAnnouncementLogic.php +++ b/app/Classes/Modules/Announcements/ControllersLogic/CreateAnnouncementLogic.php @@ -5,10 +5,11 @@ namespace App\Classes\Modules\Announcements\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; +use App\Classes\Modules\Announcements\DataTransferObjects\AnnouncementObject; use App\Classes\Modules\Announcements\Standards\Rules\CanCreateAnnouncement; use App\Classes\Modules\Announcements\Services\CreatesAnnouncement; +use App\Classes\Modules\Announcements\Processors\AssignAnnouncementToSegmentProcessor; -use App\Classes\Modules\Announcements\DataTransferObjects\AnnouncementObject; use App\Http\Resources\AnnouncementResource; use ErrorException; @@ -34,18 +35,24 @@ class CreateAnnouncementLogic extends AbstractControllerLogic /** @var CreatesAnnoucement */ private $createsAnnoucement; + /** @var AssignAnnouncementToSegmentProcessor */ + private $assignAnnouncementToSegmentProcessor; + /** * CreateAnnouncementLogic constructor. * @param CanCreateAnnoucement $canCreateAnnoucement * @param CreatesAnnoucement $createsAnnoucement + * @param AssignAnnouncementToSegmentProcessor $assignAnnouncementToSegmentProcessor */ public function __construct( CanCreateAnnouncement $canCreateAnnouncement, - CreatesAnnouncement $createsAnnoucement + CreatesAnnouncement $createsAnnoucement, + AssignAnnouncementToSegmentProcessor $assignAnnouncementToSegmentProcessor ) { - $this->canCreateAnnoucement = $canCreateAnnouncement; + $this->canCreateAnnouncement = $canCreateAnnouncement; $this->createsAnnoucement = $createsAnnoucement; + $this->assignAnnouncementToSegmentProcessor = $assignAnnouncementToSegmentProcessor; } /** @@ -68,8 +75,7 @@ class CreateAnnouncementLogic extends AbstractControllerLogic $announcement = $this->createsAnnoucement->execute($annoucement_object); - $announcement->segments()->attach($request->input('segment_id')); - + $this->assignAnnouncementToSegmentProcessor->execute($announcement); return $this->resourceResponse(new AnnouncementResource($announcement)); }