diff --git a/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/FetchBooksUseCase.kt b/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/FetchBooksUseCase.kt new file mode 100644 index 00000000..87117a02 --- /dev/null +++ b/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/FetchBooksUseCase.kt @@ -0,0 +1,20 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2026 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package org.dueattendant149.bookshelf.domain.use_case.remote + +import org.dueattendant149.bookshelf.domain.model.library.Book +import org.dueattendant149.bookshelf.domain.repository.RemoteLibraryRepository +import javax.inject.Inject + +class FetchBooksUseCase + @Inject + constructor( + private val repository: RemoteLibraryRepository, + ) { + suspend operator fun invoke(libraryId: String): Result> = + repository.getBooks(libraryId) + } diff --git a/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/FetchLibrariesUseCase.kt b/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/FetchLibrariesUseCase.kt new file mode 100644 index 00000000..bd828cfc --- /dev/null +++ b/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/FetchLibrariesUseCase.kt @@ -0,0 +1,19 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2026 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package org.dueattendant149.bookshelf.domain.use_case.remote + +import org.dueattendant149.bookshelf.domain.model.remote.RemoteLibrary +import org.dueattendant149.bookshelf.domain.repository.RemoteLibraryRepository +import javax.inject.Inject + +class FetchLibrariesUseCase + @Inject + constructor( + private val repository: RemoteLibraryRepository, + ) { + suspend operator fun invoke(): Result> = repository.getLibraries() + } diff --git a/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/SearchBooksUseCase.kt b/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/SearchBooksUseCase.kt new file mode 100644 index 00000000..145592ac --- /dev/null +++ b/app/src/main/java/org/dueattendant149/bookshelf/domain/use_case/remote/SearchBooksUseCase.kt @@ -0,0 +1,22 @@ +/* + * Book's Story — free and open-source Material You eBook reader. + * Copyright (C) 2024-2026 Acclorite + * SPDX-License-Identifier: GPL-3.0-only + */ + +package org.dueattendant149.bookshelf.domain.use_case.remote + +import org.dueattendant149.bookshelf.domain.model.library.Book +import org.dueattendant149.bookshelf.domain.repository.RemoteLibraryRepository +import javax.inject.Inject + +class SearchBooksUseCase + @Inject + constructor( + private val repository: RemoteLibraryRepository, + ) { + suspend operator fun invoke( + libraryId: String, + query: String, + ): Result> = repository.searchLibrary(libraryId, query) + }