25 lines
680 B
Scala
25 lines
680 B
Scala
package modules
|
|
|
|
import com.google.inject.AbstractModule
|
|
import di.EntityManagerProvider
|
|
import jakarta.persistence.EntityManager
|
|
import logic.Gateway
|
|
import logic.user.UserManager
|
|
import logic.user.impl.HibernateUserManager
|
|
|
|
class GatewayModule extends AbstractModule {
|
|
override def configure(): Unit = {
|
|
bind(classOf[Gateway]).asEagerSingleton()
|
|
|
|
// Bind HibernateUserManager for production (when GatewayModule is used)
|
|
bind(classOf[UserManager])
|
|
.to(classOf[HibernateUserManager])
|
|
.asEagerSingleton()
|
|
|
|
// Bind EntityManager for JPA
|
|
bind(classOf[EntityManager])
|
|
.toProvider(classOf[EntityManagerProvider])
|
|
.asEagerSingleton()
|
|
}
|
|
}
|