AbstractAndroidCRUDRepo

Constructors

Link copied to clipboard
constructor(helper: StandardSQLHelper)

Functions

Link copied to clipboard

Wraps this ReadCRUDRepo as a ReadKeyValueFromCRUDRepo, exposing CRUD IDs as keys and CRUD objects as values in a ReadKeyValueRepo.

Link copied to clipboard
Link copied to clipboard
open suspend override fun contains(id: IdType): Boolean

Returns true if an object with the given id exists in the repository.

Link copied to clipboard
abstract suspend fun count(): Long

Returns the total count of objects stored in the repository.

Link copied to clipboard

Computes the difference between this ReadCRUDRepo and a map of items. Retrieves all items from the repository and compares them with the provided map.

Link copied to clipboard
open suspend override fun getAll(): Map<IdType, ObjectType>

Returns all objects in the repository as a map of ID to object. Default implementation iterates all pages using getIdsByPagination and getById.

Link copied to clipboard
open suspend override fun getById(id: IdType): ObjectType?

Returns the object associated with the given id, or null if not found.

Link copied to clipboard
open suspend override fun getByPagination(pagination: Pagination): PaginationResult<ObjectType>

Returns a paginated list of all objects in the repository.

Link copied to clipboard
open suspend override fun getIdsByPagination(pagination: Pagination): PaginationResult<IdType>

Returns a paginated list of all IDs in the repository.

Link copied to clipboard
inline suspend fun ReadCRUDRepo<*, *>.maxPagePagination(): SimplePagination

Creates a pagination starting from the first page with size equal to the total count of items in this ReadCRUDRepo. This effectively creates a single page containing all items.

Link copied to clipboard

Wraps this ReadCRUDRepo with a mapper to expose different key and value types.

inline fun <FromKey, FromValue, ToKey, ToValue> ReadCRUDRepo<ToValue, ToKey>.withMapper(noinline keyFromToTo: suspend FromKey.() -> ToKey = { this as ToKey }, noinline valueFromToTo: suspend FromValue.() -> ToValue = { this as ToValue }, noinline keyToToFrom: suspend ToKey.() -> FromKey = { this as FromKey }, noinline valueToToFrom: suspend ToValue.() -> FromValue = { this as FromValue }): ReadCRUDRepo<FromValue, FromKey>

Wraps this ReadCRUDRepo with custom conversion functions for keys and values.