Skip to content

Instantly share code, notes, and snippets.

@supermanue
Last active April 5, 2022 06:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save supermanue/8deeec15f2f67115b8256a00bbefe199 to your computer and use it in GitHub Desktop.
Save supermanue/8deeec15f2f67115b8256a00bbefe199 to your computer and use it in GitHub Desktop.
Persistence Service
final class DoobiePersistenceService(tnx: Transactor[Task]) extends StoragePort {
import DoobiePersistenceService._
override def create(user: User): IO[AppError, User] =
SQL
.create(UserStored.fromDomainUser(user))
.run
.transact(tnx)
.foldM(err => IO.fail(DBError(err.getMessage)), _ => IO.succeed(user))
override def get(id: Int): IO[AppError, User] = ??? //implemented in GH repo
override def delete(id: Int): Task[Boolean] = ??? //implemented in GH repo
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment