Skip to content

Instantly share code, notes, and snippets.

@supermanue
Created March 26, 2022 18:25
Show Gist options
  • Save supermanue/c341d0d53092a1aad297743ca079eada to your computer and use it in GitHub Desktop.
Save supermanue/c341d0d53092a1aad297743ca079eada to your computer and use it in GitHub Desktop.
UserService class
object UserService {
def getUser(id: Int): ZIO[UserPersistence, AppError, User] = RIO.accessM(_.get.get(id))
def createUser(id: Int, name: String): ZIO[UserPersistence, AppError, User] =
for {
user <- ZIO.fromEither(User.build(id, name))
stored <- RIO.accessM[UserPersistence](_.get.create(user))
} yield stored
def deleteUser(id: Int): RIO[UserPersistence, Boolean] = RIO.accessM(_.get.delete(id))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment