Skip to content

navikt/helse-spesialist

Folders and files

NameName
Last commit message
Last commit date
Mar 20, 2025
Apr 4, 2024
Feb 29, 2024
Mar 20, 2025
Mar 5, 2025
Mar 22, 2025
Mar 20, 2025
Mar 24, 2025
Mar 20, 2025
Mar 23, 2025
Mar 20, 2025
Mar 20, 2025
Mar 20, 2025
Mar 20, 2025
Mar 20, 2025
Mar 20, 2025
Mar 20, 2025
Mar 24, 2025
Mar 23, 2025
Mar 20, 2025
Mar 17, 2025
Jan 30, 2025
Apr 4, 2024
Oct 8, 2024
Mar 4, 2020
Jan 30, 2025
Jan 30, 2025
Jan 30, 2025
Mar 4, 2020
Mar 17, 2025
Mar 22, 2025
Dec 17, 2024
Nov 26, 2023
Apr 14, 2023
Aug 14, 2024
Mar 20, 2025

Repository files navigation

Spesialist

Bygg og deploy

Beskrivelse

Backend for saksbehandling av sykepengesøknader

Moduler

Spesialist er inndelt i moduler etter lag i en onion architecture.

Alle lag på samme nivå har kun avhengighet og kjennskap til lag på nivå innenfor seg selv. De har ikke kjennskap til lag på samme nivå, eller nivåer utenfor.

Modulene og deres avhengigheter:

Moduler i Spesialist

Komme i gang

Gradleoppsett

Ktlint

Vi bruker Ktlint for linting av koden, for å sette dette opp må man kjøre følgende kommando:

./gradlew addKtlintFormatGitPreCommitHook

Det holder å kjøre kommandoen en gang, så er commithooken satt opp for fremtidige commits.

Credentials

For å kunne kjøre gradle må du legge til githubUser og githubPassword i ~/.gradle/gradle.properties filen. For å få tak i githubPassword må du lage et personal access token. Lag et classic token med read:packages scope.

githubUser=x-access-token
githubPassword=<token>

Docker

For å kjøre tester trenger du docker. Du kan enten installere klienten fra docker eller bruke colima.

Colima

brew install colima docker

For at colima skal virke må disse env variablene settes opp i ~/.zshrc:

export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
export DOCKER_HOST=unix://$HOME/.colima/default/docker.sock
colima start

Oppdatere GraphQL schema mot spleis

  • Kjør tasken graphqlIntrospectSchema i spesialist-client-spleis, enten i IntelliJ eller fra kommandolinja
    • Fra kommandolinja: ./gradlew :spesialist-client-spleis:graphqlIntrospectSchema
  • Gjør eventuelt endringer i hva som skal hentes fra spleis i filen hentSnapshot.graphql
  • Kjør tasken graphqlGenerateClient for å få generert klassene, disse genereres basert på hva som er definert i hentSnapshot.graphql.

ℹ️ graphqlGenerateClient vil også kjøres som en del av et vanlig bygg, i motsetning til graphqlIntrospectSchema.

Oppdatere GraphQL schema for tester

Hvis du nylig har gjort endringer i GraphQL-typer, -mutations, -queries eller -subscriptions og ønsker å teste disse endringene, er det lurt å først oppdatere lokalt testskjema, slik at du får syntax highlighting, code completion og et bedre liv. Da gjør du følgende:

  • Kjør opp LocalApp.kt sin main-metode, det starter en lokal GraphQL-server.
  • Finn filen graphql.config.yml og kjør spesialist-local, som vil oppdatere schema_til_bruk_fra_tester.grapqhl.
  • Eller trykk på oppdater-ikonet i schema_til_bruk_fra_tester.grapqhl, ser ut til å gjøre det samme.
  • Commit endringene i schema_til_bruk_fra_tester.graphql.

Kjøre lokal GraphQL Playground

  • kjør main-funksjonen i LocalApp.kt
  • gå til http://localhost:4321/graphql/playground i en nettleser
  • TODO: finn ut hvordan man veksler inn tokenet som skrives ut under oppstart av LocalApp til et bearer token, og sett det som header i playgrounden

Kjøre tester raskere

  • Finn filen .testcontainers.properties, ligger ofte på hjemmeområdet ditt, eksempelvis ~/.testcontainers.properties
  • Legg til denne verdien: testcontainers.reuse.enable=true

Oppgradering av gradle wrapper

Spesialist-opprydding-dev

En selvstendig app for å slette testpersoner, kjører kun i dev.

Spleis-testdata fyrer av et kafka-event som spesialist-opprydding-dev lytter på og sletter testpersoner.

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-bømlo-værsågod.

Kode generert av GitHub Copilot

Dette repoet bruker GitHub Copilot til å generere kode.