diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleTemplate.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleTemplate.kt index 23587eb..2751fb3 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleTemplate.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/ddl/ModuleTemplate.kt @@ -1,18 +1,25 @@ package ru.landgrafhomyak.serdha.api.v0.ddl public interface ModuleTemplate { + public interface Creator { + public fun createTemplate( + versionKey: String, + updater: CreateModule, + ): ModuleTemplate + + public fun upgradeTemplate( + versionKey: String, + updater: UpgradeModule, + ): ModuleTemplate + } + public interface CreateModule { - public fun createModule(oldModule: ModuleTemplate, rootNs: Namespace, updater: ModuleCreator): ModuleUserExtension + public fun createModule(rootNs: Namespace, creator: ModuleCreator): ModuleUserExtension } public interface UpgradeModule { - public fun createModule(oldModule: ModuleTemplate, rootNs: Namespace, updater: ModuleCreator): NewModuleUserExtension + public fun upgradeModule(oldModule: Module, rootNs: Namespace, updater: ModuleCreator): NewModuleUserExtension } - public fun upgrade( - newVersionKey: String, - updater: UpgradeModule - ): ModuleTemplate - public val versionKey: String } \ No newline at end of file