From 73b15124e904544bc52e21cb626e4140859a58c8 Mon Sep 17 00:00:00 2001 From: espgus Date: Mon, 13 Jan 2025 15:21:08 +0100 Subject: [PATCH] Skiller ut eksern endepunkt i eget spec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * eksterne endepunkter er skilt ut i egen spec. Gjøres for at eksterne brukere skal kunne ta i bruk relevante løsninger uten internt støy. - TB-132 --- .../matrikkel/bygning/Application.kt | 29 ++++++------------- .../routes/v1/intern/bygning/BygningRoutes.kt | 4 --- .../egenregistrering/EgenregisteringRoutes.kt | 1 - .../bygning/routes/v1/intern/internRouting.kt | 28 ++++++++++++++++++ .../routes/v1/kodeliste/KodelisteRoutes.kt | 6 ++-- 5 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/internRouting.kt diff --git a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt index a22f5083..36c2ea0a 100644 --- a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt +++ b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt @@ -1,5 +1,6 @@ package no.kartverket.matrikkel.bygning +import io.github.smiley4.ktorswaggerui.dsl.routing.route import io.github.smiley4.ktorswaggerui.routing.openApiSpec import io.github.smiley4.ktorswaggerui.routing.swaggerUI import io.ktor.server.application.* @@ -27,10 +28,8 @@ import no.kartverket.matrikkel.bygning.plugins.configureMonitoring import no.kartverket.matrikkel.bygning.plugins.configureOpenAPI import no.kartverket.matrikkel.bygning.plugins.configureStatusPages import no.kartverket.matrikkel.bygning.routes.internalRouting +import no.kartverket.matrikkel.bygning.routes.internalRoutingWrapper import no.kartverket.matrikkel.bygning.routes.v1.ekstern.eksternRouting -import no.kartverket.matrikkel.bygning.routes.v1.intern.bygning.bygningRouting -import no.kartverket.matrikkel.bygning.routes.v1.intern.egenregistrering.egenregistreringRouting -import no.kartverket.matrikkel.bygning.routes.v1.kodeliste.kodelisteRouting fun main() { val internalPort = System.getenv("INTERNAL_PORT")?.toIntOrNull() ?: 8081 @@ -94,25 +93,14 @@ fun Application.mainModule() { routing { // Routes for interne endepunkter. - route("") { - route("api.json") { - openApiSpec("intern") - } - route("swagger-ui") { - swaggerUI("/api.json") - } - + route("api.json") { + openApiSpec("intern") + } + route("swagger-ui") { + swaggerUI("/api.json") } route("v1") { - route("kodelister") { - kodelisteRouting() - } - route("egenregistreringer") { - egenregistreringRouting(egenregistreringService) - } - route("bygninger") { - bygningRouting(bygningService) - } + internalRoutingWrapper(egenregistreringService, bygningService) } // Routes for eksterne endepunkter. @@ -126,6 +114,7 @@ fun Application.mainModule() { } route("v1"){ eksternRouting(bygningService) + } } runFlywayMigrations(dataSource) diff --git a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/bygning/BygningRoutes.kt b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/bygning/BygningRoutes.kt index d88dd5d9..c8805059 100644 --- a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/bygning/BygningRoutes.kt +++ b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/bygning/BygningRoutes.kt @@ -16,7 +16,6 @@ fun Route.bygningRouting( route("{bygningId}") { get( { - specId = "intern" summary = "Henter en bygning" description = "Henter en bygning med tilhørende bruksenheter" request { @@ -50,7 +49,6 @@ fun Route.bygningRouting( route("egenregistrert") { get( { - specId = "intern" summary = "Hent egenregistrert data for en bygning" description = "Hent egenregistrert data for en bygning med tilhørende bruksenheter" request { @@ -86,7 +84,6 @@ fun Route.bygningRouting( route("{bruksenhetId}") { get( { - specId = "intern" summary = "Hent en bruksenhet" description = "Hent en bruksenhet" request { @@ -124,7 +121,6 @@ fun Route.bygningRouting( route("egenregistrert") { get( { - specId = "intern" summary = "Hent egenregistrert data for en bruksenhet" description = "Hent egenregistrert data en bruksenhet" request { diff --git a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/egenregistrering/EgenregisteringRoutes.kt b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/egenregistrering/EgenregisteringRoutes.kt index a86ab64b..d71b18e7 100644 --- a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/egenregistrering/EgenregisteringRoutes.kt +++ b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/egenregistrering/EgenregisteringRoutes.kt @@ -19,7 +19,6 @@ import no.kartverket.matrikkel.bygning.routes.v1.common.exceptionToDomainError fun Route.egenregistreringRouting(egenregistreringService: EgenregistreringService) { post( { - specId = "intern" summary = "Legg til en egenregistrering på en bygning" description = "Legger til en egenregistrering på en bygning og tilhørende bruksenheter, hvis noen" request { diff --git a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/internRouting.kt b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/internRouting.kt new file mode 100644 index 00000000..ab9affb8 --- /dev/null +++ b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/intern/internRouting.kt @@ -0,0 +1,28 @@ +package no.kartverket.matrikkel.bygning.routes + +import io.ktor.server.routing.Route +import io.github.smiley4.ktorswaggerui.dsl.routing.route +import no.kartverket.matrikkel.bygning.application.bygning.BygningService +import no.kartverket.matrikkel.bygning.application.egenregistrering.EgenregistreringService +import no.kartverket.matrikkel.bygning.routes.v1.intern.bygning.bygningRouting +import no.kartverket.matrikkel.bygning.routes.v1.intern.egenregistrering.egenregistreringRouting +import no.kartverket.matrikkel.bygning.routes.v1.kodeliste.kodelisteRouting + +fun Route.internalRoutingWrapper( + egenregistreringService: EgenregistreringService, + bygningService: BygningService +) { + route("", { + specId = "intern" + }) { + route("kodelister") { + kodelisteRouting() + } + route("egenregistreringer") { + egenregistreringRouting(egenregistreringService) + } + route("bygninger") { + bygningRouting(bygningService) + } + } +} diff --git a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/kodeliste/KodelisteRoutes.kt b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/kodeliste/KodelisteRoutes.kt index ba949a88..d2feb208 100644 --- a/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/kodeliste/KodelisteRoutes.kt +++ b/web/src/main/kotlin/no/kartverket/matrikkel/bygning/routes/v1/kodeliste/KodelisteRoutes.kt @@ -1,7 +1,7 @@ package no.kartverket.matrikkel.bygning.routes.v1.kodeliste import io.github.smiley4.ktorswaggerui.dsl.routing.get -import io.ktor.http.HttpStatusCode +import io.ktor.http.* import io.ktor.server.response.* import io.ktor.server.routing.* import no.kartverket.matrikkel.bygning.application.models.kodelister.AvlopKode @@ -16,7 +16,6 @@ import kotlin.reflect.KClass fun Route.kodelisteRouting() { get( { - specId = "intern" summary = "Henter alle kodelister relatert til egenregistreringer" description = "Henter alle kodelister relatert til egenregistreringer, med tilhørende kode, kodenavn, presentasjonsnavn og beskrivelse" @@ -34,7 +33,7 @@ fun Route.kodelisteRouting() { avlopKoder = AvlopKode::class.toKodeList(), oppvarmingKoder = OppvarmingKode::class.toKodeList(), kildematerialeKoder = KildematerialeKode::class.toKodeList(), - ), + ), ) } @@ -52,7 +51,6 @@ private inline fun Route.kodelisteRoute( return route(name) { get( { - specId = "intern" summary = "Henter kodeliste relatert til $name" description = "Henter kodeliste relatert til $name, med tilhørende kode, kodenavn, presentasjonsnavn og beskrivelse" response {