Altinn / altinn-authorization-tmp

Altinn Authorization
MIT License
1 stars 0 forks source link

Access Management API - Repository Query #98

Open andreasisnes opened 6 days ago

andreasisnes commented 6 days ago

Beskrivelse

For å støtte en query som henter alle med rettigheter til en gitt party, må følgende req. implementeres:

Duplisering av ER-registeret Hele ER-registeret må replikeres inn i Access Management-databasen. Dette er dekket i #100 og er nødvendig for å sikre at all informasjon er tilgjengelig lokalt.

Introduksjon av global inkrementell ID Tabellene instansdelegering, instancedelegationchanges, accesspackages og ER-duplikatet må utvides med en global inkrementell ID. Dette gjør det mulig å implementere effektiv server-side paginering når tabellene må joines.

En global ID sikrer at data kan filtreres og sorteres på tvers av tabeller uten kollisjoner, noe som er essensielt for å støtte enhetlig paginering.

Beskrivelse

For å kunne støtte en query for å hente ut alle med rettigheter til en gitt party må følgende være på plass

For å lage en global_id så kan man gjøre følgende

CREATE SEQUENCE global_id_seq;
ALTER TABLE table1 ADD COLUMN global_id BIGINT DEFAULT nextval('global_id_seq');
ALTER TABLE table2 ADD COLUMN global_id BIGINT DEFAULT nextval('global_id_seq');
CREATE INDEX idx_global_id_table1 ON table1(global_id);
CREATE INDEX idx_global_id_table2 ON table2(global_id);

Query

GLHF. Se #99 for hva som må returneres til sluttbruker