From bd2bbd5f25bbe3c94a02e2eb3086ddf1ab4d9aa1 Mon Sep 17 00:00:00 2001 From: "Sanders (aider)" Date: Sat, 8 Feb 2025 23:50:48 +0300 Subject: [PATCH] refactor: create BookCommonService for shared book operations --- .../telegabot/service/BookCommonService.java | 10 ++++++ .../service/impl/BookCommonServiceImpl.java | 34 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 src/main/java/ru/cathub/telegabot/service/BookCommonService.java create mode 100644 src/main/java/ru/cathub/telegabot/service/impl/BookCommonServiceImpl.java diff --git a/src/main/java/ru/cathub/telegabot/service/BookCommonService.java b/src/main/java/ru/cathub/telegabot/service/BookCommonService.java new file mode 100644 index 0000000..c97eeae --- /dev/null +++ b/src/main/java/ru/cathub/telegabot/service/BookCommonService.java @@ -0,0 +1,10 @@ +package ru.cathub.telegabot.service; + +import ru.cathub.telegabot.model.Book; +import ru.cathub.telegabot.model.BotUser; + +public interface BookCommonService { + void validateUser(BotUser user); + void clearUserBookCaches(Long userId); + String formatBookDetails(Book book); +} diff --git a/src/main/java/ru/cathub/telegabot/service/impl/BookCommonServiceImpl.java b/src/main/java/ru/cathub/telegabot/service/impl/BookCommonServiceImpl.java new file mode 100644 index 0000000..301fe2b --- /dev/null +++ b/src/main/java/ru/cathub/telegabot/service/impl/BookCommonServiceImpl.java @@ -0,0 +1,34 @@ +package ru.cathub.telegabot.service.impl; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import ru.cathub.telegabot.model.Book; +import ru.cathub.telegabot.model.BotUser; +import ru.cathub.telegabot.service.BookCacheService; +import ru.cathub.telegabot.service.BookCommonService; +import ru.cathub.telegabot.utils.BookFormatUtils; + +@Service +@RequiredArgsConstructor +public class BookCommonServiceImpl implements BookCommonService { + + private final BookCacheService bookCacheService; + + @Override + public void validateUser(BotUser user) { + if (user == null) { + throw new IllegalArgumentException("User cannot be null"); + } + } + + @Override + public void clearUserBookCaches(Long userId) { + bookCacheService.clearBookListCache(userId); + bookCacheService.clearBookEditCache(userId); + } + + @Override + public String formatBookDetails(Book book) { + return BookFormatUtils.formatBookEntry(book, 0, false); + } +}