-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEndpointsModule.kt
22 lines (18 loc) · 921 Bytes
/
EndpointsModule.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package io.samuelagesilas.nbafinals.modules
import com.google.inject.AbstractModule
import com.google.inject.TypeLiteral
import com.google.inject.multibindings.Multibinder
import io.samuelagesilas.nbafinals.endpoints.AuthenticationEndpoint
import io.samuelagesilas.nbafinals.endpoints.HealthCheckEndpoint
import io.samuelagesilas.nbafinals.endpoints.NBAChampionsEndpoint
import io.samuelagesilas.nbafinals.endpoints.UserSignUpEndpoint
interface Endpoint {}
class EndpointsModule() : AbstractModule() {
override fun configure() {
val multiBinder = Multibinder.newSetBinder(binder(), object : TypeLiteral<Endpoint>() {})
multiBinder.addBinding().to(HealthCheckEndpoint::class.java)
multiBinder.addBinding().to(NBAChampionsEndpoint::class.java)
multiBinder.addBinding().to(AuthenticationEndpoint::class.java)
multiBinder.addBinding().to(UserSignUpEndpoint::class.java)
}
}