From 8b3fc9355f56b880e4036f838939cc9771a51da0 Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich Date: Sun, 22 Dec 2024 13:26:36 +0300 Subject: [PATCH] Unified module template providers interface --- .../ru/landgrafhomyak/serdha/api/v0/ddl/ModuleTemplate.kt | 4 ++++ .../serdha/api/v0/runtime/UnsynchronizedDatabase.kt | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) 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 8a9f71b..c2215e5 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 @@ -3,6 +3,10 @@ package ru.landgrafhomyak.serdha.api.v0.ddl import ru.landgrafhomyak.serdha.api.v0.runtime.Transaction public interface ModuleTemplate { + public interface Provider { + public fun createModuleTemplates(creator: Creator): UserExtension + } + public interface Creator { public fun createTemplate( versionKey: String, diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt index 7132522..ae7e40d 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/serdha/api/v0/runtime/UnsynchronizedDatabase.kt @@ -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 createModule(initialVersionKey: String, content: ModuleTemplate.CreateModule): ModuleTemplate + public fun addModuleTemplates(creator: ModuleTemplate.Provider): UserExtension public suspend fun synchronize(conent: ModuleTemplate): SynchronizedDatabase } \ No newline at end of file