package dev.inmo.postssystem.features.content.text.server

import dev.inmo.postssystem.features.common.common.singleWithRandomQualifier
import dev.inmo.postssystem.features.common.server.ServerModuleLoader
import dev.inmo.postssystem.features.content.common.ContentSerializersModuleConfigurator
import dev.inmo.postssystem.features.content.server.ServerContentStorageWrapper
import dev.inmo.postssystem.features.content.text.common.TextContent
import dev.inmo.postssystem.features.content.text.common.TextContentSerializerModuleConfigurator
import kotlinx.serialization.json.JsonObject
import org.koin.core.module.Module

class TextContentServerModuleLoader : ServerModuleLoader {
    override fun Module.load(config: JsonObject) {
        singleWithRandomQualifier<ContentSerializersModuleConfigurator.Element> { TextContentSerializerModuleConfigurator }
        singleWithRandomQualifier {
            ServerContentStorageWrapper(
                TextServerContentStorage(get()),
                TextContent::class
            )
        }
    }
}