Doobie

Learn how to integrate the database with Doobie.

We'll cover the following...

Repository base

As we have already started using a tagless final approach, we will continue with it and define a base for our repository.

Press + to interact
trait Repository[F[_]] {
def loadProduct(id: ProductId): F[Seq[(ProductId, LanguageCode, ProductName)]]
def loadProducts(): Stream[F, (ProductId, LanguageCode, ProductName)]
def saveProduct(p: Product): F[Int]
def updateProduct(p: Product): F[Int]
}

We are feeling braver now and are attempting to use proper refined types in our database functions. This is possible due to the usage of the ...

Access this course and 1400+ top-rated courses and projects.