Unified module template providers interface
This commit is contained in:
parent
8b13d0a2e9
commit
8b3fc9355f
@ -3,6 +3,10 @@ package ru.landgrafhomyak.serdha.api.v0.ddl
|
||||
import ru.landgrafhomyak.serdha.api.v0.runtime.Transaction
|
||||
|
||||
public interface ModuleTemplate<ModuleUserExtension : Any> {
|
||||
public interface Provider<UserExtension : Any> {
|
||||
public fun createModuleTemplates(creator: Creator): UserExtension
|
||||
}
|
||||
|
||||
public interface Creator {
|
||||
public fun <NewModuleUserExtension : Any> createTemplate(
|
||||
versionKey: String,
|
||||
|
@ -1,12 +1,10 @@
|
||||
package ru.landgrafhomyak.serdha.api.v0.runtime
|
||||
|
||||
import ru.landgrafhomyak.serdha.api.v0.ddl.ModuleCreator
|
||||
import ru.landgrafhomyak.serdha.api.v0.ddl.ModuleTemplate
|
||||
import ru.landgrafhomyak.serdha.api.v0.ddl.Namespace
|
||||
|
||||
@Suppress("SpellCheckingInspection")
|
||||
public interface UnsynchronizedDatabase {
|
||||
public fun <ModuleUserExtension : Any> createModule(initialVersionKey: String, content: ModuleTemplate.CreateModule<ModuleUserExtension>): ModuleTemplate<ModuleUserExtension>
|
||||
public fun <UserExtension : Any> addModuleTemplates(creator: ModuleTemplate.Provider<UserExtension>): UserExtension
|
||||
|
||||
public suspend fun <ModuleUserExtension : Any> synchronize(conent: ModuleTemplate<ModuleUserExtension>): SynchronizedDatabase<ModuleUserExtension>
|
||||
}
|
Loading…
Reference in New Issue
Block a user