Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Commit

Permalink
feat(app): add remoteRepository and schoolRepository
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreaBrighi committed Jun 16, 2023
1 parent dc70c86 commit 681a811
Showing 1 changed file with 32 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,57 @@ import com.intelligentbackpack.desktopdata.datasource.DesktopRemoteDataSourceImp
import com.intelligentbackpack.desktopdata.db.DesktopDatabaseHelper
import com.intelligentbackpack.desktopdata.storage.DesktopStorageImpl
import com.intelligentbackpack.desktopdomain.repository.DesktopDomainRepository
import com.intelligentbackpack.reminderdata.datasource.ReminderDomainRepositoryImpl
import com.intelligentbackpack.reminderdata.datasource.ReminderLocalDataSourceImpl
import com.intelligentbackpack.reminderdata.datasource.ReminderRemoteDataSourceImpl
import com.intelligentbackpack.reminderdata.db.ReminderDatabaseHelper
import com.intelligentbackpack.reminderdomain.repository.ReminderDomainRepository
import com.intelligentbackpack.schooldata.datasource.SchoolDomainRepositoryImpl
import com.intelligentbackpack.schooldata.datasource.SchoolLocalDataSourceImpl
import com.intelligentbackpack.schooldata.datasource.SchoolRemoteDataSourceImpl
import com.intelligentbackpack.schooldata.db.SchoolDatabaseHelper
import com.intelligentbackpack.schooldata.storage.SchoolStorageImpl
import com.intelligentbackpack.schooldomain.repository.SchoolDomainRepository

object ServiceLocator {

private const val accessUrl = "https://accessmicroservice.azurewebsites.net/"
private const val desktopUrl = "https://booksmicroservice.azurewebsites.net/"
private const val backpackAssociate = "http://managebackpackservice.azurewebsites.net/"
private const val desktopRealtime = "https://intelligentbackpackapp-default-rtdb.europe-west1.firebasedatabase.app/"
private const val backpackAssociate = "https://managebackpackservice.azurewebsites.net/"
private const val calendarUrl = "https://calendarmicroservice.azurewebsites.net/"
private const val desktopRealtime =
"https://intelligentbackpack-d463a-default-rtdb.europe-west1.firebasedatabase.app/"

lateinit var accessRepository: AccessDomainRepository
private set

lateinit var desktopRepository: DesktopDomainRepository
private set

lateinit var schoolRepository: SchoolDomainRepository
private set

lateinit var reminderRepository: ReminderDomainRepository
private set

fun initializeRepository(context: Context) {
val accessRemoteDataSource = AccessRemoteDataSourceImpl(accessUrl, desktopUrl)
val userStorage = UserStorageImpl(context)
val accessLocalDataSource = AccessLocalDataSourceImpl(userStorage)
accessRepository = AccessDomainRepositoryImpl(accessLocalDataSource, accessRemoteDataSource)
val desktopStorage = DesktopStorageImpl(context)
val database = DesktopDatabaseHelper.getDatabase(context)
val desktopDatabase = DesktopDatabaseHelper.getDatabase(context)
val desktopRemoteDataSource = DesktopRemoteDataSourceImpl(desktopUrl, backpackAssociate, desktopRealtime)
val desktopLocalDataSource = DesktopLocalDataSourceImpl(database, desktopStorage)
val desktopLocalDataSource = DesktopLocalDataSourceImpl(desktopDatabase, desktopStorage)
desktopRepository = DesktopDomainRepositoryImpl(desktopLocalDataSource, desktopRemoteDataSource)
val schoolStorage = SchoolStorageImpl(context)
val schoolDatabase = SchoolDatabaseHelper.getDatabase(context)
val schoolRemoteDataSource = SchoolRemoteDataSourceImpl(calendarUrl)
val schoolLocalDataSource = SchoolLocalDataSourceImpl(schoolDatabase, schoolStorage)
schoolRepository = SchoolDomainRepositoryImpl(schoolRemoteDataSource, schoolLocalDataSource)
val reminderRemoteDataSource = ReminderRemoteDataSourceImpl(calendarUrl)
val reminderDatabase = ReminderDatabaseHelper.getDatabase(context)
val reminderLocalDataSource = ReminderLocalDataSourceImpl(reminderDatabase)
reminderRepository = ReminderDomainRepositoryImpl(reminderRemoteDataSource, reminderLocalDataSource)
}
}

0 comments on commit 681a811

Please sign in to comment.