Skip to content

Commit

Permalink
Skiller ut eksern endepunkt i eget spec
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
espgus committed Jan 13, 2025
1 parent 66bac89 commit 73b1512
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 29 deletions.
29 changes: 9 additions & 20 deletions web/src/main/kotlin/no/kartverket/matrikkel/bygning/Application.kt
Original file line number Diff line number Diff line change
@@ -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.*
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand All @@ -126,6 +114,7 @@ fun Application.mainModule() {
}
route("v1"){
eksternRouting(bygningService)

}
}
runFlywayMigrations(dataSource)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -86,7 +84,6 @@ fun Route.bygningRouting(
route("{bruksenhetId}") {
get(
{
specId = "intern"
summary = "Hent en bruksenhet"
description = "Hent en bruksenhet"
request {
Expand Down Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
@@ -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)
}
}
}
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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"
Expand All @@ -34,7 +33,7 @@ fun Route.kodelisteRouting() {
avlopKoder = AvlopKode::class.toKodeList(),
oppvarmingKoder = OppvarmingKode::class.toKodeList(),
kildematerialeKoder = KildematerialeKode::class.toKodeList(),
),
),
)
}

Expand All @@ -52,7 +51,6 @@ private inline fun <reified T> 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 {
Expand Down

0 comments on commit 73b1512

Please sign in to comment.