Package-level declarations

Types

Link copied to clipboard

Context provided to rollback actions, containing both the successful result of the action and the error that triggered the rollback.

Link copied to clipboard

Type alias for a suspending rollback lambda that receives the error that triggered the rollback.

Link copied to clipboard

DSL context for defining transactional operations with automatic rollback on failure. This class manages a list of rollback actions that will be executed in reverse order if an error occurs.

Functions

Link copied to clipboard
suspend fun <T> doSuspendTransaction(onRollbackStepError: suspend (Throwable) -> Unit = { }, block: suspend TransactionsDSL.() -> T): Result<T>

Starts transaction with opportunity to add actions rollableBackOperation. How to use:

Link copied to clipboard
suspend fun <T> TransactionsDSL.rollableBackOperation(rollback: suspend RollbackContext<T>.() -> Unit, action: suspend () -> T): T

Calls action and, if it succeeded - saving rollback action for future usage for cases when some other action or even main one throwing an error