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) Позволяет создать пост.voiddeleteImage(Long postID, Long imageId) Позволяет открепить изображение от поста.voiddeletePost(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:
createPostin interfacePostService- Parameters:
post- создаваемый пост.- Returns:
- созданный пост.
- Throws:
PostCreationException- выбрасывает при возникновении ошибки при создании поста.AuthException- выбрасывает если недостаточно прав.
-
addImage
Позволяет прикрепить изображения к посту.- Specified by:
addImagein interfacePostService- Parameters:
postId- идентификатор поста к которому добавляется изображение.image- прикрепляемое изображение.- Throws:
AuthException- выбрасывает если недостаточно прав для редактирования поста.PostNotFoundException- выбрасывает если пост с заданным идентификатором не удалось найти в базе данных.
-
deleteImage
public void deleteImage(Long postID, Long imageId) throws PostNotFoundException, AuthException, ImageNotFoundException Позволяет открепить изображение от поста.- Specified by:
deleteImagein interfacePostService- Parameters:
postID- идентификатор поста.imageId- идентификатор изображения.- Throws:
PostNotFoundException- выбрасывает, если пост не найден в базе данных.AuthException- выбрасывает, если недостаточно прав.ImageNotFoundException- выбрасывает, если изображение не найдено в базу данных.
-
updatePost
Позволяет обновить пост.- Specified by:
updatePostin interfacePostService- Parameters:
postId- идентификатор обновляемого поста.updatedPost- пост с новыми данными.- Returns:
- объект Post с обновленными данными.
- Throws:
PostNotFoundException- выбрасывает, если пост не найден в базе данных.AuthException- выбрасывает, если недостаточно прав.
-
deletePost
Позволяет пользователю удалить свой пост.- Specified by:
deletePostin interfacePostService- Parameters:
postId- идентификатор удаляемого поста.- Throws:
PostNotFoundException- выбрасывает, если пост с заданным идентификатором не найден в базе данных.AuthException- выбрасывает, если для удаления поста недостаточно прав.
-
showAllPostsByUser
public List<Post> showAllPostsByUser(org.springframework.data.domain.PageRequest pageRequest) throws AuthException Позволяет посмотреть все посты пользователя с пагинацией страниц.- Specified by:
showAllPostsByUserin interfacePostService- Parameters:
pageRequest- пагинация.- Returns:
- список постов.
- Throws:
AuthException- выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
-
showAllPostsByUser
Позволяет посмотреть все посты пользователя.- Specified by:
showAllPostsByUserin interfacePostService- Returns:
- список постов.
- Throws:
AuthException- выбрасывает, если произошла ошибка при получении данных из аутентификации пользователя.
-
getAllPostByCreateAt
Позволяет получить список всех постов отсортированных по дате создания с пагинацией страниц.- Specified by:
getAllPostByCreateAtin interfacePostService- Parameters:
pageRequest- пагинация запроса.- Returns:
- список объектов Post.
-
getAllPostByCreateAt
Позволяет получить список всех постов отсортированных по дате создания.- Specified by:
getAllPostByCreateAtin interfacePostService- Returns:
- список объектов Post.
-
getPostByUserIds
public List<Post> getPostByUserIds(List<Long> userIds, org.springframework.data.domain.PageRequest pageRequest) Позволяет получить список постов по идентификаторам их создателей сортируя по дате с пагинацией страниц.- Specified by:
getPostByUserIdsin interfacePostService- Parameters:
userIds- список идентификаторов создателей постов.pageRequest- пагинация запроса.- Returns:
- список объектов Post.
-
getPostByUserIds
Позволяет получить список постов по идентификаторам их создателей сортируя по дате.- Specified by:
getPostByUserIdsin interfacePostService- Parameters:
userIds- список идентификаторов создателей постов.- Returns:
- список объектов Post.
-