OBS: Erstattet av K9-brukerdialog-api

Omsorgsdager-melding-api

CI / CD NAIS Alerts

Innholdsoversikt

1. Kontekst

API for koronaoverføring, overføring og fordeling av dager

2. Funksjonelle Krav

Denne tjenesten understøtter søknadsprosessen, samt eksponerer endepunkt for innsending av melding.

API mottar meldingene, validerer og legger dem videre på en kafka-topic som omsorgsdager-melding-prosessering konsumerer.

Vedlegg blir persistert når meldingen blir sendt inn til api. Dersom noe skulle gå galt i api som gjør at meldingen ikke blir lagt på Kafka, så slettes vedlegget.

3. Endepunkter

GET @/soker --> Gir 200 respons med json av søker

{ 
    "aktør_id": "23456",
    "fornavn": "ARNE",
    "mellomnavn": "BJARNE",
    "etternavn": "CARLSEN",
    "fødselsdato": "1990-01-02"
}

POST /vedlegg --> For å lagre vedlegg

DELETE /vedlegg/{vedleggsid} --> For å slette vedlegg

POST @/melding/koronaoverforing --> 202 repons ved gyldig melding om koronaoverføring av omsorgsdager

POST @/melding/overforing --> 202 repons ved gyldig melding om overføring av omsorgsdager

POST @/melding/fordeling --> 202 repons ved gyldig melding om fordeling av omsorgsdager

Ved valideringsfeil får man tilbake 400 og liste over valideringsbrudd.

Validering

Se MeldingValidator.kt

Eksempel json;

{
  "id": "123456789",
  "språk": "nb",
  "harForståttRettigheterOgPlikter": true,
  "harBekreftetOpplysninger": true
}

4. Distribusjon av tjenesten (deployment)

Distribusjon av tjenesten er gjort med bruk av Github Actions. Omsorgsdager-melding-api CI / CD

Push til dev-* brancher vil teste, bygge og deploye til dev/staging miljø. Push/merge til master branche vil teste, bygge og deploye til produksjonsmiljø.

5. Utviklingsmiljø

Bygge Prosjekt

For å bygge kode, kjør:

./gradlew clean build

Kjøre Prosjekt

For å kjøre kode, kjør:

./gradlew bootRun

6. Drift og støtte

Logging

Kibana

Alarmer

Vi bruker nais-alerts for å sette opp alarmer. Disse finner man konfigurert i nais/alerterator.yml.

Metrics

n/a

Redis

Vi bruker Redis for mellomlagring. En instanse av Redis må være kjørene før deploy av applikasjonen. Dette gjøres manuelt med kubectl både i preprod og prod. Se nais/doc