Skip to content

Latest commit

 

History

History
53 lines (33 loc) · 2.6 KB

README.md

File metadata and controls

53 lines (33 loc) · 2.6 KB

ung-sak

Dette er repository for kildkode applikasjonen for saksbehandling av ytelser i Folketrygdloven kapittel 9

Utvikling

Enhetstester

Start postgres først for å kjøre alle enhetstester. Bruker schema ung_sak_unit i Verdikjede git clone [email protected]:navikt/k9-verdikjede.git; cd k9-verdikjede/saksbehandling; ./update-versions.sh; docker-compose up postgres

Kjør no.nav.ung.sak.db.util.Databaseskjemainitialisering for å få med skjemaendringer

Lokal utvikling

  1. Start postgres først. Bruker schema ung_sak lokalt cd dev; docker-compose up postgres

  2. Start webserver fra f.eks. IDE Start JettyDevServer --vtp

Swagger: http://localhost:8080/ung/sak/swagger

Generering av openapi spesifikasjon og typescript klient.

I build pipeline blir det automatisk generert en ung-sak.openapi.json fil som beskriver rest apiet på samme måte som swagger serveren. Denne fila blir deretter brukt til å automatisk generere et typescript klientbibliotek som kan brukes til å kommunisere med serveren fra nettleser.

Generert typescript klient blir publisert som GitHub npm pakke @navikt/ung-sak-typescript-client

Ved behov kan openapi spesifikasjon og typescript klient genereres i lokalt utviklingsmiljø.

Man kan kjøre dette script:

dev/generate-openapi-ts-client.sh

Eller en av intellij run konfigurasjonene som heter web/generate typescript client

Dette vil generere fil web/src/main/resources/openapi-ts-client/ung-sak.openapi.json. Deretter vil den kjøre docker image for å generere typescript klient ut fra generert openapi.json fil.

Generert typescript/javascript blir plassert i web/target/ts-client.

Man kan deretter linke direkte til denne plassering fra web koden som skal bruke den, som beskrevet i ung-sak-web/.../backend/README

På denne måten kan man teste om backend endringer fører til feil i frontend før man pusher til github.

Se også openapi-ts-client/README for mer teknisk info.