Class MessageServiceImpl

java.lang.Object
ru.averkiev.socialmediaapi.services.impl.MessageServiceImpl
All Implemented Interfaces:
MessageService

@Service public class MessageServiceImpl extends Object implements MessageService
Класс реализует функциональность для сообщений пользователей, таких как создание, редактирование, удаление и получение переписки.
Author:
mrGreenNV
  • Constructor Details

    • MessageServiceImpl

      public MessageServiceImpl()
  • Method Details

    • createMessage

      public MessageDTO createMessage(MessageDTO messageDTO) throws UserNotFoundException
      Позволяет создать сообщение.
      Specified by:
      createMessage in interface MessageService
      Parameters:
      messageDTO - DTO сообщения с данными о пользователях и контенте.
      Returns:
      DTO созданного сообщения.
      Throws:
      UserNotFoundException - выбрасывает, если не удалось найти пользователя в базе данных.
    • editMessage

      public MessageDTO editMessage(Long messageId, String editContent) throws MessageNotFoundException, AuthException
      Позволяет отредактировать текст сообщения.
      Specified by:
      editMessage in interface MessageService
      Parameters:
      messageId - идентификатор сообщения.
      editContent - отредактированный контент сообщения.
      Returns:
      DTO отредактированного сообщения.
      Throws:
      MessageNotFoundException - выбрасывает, если сообщение не найдено.
      AuthException - выбрасывает, если недостаточно прав для редактирования сообщения.
    • deleteMessage

      public void deleteMessage(Long messageId) throws MessageNotFoundException, AuthException
      Позволяет удалить сообщение между пользователями.
      Specified by:
      deleteMessage in interface MessageService
      Parameters:
      messageId - идентификатор удаляемого сообщения.
      Throws:
      MessageNotFoundException - выбрасывает, если сообщение не найдено.
      AuthException - выбрасывает, если недостаточно прав для удаления сообщения.
    • getMessagesBetweenUsers

      public List<MessageDTO> getMessagesBetweenUsers(Long interlocutorId) throws UserNotFoundException, AuthException
      Позволяет получить переписку между авторизованным пользователем и конкретным собеседником.
      Specified by:
      getMessagesBetweenUsers in interface MessageService
      Parameters:
      interlocutorId - идентификатор собеседника.
      Returns:
      список DTO объектом содержащий сообщения между пользователями.
      Throws:
      UserNotFoundException - выбрасывает, если пользователь не найден.
      AuthException - выбрасывает, если возникнет ошибка аутентификации пользователя в системе.
    • getConversationsForUser

      public List<UserDTO> getConversationsForUser() throws AuthException
      Позволяет получить список собеседников пользователя.
      Specified by:
      getConversationsForUser in interface MessageService
      Returns:
      список DTO объектов содержащих данные на собеседников.
      Throws:
      AuthException - выбрасывает если при аутентификации пользователя возникает ошибка.