import com.pixelized.server.lwa.model.alteration.AlterationService import com.pixelized.server.lwa.model.alteration.AlterationStore import com.pixelized.server.lwa.model.campaign.CampaignService import com.pixelized.server.lwa.model.campaign.CampaignStore import com.pixelized.server.lwa.model.character.CharacterSheetService import com.pixelized.server.lwa.model.character.CharacterSheetStore import com.pixelized.server.lwa.server.Engine import com.pixelized.shared.lwa.utils.PathProvider import org.koin.core.module.dsl.createdAtStart import org.koin.core.module.dsl.singleOf import org.koin.dsl.module val serverModuleDependencies get() = listOf( toolsDependencies, engineDependencies, storeDependencies, serviceDependencies, ) val toolsDependencies get() = module { single { PathProvider(appName = "LwaServer") } } val engineDependencies get() = module { singleOf(constructor = ::Engine, options = { createdAtStart() }) } val storeDependencies get() = module { singleOf(::CharacterSheetStore) singleOf(::CampaignStore) singleOf(::AlterationStore) } val serviceDependencies get() = module { singleOf(::CharacterSheetService) singleOf(::CampaignService) singleOf(::AlterationService) }