digdir / dialogporten

Dialogporten - common API and and metadata state store for digital dialogs
https://docs.altinn.studio/dialogporten
MIT License
1 stars 3 forks source link

Endre "read/seen"-logging til å være en per bruker per endring #203

Closed elsand closed 6 months ago

elsand commented 11 months ago

For å kunne bedre informere sluttbrukere om hvem som har åpnet en dialog, endrer vil genereringen av "seen"-innslag i loggen til å gjelde én gang per person per endring.

Dette innebærer at vi i "seen"-innslagene må lagre noe som lar oss identifisere om en gitt sluttbruker allerede har sett siste endringer. Hver lesing skal fremdeles medføre at det genereres en event.

Dette innebærer at "ReadAt"-kolonnen ikke lengre gir mening, så denne fjernes (må gjøres i separat deploy).

- [x] Utvide activitylog-entitet med nullable felt for sluttbrukers fnr (mappes ikke til DTO)
- [x] Utvide activityLog-DTO for enduser med krydret hash av fnr
- [x] Utvide activityLog-DTO for enduser med felt som indikerer om innslaget refererer brukeren selv
- [x] Ha logikk for å sjekke om bruker har sett siste endring (sjekke om activitylog har innslag for "seens" for bruker etter changedAt)
- [x] Fjern bruk av ReadAt i kode
- [x] Gjøre oppslag på navn (stub denne inntil videre, og returner en mock-verdi)
- [x] Endre alle steder det står Read til Seen

Se også

elsand commented 8 months ago

For å gjøre oppslag på navn, må vi inn med en utvidelse i altinn-register for å kunne gjøre det oppslaget. Dette løses i egen issue, i denne får vi bare legge inn noe dummy inntil videre.

elsand commented 8 months ago

Ref prat @benedicteos

oskogstad commented 7 months ago

@elsand Da er det meste ferdig her, bortsett fra pen kode når det kommer til dette med "latestActivities" beskrevet i #370 (Det med at vi skal filtrere siste som ikke er seen/forward, og ha med siste seens som er nyere enn UpdatedAt)

Sparra litt med @MagnusSandgren om dette i dag, men mista nett/kontakt før vi kom frem til noe saklig.

Dette forslaget er sketchy fordi det henter alle activities ved hver request, var det det du mente, Magnus? https://github.com/digdir/dialogporten/pull/368/files?w=1#diff-cc6a9073fc22561465149bd54a6812a941442834db5c6253b5e51404023f3434R174 🤷