package ${config.package} import se.rutdev.projekt.api.HttpProtocol.VersionedResponse import se.rutdev.framework.json.circe.RutUtilsCodec import se.rutdev.framework import se.rutdev.framework.service.api.{OAuthUtils, RequestMeta, RutTapir} import se.rutdev.pd.ProblemDetailProtocol.ProblemDetail import sttp.tapir.Schema import se.senashdev.projekt.api.Protocol.* import se.senashdev.projekt.api.Codecs._ class Endpoints(override val config: OAuthUtils.OAuthConfig) extends framework.service.api.Endpoints with RutTapir with RutUtilsCodec: type ApiEndpoint[I, O] = OAuthEndpoint[RequestMeta.OAuthRequestMeta, I, ProblemDetail, O] <#list endpoints as endpoint> val ${endpoint.inputType?uncap_first}Endpoint = ApiEndpoint[${endpoint.inputType?cap_first}, VersionedResponse] = <#list endpoint.paths.paths> apiV1Endpoint .post <#items as segment> .in("${segment}") .in(jsonBody[${endpoint.inputType?cap_first}]) .out(jsonBody[VersionedResponse])