/** * @param SentMessage $message * @param array $recipientsIDs * @return NewMessageResultObject * @throws \Exception */ public function sendMessage(SentMessage $message, array $recipientsIDs) { $recipients = $this->usersReader->findUsersByIDs($recipientsIDs); $messageResult = new NewMessageResultObject($message); $references = $this->messagesWriter->sendMessage($message, $recipients); $messageResult->addMessageReferences($references); return $messageResult; }
/** * @param Listing $listing * @param int $recipientID * @param $description * @param array|null $ignoredListingDays * @return EntityResultObject * @throws RecipientsNotFoundException * @throws \Exception */ public function shareListing(Listing $listing, $recipientID, $description, array $ignoredListingDays = []) { $recipient = $this->usersReader->findUsersByIDs([$recipientID]); if (empty($recipient)) { throw new RecipientsNotFoundException(); } $newListing = $this->listingsManager->shareListing($listing, $recipient[0], $description, $ignoredListingDays); $resultObject = new EntityResultObject($newListing); $this->onListingSharing($newListing, $listing->getUser(), $resultObject); return $resultObject; }
/** * @param array $usersIDs * @return array */ public function findUsers(array $usersIDs) { return $this->usersReader->findUsersByIDs($usersIDs); }