Interface PostService
- All Known Implementing Classes:
PostServiceImpl
public interface PostService
Интерфейс определяет функциональность для постов пользователей, таких как создание, обновление.
- Author:
- mrGreenNV
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Позволяет прикрепить изображения к посту.createPost
(Post post) Позволяет создать пост.void
deleteImage
(Long postId, Long imageId) Позволяет открепить изображение от поста.void
deletePost
(Long postId) Позволяет пользователю удалить свой пост.Позволяет получить список всех постов отсортированных по дате создания.getAllPostByCreateAt
(org.springframework.data.domain.PageRequest pageRequest) Позволяет получить список всех постов отсортированных по дате создания с пагинацией страниц.getPostByUserIds
(List<Long> userIds) Позволяет получить список постов по идентификаторам их создателей сортируя по дате.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
Позволяет создать пост.- Parameters:
post
- создаваемый пост.- Returns:
- созданный пост.
- Throws:
PostCreationException
- выбрасывает при возникновении ошибки при создании поста.
-
addImage
Позволяет прикрепить изображения к посту.- 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
Позволяет обновить пост.- Parameters:
postId
- идентификатор обновляемого поста.updatedPost
- пост с новыми данными.- Returns:
- обновленный пост.
- Throws:
PostNotFoundException
AuthException
-
deletePost
Позволяет пользователю удалить свой пост.- Parameters:
postId
- идентификатор удаляемого поста.- Throws:
PostNotFoundException
- выбрасывает, если пост с заданным идентификатором не найден в базе данных.AuthException
- выбрасывает, если для удаления поста недостаточно прав.
-
showAllPostsByUser
Позволяет посмотреть все посты пользователя с пагинацией страниц.- Parameters:
pageRequest
- пагинация запроса.- Returns:
- список постов.
- Throws:
AuthException
- выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
-
showAllPostsByUser
Позволяет посмотреть все посты пользователя.- Returns:
- список постов.
- Throws:
AuthException
- выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
-
getAllPostByCreateAt
Позволяет получить список всех постов отсортированных по дате создания с пагинацией страниц.- Parameters:
pageRequest
- пагинация запроса.- Returns:
- список объектов Post.
-
getAllPostByCreateAt
Позволяет получить список всех постов отсортированных по дате создания.- Returns:
- список объектов Post.
-
getPostByUserIds
List<Post> getPostByUserIds(List<Long> userIds, org.springframework.data.domain.PageRequest pageRequest) Позволяет получить список постов по идентификаторам их создателей сортируя по дате с пагинацией страниц.- Parameters:
userIds
- список идентификаторов создателей постов.pageRequest
- пагинация запроса.- Returns:
- список объектов Post.
-
getPostByUserIds
Позволяет получить список постов по идентификаторам их создателей сортируя по дате.- Parameters:
userIds
- список идентификаторов создателей постов.- Returns:
- список объектов Post.
-