rezenebe
10/30/2018, 6:41 PMsingle { PusherRepositoryAuthImpl(get()) as PusherRepository }
single { createWebService<PusherDataSource>(get(), getProperty(DatasourceProperties.SERVER_URL)) }
single { LoginRepositoryImpl(get()) as LoginRepository }
single { createWebService<LoginDataSource>(get(), getProperty(DatasourceProperties.SERVER_URL)) }
single { SignupRepositoryImpl(get()) as SignUpRepository }
single { createWebService<SignupDataSource>(get(), getProperty(DatasourceProperties.SERVER_URL)) }
My web service
inline fun <reified T> createWebService(okHttpClient: OkHttpClient, url: String): T {
val retrofit = Retrofit.Builder()
.baseUrl(url)
.client(okHttpClient)
.addConverterFactory(MoshiConverterFactory.create())
.addCallAdapterFactory(CoroutineCallAdapterFactory()).build()
return retrofit.create(T::class.java)
}