Interface PostService

All Known Implementing Classes:
PostServiceImpl

public interface PostService
Интерфейс определяет функциональность для постов пользователей, таких как создание, обновление.
Author:
mrGreenNV
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addImage(Long postId, Image image)
    Позволяет прикрепить изображения к посту.
    Позволяет создать пост.
    void
    deleteImage(Long postId, Long imageId)
    Позволяет открепить изображение от поста.
    void
    deletePost(Long postId)
    Позволяет пользователю удалить свой пост.
    Позволяет получить список всех постов отсортированных по дате создания.
    getAllPostByCreateAt(org.springframework.data.domain.PageRequest pageRequest)
    Позволяет получить список всех постов отсортированных по дате создания с пагинацией страниц.
    Позволяет получить список постов по идентификаторам их создателей сортируя по дате.
    getPostByUserIds(List<Long> userIds, org.springframework.data.domain.PageRequest pageRequest)
    Позволяет получить список постов по идентификаторам их создателей сортируя по дате с пагинацией страниц.
    Позволяет посмотреть все посты пользователя.
    showAllPostsByUser(org.springframework.data.domain.PageRequest pageRequest)
    Позволяет посмотреть все посты пользователя с пагинацией страниц.
    updatePost(Long postId, Post updatedPost)
    Позволяет обновить пост.
  • Method Details

    • createPost

      Post createPost(Post post) throws PostCreationException
      Позволяет создать пост.
      Parameters:
      post - создаваемый пост.
      Returns:
      созданный пост.
      Throws:
      PostCreationException - выбрасывает при возникновении ошибки при создании поста.
    • addImage

      void addImage(Long postId, Image image) throws AuthException, PostNotFoundException
      Позволяет прикрепить изображения к посту.
      Parameters:
      postId - идентификатор поста к которому добавляется изображение.
      image - прикрепляемое изображение.
      Throws:
      AuthException - выбрасывает если недостаточно прав для редактирования поста.
      PostNotFoundException - выбрасывает если пост с заданным идентификатором не удалось найти в базе данных.
    • deleteImage

      void deleteImage(Long postId, Long imageId) throws PostNotFoundException, AuthException, ImageNotFoundException
      Позволяет открепить изображение от поста.
      Parameters:
      postId - идентификатор поста.
      imageId - идентификатор изображения.
      Throws:
      PostNotFoundException - выбрасывает, если пост не найден в базе данных.
      AuthException - выбрасывает, если недостаточно прав.
      ImageNotFoundException - выбрасывает, если изображение не найдено в базу данных.
    • updatePost

      Post updatePost(Long postId, Post updatedPost) throws PostNotFoundException, AuthException
      Позволяет обновить пост.
      Parameters:
      postId - идентификатор обновляемого поста.
      updatedPost - пост с новыми данными.
      Returns:
      обновленный пост.
      Throws:
      PostNotFoundException
      AuthException
    • deletePost

      void deletePost(Long postId) throws PostNotFoundException, AuthException
      Позволяет пользователю удалить свой пост.
      Parameters:
      postId - идентификатор удаляемого поста.
      Throws:
      PostNotFoundException - выбрасывает, если пост с заданным идентификатором не найден в базе данных.
      AuthException - выбрасывает, если для удаления поста недостаточно прав.
    • showAllPostsByUser

      List<Post> showAllPostsByUser(org.springframework.data.domain.PageRequest pageRequest)
      Позволяет посмотреть все посты пользователя с пагинацией страниц.
      Parameters:
      pageRequest - пагинация запроса.
      Returns:
      список постов.
      Throws:
      AuthException - выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
    • showAllPostsByUser

      List<Post> showAllPostsByUser()
      Позволяет посмотреть все посты пользователя.
      Returns:
      список постов.
      Throws:
      AuthException - выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
    • getAllPostByCreateAt

      List<Post> getAllPostByCreateAt(org.springframework.data.domain.PageRequest pageRequest)
      Позволяет получить список всех постов отсортированных по дате создания с пагинацией страниц.
      Parameters:
      pageRequest - пагинация запроса.
      Returns:
      список объектов Post.
    • getAllPostByCreateAt

      List<Post> getAllPostByCreateAt()
      Позволяет получить список всех постов отсортированных по дате создания.
      Returns:
      список объектов Post.
    • getPostByUserIds

      List<Post> getPostByUserIds(List<Long> userIds, org.springframework.data.domain.PageRequest pageRequest)
      Позволяет получить список постов по идентификаторам их создателей сортируя по дате с пагинацией страниц.
      Parameters:
      userIds - список идентификаторов создателей постов.
      pageRequest - пагинация запроса.
      Returns:
      список объектов Post.
    • getPostByUserIds

      List<Post> getPostByUserIds(List<Long> userIds)
      Позволяет получить список постов по идентификаторам их создателей сортируя по дате.
      Parameters:
      userIds - список идентификаторов создателей постов.
      Returns:
      список объектов Post.