Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Innføre "purge" operasjon for å fysisk fjerne en dialog og tilhørende children helt #310

Closed
3 tasks done
Tracked by #29
elsand opened this issue Dec 19, 2023 · 2 comments
Closed
3 tasks done
Tracked by #29
Assignees
Labels
legal Needs legal assessment

Comments

@elsand
Copy link
Member

elsand commented Dec 19, 2023

Introduksjon

Dette innfører en fysisk sletting av dialoger.

Se også

Tasks

Preview Give feedback
  1. documentation
@elsand elsand converted this from a draft issue Dec 19, 2023
@elsand elsand changed the title #dialogporten Innføre "purge" operasjon for å fjerne en dialog og tilhørende children helt Innføre "purge" operasjon for å fjerne en dialog og tilhørende children helt Dec 19, 2023
@elsand elsand added this to the Pilotproduksjon milestone Dec 19, 2023
@elsand elsand changed the title Innføre "purge" operasjon for å fjerne en dialog og tilhørende children helt Innføre "purge" operasjon for å fysisk fjerne en dialog og tilhørende children helt Dec 19, 2023
@elsand elsand added the legal Needs legal assessment label Jan 9, 2024
@MagnusSandgren MagnusSandgren self-assigned this Feb 26, 2024
@MagnusSandgren
Copy link
Collaborator

@elsand Jeg antar og implementerer denne slik at man kan hard delete (purge) soft deleta dialoger.

@MagnusSandgren
Copy link
Collaborator

Hadde en prat med @oskogstad, @knuhau og @arealmaas om følgende rest api dessign alternativer:

Alternativ 1:

Soft delete: DELETE api/v1/dialogs/{dialogId}
Hard delete (purge): DELETE api/v1/dialogs/{dialogId}/action/purge

Her er fordelene for oss at vi har helt separate endepunkt for soft og hard delete. I tillegg gjør vi purge veldig eksplisitt for konsumenten som minker risikoen for feil. Ulempen er at vi går over til action "sub-resurs", som strengt tatt ikke er nødvendig (se alternativ 3).

Alternativ 2:

Soft delete: DELETE api/v1/dialogs/{dialogId}
Hard delete (purge): POST api/v1/dialogs/{dialogId}/action/purge (Alle actions burde være POST? :thinking_face:

Dette er i prinsippet samme som alternativ 1, men bruker POST verbet på hard delete actionen som står mer i stil med action sub ressurs tilnærmingen for rest.

Alternativ 3:

Soft delete: DELETE api/v1/dialogs/{dialogId}?purge=false (default)
Hard delete (purge): DELETE api/v1/dialogs/{dialogId}?purge=true

Fordelen med denne er at vi følger rest uten action "workarounden". Det dumme er at vi bruker bool som kontrollflyt, soft og hard delete får samme endepunkt kode, og purge er kun et flagg unna for konsumenten, som gjør sannsynligheten for å "fat-fingre" inn en purge for konsumenten når det ikke skal være eller motsatt blir større.

Konklusjon

Vi ble enige om å gå for alternativ 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
legal Needs legal assessment
Projects
None yet
Development

No branches or pull requests

3 participants