diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/ModuleTemplate.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/ModuleTemplate.kt index e20e950..837ac40 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/ModuleTemplate.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/serdha0/api/module/ModuleTemplate.kt @@ -8,12 +8,10 @@ public interface ModuleTemplate<@Suppress("unused") mUE : Any> { public interface Scope { public fun createTemplate( - versionKey: String, constructor: ModuleConstructor, ): ModuleTemplate public fun upgradeTemplate( - versionKey: String, oldModule: ModuleTemplate, upgrade: ModuleUpgrade, ): ModuleTemplate @@ -21,18 +19,21 @@ public interface ModuleTemplate<@Suppress("unused") mUE : Any> { public fun upgradeTemplateAndMerge( oldModule: ModuleTemplate, upgrade: ModuleUpgrade, - mergePoint: ModuleTemplate + mergeTo: ModuleTemplate ): ModuleTemplate } } public interface ModuleConstructor { + public val versionKey: String + public fun createSchema(context: CreateModuleScope): mUE public suspend fun initData(ext: mUE, transaction: Transaction) {} } public interface ModuleUpgrade { + public val versionKey: String public fun upgradeSchema(context: UpgradeModuleScope): nmUE