Class PostServiceImpl
java.lang.Object
ru.averkiev.socialmediaapi.services.impl.PostServiceImpl
- All Implemented Interfaces:
PostService
Класс реализует функционал взаимодействия пользователя с постом.
Такой, как создание и обновление поста, а также взаимодействия с изображениями к посту.
- Author:
- mrGreenNV
-
Constructor Summary
Constructors -
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) Позволяет обновить пост.
-
Constructor Details
-
PostServiceImpl
public PostServiceImpl()
-
-
Method Details
-
createPost
Позволяет создать пост.- Specified by:
createPost
in interfacePostService
- Parameters:
post
- создаваемый пост.- Returns:
- созданный пост.
- Throws:
PostCreationException
- выбрасывает при возникновении ошибки при создании поста.AuthException
- выбрасывает если недостаточно прав.
-
addImage
Позволяет прикрепить изображения к посту.- Specified by:
addImage
in interfacePostService
- Parameters:
postId
- идентификатор поста к которому добавляется изображение.image
- прикрепляемое изображение.- Throws:
AuthException
- выбрасывает если недостаточно прав для редактирования поста.PostNotFoundException
- выбрасывает если пост с заданным идентификатором не удалось найти в базе данных.
-
deleteImage
public void deleteImage(Long postID, Long imageId) throws PostNotFoundException, AuthException, ImageNotFoundException Позволяет открепить изображение от поста.- Specified by:
deleteImage
in interfacePostService
- Parameters:
postID
- идентификатор поста.imageId
- идентификатор изображения.- Throws:
PostNotFoundException
- выбрасывает, если пост не найден в базе данных.AuthException
- выбрасывает, если недостаточно прав.ImageNotFoundException
- выбрасывает, если изображение не найдено в базу данных.
-
updatePost
Позволяет обновить пост.- Specified by:
updatePost
in interfacePostService
- Parameters:
postId
- идентификатор обновляемого поста.updatedPost
- пост с новыми данными.- Returns:
- объект Post с обновленными данными.
- Throws:
PostNotFoundException
- выбрасывает, если пост не найден в базе данных.AuthException
- выбрасывает, если недостаточно прав.
-
deletePost
Позволяет пользователю удалить свой пост.- Specified by:
deletePost
in interfacePostService
- Parameters:
postId
- идентификатор удаляемого поста.- Throws:
PostNotFoundException
- выбрасывает, если пост с заданным идентификатором не найден в базе данных.AuthException
- выбрасывает, если для удаления поста недостаточно прав.
-
showAllPostsByUser
public List<Post> showAllPostsByUser(org.springframework.data.domain.PageRequest pageRequest) throws AuthException Позволяет посмотреть все посты пользователя с пагинацией страниц.- Specified by:
showAllPostsByUser
in interfacePostService
- Parameters:
pageRequest
- пагинация.- Returns:
- список постов.
- Throws:
AuthException
- выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
-
showAllPostsByUser
Позволяет посмотреть все посты пользователя.- Specified by:
showAllPostsByUser
in interfacePostService
- Returns:
- список постов.
- Throws:
AuthException
- выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
-
getAllPostByCreateAt
Позволяет получить список всех постов отсортированных по дате создания с пагинацией страниц.- Specified by:
getAllPostByCreateAt
in interfacePostService
- Parameters:
pageRequest
- пагинация запроса.- Returns:
- список объектов Post.
-
getAllPostByCreateAt
Позволяет получить список всех постов отсортированных по дате создания.- Specified by:
getAllPostByCreateAt
in interfacePostService
- Returns:
- список объектов Post.
-
getPostByUserIds
public List<Post> getPostByUserIds(List<Long> userIds, org.springframework.data.domain.PageRequest pageRequest) Позволяет получить список постов по идентификаторам их создателей сортируя по дате с пагинацией страниц.- Specified by:
getPostByUserIds
in interfacePostService
- Parameters:
userIds
- список идентификаторов создателей постов.pageRequest
- пагинация запроса.- Returns:
- список объектов Post.
-
getPostByUserIds
Позволяет получить список постов по идентификаторам их создателей сортируя по дате.- Specified by:
getPostByUserIds
in interfacePostService
- Parameters:
userIds
- список идентификаторов создателей постов.- Returns:
- список объектов Post.
-