All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.me.nathanfallet.ktorx.routers.IChildModelRouter.kt Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
package me.nathanfallet.ktorx.routers

import io.ktor.server.application.*
import io.ktor.util.reflect.*
import io.swagger.v3.oas.models.parameters.Parameter
import me.nathanfallet.ktorx.controllers.IChildModelController
import me.nathanfallet.usecases.models.IChildModel
import kotlin.reflect.KClass

interface IChildModelRouter, Id, CreatePayload : Any, UpdatePayload : Any, ParentModel : IChildModel, ParentId> :
    IRouter {

    val modelTypeInfo: TypeInfo
    val createPayloadTypeInfo: TypeInfo
    val updatePayloadTypeInfo: TypeInfo

    val controller: IChildModelController
    val controllerClass: KClass>
    val parentRouter: IChildModelRouter?

    val route: String
    val id: String
    val prefix: String

    val routeIncludingParent: String

    suspend fun get(call: ApplicationCall): Model

    fun getOpenAPIParameters(self: Boolean = true): List

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy