chore: init from code-review-graph-main snapshot (v2.3.7)
This commit is contained in:
Vendored
+37
@@ -0,0 +1,37 @@
|
||||
package com.example.auth
|
||||
|
||||
import scala.collection.mutable
|
||||
import scala.collection.mutable.{HashMap, ListBuffer}
|
||||
import scala.util.Try
|
||||
import scala.concurrent._
|
||||
|
||||
trait Repository[T]:
|
||||
def findById(id: Int): Option[T]
|
||||
def save(entity: T): Unit
|
||||
|
||||
case class User(id: Int, name: String, email: String)
|
||||
|
||||
class InMemoryRepo extends Repository[User] with Serializable:
|
||||
private val users = mutable.HashMap[Int, User]()
|
||||
|
||||
override def findById(id: Int): Option[User] =
|
||||
users.get(id)
|
||||
|
||||
override def save(user: User): Unit =
|
||||
users.put(user.id, user)
|
||||
println(s"Saved user ${user.id}")
|
||||
|
||||
class UserService(repo: Repository[User]):
|
||||
def createUser(name: String, email: String): User =
|
||||
val user = User(1, name, email)
|
||||
repo.save(user)
|
||||
user
|
||||
|
||||
def getUser(id: Int): Option[User] =
|
||||
repo.findById(id)
|
||||
|
||||
object UserService:
|
||||
def apply(repo: Repository[User]): UserService = new UserService(repo)
|
||||
|
||||
enum Color:
|
||||
case Red, Green, Blue
|
||||
Reference in New Issue
Block a user