Skip to content

navikt/innsending-api

Repository files navigation

innsending-api

Backend for innsending av dokumenter. Brukes av FyllUt og SendInn. Før søknaden blir sendt inn mellomlagres den sammen med metadataen i innsending-api,og når søknaden sendes inn blir metadataen for søknaden sendt til Søknads mottaker. soknadsarkiverer henter søknadsfilene via REST endepunkt fra innsending-api. Se Arktitektur Wiki for mer informasjon om hvordan oppsettet fungerer.

Utvikling

Kjøre lokalt

Sett Spring profilen til local og kjør InnsendingApiApplication. En embedded Postgres database (opentable) spinnes opp som en docker container og kjører Flyway migrasjonene.

Docker Compose

Applikasjonen (sammen med en Postgres database) kan også kjøres lokalt med Docker Compose:

docker compose up --build

Vær oppmerksom på at dette er ganske tidkrevende ved første kjøring siden den laster ned alle dependencies. Ved kodeoppdatering eller bytting av branch vil det være nødvendig å kjøre den på nytt, men dependencies vil være cachet.

Testing

For mocking brukes blant annet mockK, mockwebserver og mock-oauth2-server

Antivirus

Opplastede filer fra brukere blir sjekket for virus med ClamAV via et nais-endepunkt. For å teste virussjekken kan standard EICAR test-filer brukes.

Skedulert merge og deploy

Applikasjonen kan deployes på et gitt tidspunkt ved å legge til /schedule {TIDSPUNKT_SOM_ISO_8601_UTC} i PR-teksten. En action kjøres hver time for å lete etter slike tekster og deployer applikasjonen hvis tidspunktet er forbi. (eksempel: /schedule 2023-10-18T01:57 vil bli deployet 18. oktober 2023 kl 04:00 norsk tid). Merk at tidspunktet er spesifisert i UTC. Dette kan være nyttig for å deploye applikasjonen utenfor arbeidstid.

Kodeformattering

Som Intellij settings velg:

  • Editor -> Code Style -> Kotlin -> Set from... -> Kotlin Style Guide
  • Tools -> Actions on Save
    • Reformat code
    • Optimize imports
    • Rearrange code
    • Run code cleanup

Aksessloggene

Aksesslogger finnes i Kibana under Applikasjonslogger. Det er også satt opp secure logs under Securelogs for å kunne sikkert logge fødselsnummer og andre sensitiv data.

Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på GitHub.

For NAV-ansatte

Interne henvendelser kan sendes via Slack i kanalen #team-fyllut-sendinn

About

Backend for innsending av dokumenter

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published