Version of module template moved to constructor
This commit is contained in:
parent
1ce03daf99
commit
e33489bda1
@ -8,12 +8,10 @@ public interface ModuleTemplate<@Suppress("unused") mUE : Any> {
|
||||
|
||||
public interface Scope {
|
||||
public fun <nmUE : Any> createTemplate(
|
||||
versionKey: String,
|
||||
constructor: ModuleConstructor<nmUE>,
|
||||
): ModuleTemplate<nmUE>
|
||||
|
||||
public fun <omUE : Any, nmUE : Any> upgradeTemplate(
|
||||
versionKey: String,
|
||||
oldModule: ModuleTemplate<omUE>,
|
||||
upgrade: ModuleUpgrade<omUE, nmUE>,
|
||||
): ModuleTemplate<nmUE>
|
||||
@ -21,18 +19,21 @@ public interface ModuleTemplate<@Suppress("unused") mUE : Any> {
|
||||
public fun <omUE : Any, nmUE : Any> upgradeTemplateAndMerge(
|
||||
oldModule: ModuleTemplate<omUE>,
|
||||
upgrade: ModuleUpgrade<omUE, nmUE>,
|
||||
mergePoint: ModuleTemplate<nmUE>
|
||||
mergeTo: ModuleTemplate<nmUE>
|
||||
): ModuleTemplate<nmUE>
|
||||
}
|
||||
}
|
||||
|
||||
public interface ModuleConstructor<mUE : Any> {
|
||||
public val versionKey: String
|
||||
|
||||
public fun createSchema(context: CreateModuleScope): mUE
|
||||
|
||||
public suspend fun initData(ext: mUE, transaction: Transaction) {}
|
||||
}
|
||||
|
||||
public interface ModuleUpgrade<omUE : Any, nmUE : Any> {
|
||||
public val versionKey: String
|
||||
|
||||
public fun upgradeSchema(context: UpgradeModuleScope<omUE>): nmUE
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user