You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
831 B
29 lines
831 B
package com.xsn.explorer.data
|
|
|
|
import com.alexitc.playsonify.core.ApplicationResult
|
|
import com.alexitc.playsonify.models.ordering.FieldOrdering
|
|
import com.alexitc.playsonify.models.pagination.{PaginatedQuery, PaginatedResult}
|
|
import com.xsn.explorer.models.fields.BlockField
|
|
import com.xsn.explorer.models.rpc.Block
|
|
import com.xsn.explorer.models.{Blockhash, Height}
|
|
|
|
import scala.language.higherKinds
|
|
|
|
trait BlockDataHandler[F[_]] {
|
|
|
|
def getBy(blockhash: Blockhash): F[Block]
|
|
|
|
def getBy(height: Height): F[Block]
|
|
|
|
def getBy(
|
|
paginatedQuery: PaginatedQuery,
|
|
ordering: FieldOrdering[BlockField]): F[PaginatedResult[Block]]
|
|
|
|
def delete(blockhash: Blockhash): F[Block]
|
|
|
|
def getLatestBlock(): F[Block]
|
|
|
|
def getFirstBlock(): F[Block]
|
|
}
|
|
|
|
trait BlockBlockingDataHandler extends BlockDataHandler[ApplicationResult]
|
|
|