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

Tillate "CreatedAt" i fortiden #1356

Open prange opened 2 days ago

prange commented 2 days ago

Introduction

I dag er det en valideringsregel som kun tillater at CreatedAt er større enn "nå". For at det skal være mulig å kunne validere at en melding i dialogporten tilsvarer en melding i et annet system er klokkeslettet nyttig.

Description

En transmisjon eller dialog "oppstår" eller opprettes i et annet system, og informasjonen synkroniseres til dialogporten med disse dataene. Når en melding opprettes i kildesystemet er det fornuftig å bruke tidsinformasjon herfra for å sette "opprettet" dato og "sist endret" tid. Tiden kan dermed være før "nå". Dersom det er viktig å vite når melding ble opprettet i dialogporten, og når melding ble endret i dialogporten bør det være egne felter.

Case: En saksbehandler sender en melding til en bruker. Denne meldingen går via saksbehandlingsystemet og ut som en mail. Samtidig legges meldingen inn i en logg over oppdateringer til dialogporten (vi har ikke ressurser til å vedlikeholde et sanntidssystem og et batchsystem, så alt blir batch hos oss i dag). Tre timer senere blir transmisjon sendt til dialogporten. Vi ønsker at CreatedAt kan bli satt til klokkeslettet meldingen ble opprettet opprinnelig.

oskogstad commented 2 days ago

Den eneste valideringen vi har er at CreatedAt må være i fortiden, så det er støttet.

        RuleFor(x => x.CreatedAt)
            .IsInPast();

Hvordan opprettes timestampene som sendes inn?

MagnusSandgren commented 2 days ago

I dag er det en valideringsregel som kun tillater at CreatedAt er større enn "nå".

Dersom du har funnet et sted i DP som gjør dette er det en bug. Som @oskogstad sier skal vi validere at CreatedAt er i fortiden (eller nå). Altså mindre eller lik "nå".

  1. Kan du bekrefte at du bruker POST api/v1/dialogs?
  2. Hvilket format sender du inn som CreatedAt? Noe slikt: 2024-10-30T10:00:00Z, eller et annet format?

Vi har også validering for at klienten har tatt hensyn til offset. Under har jeg testet med å sende inn 09:00 til POST api/v1/dialogs med forskjellige offsets. Klokken var 09:30 når jeg testet.

MagnusSandgren commented 1 day ago

@prange Har du mulighet til å gi litt mer informasjon på denne?