OBS: Erstattet av K9-brukerdialog-api
- 1. Kontekst
- 2. Funksjonelle Krav
- 3. Begrensninger
- 4. Distribusjon av tjenesten (deployment)
- 5. Utviklingsmiljø
- 6. Drift og støtte
API for søknad om å bli regnet som midlertidig alene og Kafka producer.
Denne tjenesten understøtter søknadsprosessen, samt eksponerer endepunkt for innsending av søknad.
API mottar søknaden, validerer og legger den videre på en kafka-topic som omsorgspenger-midlertidig-alene-prosessering konsumerer.
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 @/soknad/valider --> 202 respons ved gyldig søknad, ellers 400 og liste over feil. Kan brukes før innsending for å sjekke om søknaden er gyldig
POST @/soknad --> 202 respons ved gyldig søknad. Eventuelt tilbake 400 og liste over valideringsbrudd.
Validering
- harForståttRettigheterOgPliker og harBekreftetOpplysninger må være true
- Alle bolske verdier hvor vi tillater true og false blir satt til null dersom noe går falt ved deserialisering, for å unngå default false. Valideringen sjekker dette og gir feil dersom en bolsk verdi er null.
- AnnenForelder:
- Navn kan ikke være tom eller kun whitespaces.
- fnr må være gyldig.
- situasjon
- INNLAGT_I_HELSEINSTITUSJON --> Basert på det valideres enten at periodeFraOgMed og periodeTilOgMed er satt, og at fraOgMed er før tilOgMed, eller at periodeOver6Måneder er satt. Satt = ikke null
- UTØVER_VERNEPLIKT og FENGSEL --> Valider dato som beskrevet over.
- SYKDOM og ANNET --> Validerer at validerSituasjonBeskrivelse ikke er tom, blank eller null, og dato som beskrevet over.
Eksempel json;
{
"id": "123456789",
"språk": "nb",
"annenForelder": {
"navn": "Berit",
"fnr": "02119970078",
"situasjon": "FENGSEL",
"situasjonBeskrivelse": "Sitter i fengsel..",
"periodeOver6Måneder": null,
"periodeFraOgMed": "2020-01-01",
"periodeTilOgMed": "2020-10-01"
},
"harForståttRettigheterOgPlikter": true,
"harBekreftetOpplysninger": true
}
Distribusjon av tjenesten er gjort med bruk av Github Actions. Omsorgspenger-midlertidig-alene-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ø.
For å bygge kode, kjør:
./gradlew clean build
For å kjøre kode, kjør:
./gradlew bootRun
Vi bruker nais-alerts for å sette opp alarmer. Disse finner man konfigurert i nais/alerterator.yml.
n/a
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