[history/serdha] Unified module template providers interface

This commit is contained in:
Andrew Golovashevich 2024-12-22 13:26:00 +03:00
parent b82c29b8eb
commit 8544afd0d4
2 changed files with 6 additions and 0 deletions

View File

@ -49,6 +49,8 @@ public interface ModuleCreator {
initializer: UpdateTable<TableNewUserExtension, TableOldUserExtension>
): Table<TableNewUserExtension, TableOldUserExtension>
public fun <TableUserExtension : Any> createTempTable(namespace: Namespace, name: String, initializer: CreateTable<TableUserExtension>): Table<TableUserExtension, Nothing>
public interface CreateSelect<QueryUserWrapper : Any> {
public fun createSelect(creator: SelectCreator<QueryUserWrapper>): QueryUserWrapper
}

View File

@ -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,