fetchesAddress = $fetchesAddress; $this->canCreateAddress = $canCreateAddress; $this->createsOrderAddress = $createsOrderAddress; } /** * @param EmploymentObject $object * @return Model * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function execute(int $address_id, Order $order): Model { $address = $this->fetchesAddress->getRepository()->whereIn('id',[$address_id])->first(); // $this->canCreateAddress->passes($object); //Fetches Address & duplicate return $this->createsOrderAddress->execute($address, $order); } }