12.0.0

JIRA

https://os2web.atlassian.net/projects/KITOSUDV/versions/11190/tab/release-report-all-issues

Github

https://github.com/os2kitos/kitos/releases/tag/12.0.0

Ændringer

Ekstern adgang (med token) til API V1 og (inkl. OData lukkes)

Som varslet af flere omgange, lukkes adgangen til API V1 nu for ekstern adgang.

https://os2web.atlassian.net/wiki/spaces/KITOS/pages/657293331

I første omgang gøres endpoints utilgængelige via JWT, men på den lange bane slettes API’erne helt, da de primært eksisterer for at understøtte den brugerflade der forventes erstattes i løbet af 2023/24

Hvordan genkender jeg et “V1” endpoint?

V1 endpoints adskilles fra V2 ved, at de ikke indeholder starten api/v2 men derimod starter med:

  • odata/*

  • api/v1/*

  • api/*

Authorize endpoints består i API V1

Authorize endpointet for udstedelse af JWT består.

POST /api/authorize/GetToken

Kompatibilitet af data

I V2 benyttes kun uuid til identifikation af entiteter, og nogle entiteter forsvinder som identificerbare objekter og overgår til at være simple “value objects” hvis identitet håndteres internt.

Serialisering af enum typer rettes så det stemmer med beskrivelsen i swagger dokumentet

I swagger dokumentationen har enum typer siden start været beskrevet som “tekst-valg” dvs. man fik en beskrivelse af f.eks.

"isAgreementConcluded": { "description": "Determines if a data processing agreement has been concluded", "enum": ["No", "Yes", "Irrelevant", "Undecided"], "type": "string" },

Når man fik svaret tilbage fra KITOS var værdien imidlertid numerisk dvs. f.eks. 1.

Dette rettes nu således at returværdien stemmer overens med det beskrevne.

Det bemærkes at KITOS ikke har modtaget fejlmeldinger vedrørende dette, hvorfor det på nuværende tidspunkt forventes at berøre meget få integrationer.

Migrering hvis man allerede forventer numeriske værdier

Skulle man allerede have baseret sin integration på forventningen om numeriske værdier i retursvaret fra KITOS, kan man bevare dette ved at tilføje en header til sit request:

X-KITOS-SERIALIZE-ENUM-AS-INTEGER: True

Herved kan man “fortsætte som man plejer” på ubestemt tid, eller bruge headeren indtil man får migreret sin datamodel.

It-system-usage: Tilføj/fjern endpoints til håndtering ad systemroller

Normalt kan systemroller modificeres ved at skrive hele den ønskede systemrolle-liste via PATCH eller PUT. For en simplere tilgang til enkelt-roller, tilføjes to endpoints:

PATCH /api/v2/it-system-usages/{systemUsageUuid}/roles/add

PATCH /api/v2/it-system-usages/{systemUsageUuid}/roles/remove

It-system-usage: Tilføjelse af endpoint til at hente “indgående” relationer

Hidtil har man kunne udlede indkomne relationer ved

  • At hente alle IT-systemer i anvendelse via relatedTo query.

  • Dernæst hente relationer ud der peger på systemet

For en nemmere tilgang hertil tilføjes endpointet:

GET /api/v2/it-system-usages/{systemUsageUuid}/incoming-system-relations Returns: [ { "fromSystemUsage": { "uuid": "00000000-0000-0000-0000-000000000000", "name": "string" }, "uuid": "00000000-0000-0000-0000-000000000000", "relationInterface": { "uuid": "00000000-0000-0000-0000-000000000000", "name": "string" }, "associatedContract": { "uuid": "00000000-0000-0000-0000-000000000000", "name": "string" }, "relationFrequency": { "uuid": "00000000-0000-0000-0000-000000000000", "name": "string" }, "description": "string", "urlReference": "string" } ]

Organization: Tilføjelse af query parameter nameOrCvrContent

Ved anvendelse af den nye query parameter er det muligt at foretage søgning på hhv. navn- eller CVR indhold.

GET /api/v2/organizations?nameOrCvrContent={customQuery}

It-system: Tilføjelse af endpoint til udlæsning af hierarki

Der tilføjes et endpoint til nemt at udlæse det hierarki som et it-system indgår i.

GET /api/v2/it-systems/{uuid}/hierarchy [ { "deactivated": true, "node": { "uuid": "00000000-0000-0000-0000-000000000000", "name": "string" }, "parent": { "uuid": "00000000-0000-0000-0000-000000000000", "name": "string" } } ]

It-system-usage: Tilføjelse af endpoints til individuel administration af eksterne referencer

Ifm blev det muligt at rette eksisterende referencer via PATCH af hovedressourcen. For simplere administration af enkelte referencer tilføjes nu POST, PUT og DELETE endpoints til referencer tilknyttet en it-system-usage ressource.

POST /api/v2/it-system-usages/{systemUsageUuid}/external-references

DELETE /api/v2/it-system-usages/{systemUsageUuid}/external-references/{externalReferenceUuid}

PUT /api/v2/it-system-usages/{systemUsageUuid}/external-references/{externalReferenceUuid}

It-system-usage: Tilføjelse af endpoints til individuel administration journalperioder

Til simpel administration af enkelte journalperioder tilføjes tre endpoints til it-system-usage ressourcen.

POST /api/v2/it-system-usages/{systemUsageUuid}/journal-periods

DELETE /api/v2/it-system-usages/{systemUsageUuid}/journal-periods/{journalPeriodUuid}

GET /api/v2/it-system-usages/{systemUsageUuid}/journal-periods/{journalPeriodUuid}

PUT /api/v2/it-system-usages/{systemUsageUuid}/journal-periods/{journalPeriodUuid}

It-system: Tilføjelse af query parameter usedInOrganizationUuid

Der tilføjes et nyt query parameter til at udlæse alle it-systemer, der er taget i anvendelse i en bestemt organisation.

Derved kan man nemt udlæse alle it-system master data for it-system-usage ressourcerne udlæst fra same organisation.

GET /api/v2/it-systems?usedInOrganizationUuid={orgUuid}

It-system: Tilføjelse af permissions endpoint

Med udgangspunkt i rettighederne knyttet til token, kan man udlæse rettigheder i kontekst af en konkret it-system ressource.

GET /api/v2/it-systems/{systemUuid}/permissions

It-interface: Tilføjelse af permissions endpoint

Med udgangspunkt i rettighederne knyttet til token, kan man udlæse rettigheder i kontekst af en konkret it-interfaceressource.

GET /api/v2/it-interfaces/{interfaceUuid}/permissions

It-interface: Tilføjelse af query parameter usedInOrganizationUuid

Der tilføjes et nyt query parameter til at udlæse alle it-interfaces, der er taget i anvendelse i en bestemt organisation (via en systemanvendelse af det udstillende system).

Derved kan man nemt udlæse alle it-interface master data for it-system-usage ressourcerne udlæst fra same organisation.

GET /api/v2/it-interfaces?usedInOrganizationUuid={orgUuid}

It-interface: Tilføjelse af query parameter interfaceId og organizationUuid

Der tilføjes et to query parametre

  • organizationUuid: Medtag kun it-interface ressourcer oprettet i organisationen.

  • interfaceId: Medtag kun it-interface ressourcer med samme interfaceId som parameteren.