package com.mzh.library.service; import com.mzh.library.entity.AuthenticatedUser; import com.mzh.library.entity.Book; import com.mzh.library.entity.BookCategory; import com.mzh.library.entity.BookSearchCriteria; import java.util.List; import java.util.Optional; public interface BookService { ServiceResult> listCategories(); ServiceResult> findCategory(long id); ServiceResult createCategory(AuthenticatedUser actor, BookCategory category); ServiceResult updateCategory(AuthenticatedUser actor, BookCategory category); ServiceResult deleteCategory(AuthenticatedUser actor, long id); ServiceResult> searchBooks(BookSearchCriteria criteria); ServiceResult> findBook(long id); ServiceResult createBook(AuthenticatedUser actor, Book book); ServiceResult updateBook(AuthenticatedUser actor, Book book); ServiceResult deleteBook(AuthenticatedUser actor, long id); }