Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param array $projectMessages
- * @param User $user
- *
- * @return array
- */
- public function transformUserConversationMessages(
- array $projectMessages,
- User $user
- ): array {
- $result = [];
- $firstMessage = $projectMessages[0];
- /* @var User|AdminUser $conversationSender */
- $conversationReceiver = $firstMessage->getToUser();
- if ($firstMessage->isToAdmin()) {
- $conversationReceiver = $firstMessage->getAdminUser();
- }
- $projectIdWIthTitle = $firstMessage->getProjectIdWIthTitle();
- $result['receiver'] = $conversationReceiver->getName().' sobre '. $projectIdWIthTitle;
- $result['allowSendMessages'] = $firstMessage->allowSendMessages($conversationReceiver);
- $result['uuid'] = $this->buildConversationUUID(
- $firstMessage,
- $user
- );
- foreach ($projectMessages as $projectMessage) {
- $result['messages'][] = $this->getUserConversation($projectMessage, $user);
- }
- return $result;
- }
- /**
- * @param ProjectMessage $projectMessage
- * @param User $loggedUser
- *
- * @return array
- */
- public function getUserConversation(
- ProjectMessage $projectMessage,
- User $loggedUser
- ): array {
- /** @var AdminUser|User $conversationSender */
- $conversationSender = $projectMessage->getFromUser();
- $isAdmin = false;
- if ($projectMessage->isFromAdmin()) {
- $isAdmin = true;
- $conversationSender = $projectMessage->getAdminUser();
- }
- return [
- 'isAdmin' => $isAdmin,
- 'avatar' => $this->getAvatar($conversationSender, $projectMessage->participatesAdmin()),
- 'sender' => $projectMessage->messageIsSentByUser($loggedUser) ?
- 'you' :
- $conversationSender->getName()
- ,
- 'sender_first_letter' => $conversationSender->getFirstLetter(),
- 'sender_id' => $conversationSender->getId(),
- 'message' => $projectMessage->getMessage(),
- 'message_date' => $projectMessage->getCreatedAt()->format('d/m/Y'),
- 'message_hour' => $projectMessage->getCreatedAt()->format('H:i'),
- 'created_at' => $projectMessage->getCreatedAt(),
- // 'project' => $projectIdWIthTitle,
- // 'uuid' => $this->buildConversationUUID(
- // $projectMessage,
- // $loggedUser
- // ),
- // 'receiver' => $conversationReceiver->getName().' sobre '.$projectIdWIthTitle,
- // 'allowSendMessages' => $projectMessage->allowSendMessages($conversationReceiver),
- ];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement