Bakgrund
För att möjliggöra paketeringar av applikationer byggda på komponenter i öppen källkod behöver vi implementera fristående mikrotjänster för citizen och employee, som ett alternativ till Metakatalogens implementation.
Uppdrag
Bygg två mikrotjänster, api-service-citizen och api-service-employee, som motsvarar en nödvändig delmängd av den funktionalitet som ligger i Metakatalogen idag. Respektive implementation ska innehålla en databas med en databasmodell som är härledd från respektive API-beskrivning.
Detaljerad uppdragsbeskrivning
Observera - ni kan kika på https://github.com/Public-Service-as-a-Service/api-service-notes som ett exempel.
Citizen
Beskrivning av befintlig implementation
Lösningsbeskrivning, ny implementation
Observera, integration mot Navet ingår inte i detta uppdrag och planeras in i kommande faser.
Att göra:
Skapa databasschema baserat på API-specifikationen; https://api-test.sundsvall.se/citizen/2.0/api-docs (se särskilt
/api/v2/citizen/{personId}
)Implementera mikrotjänst - repo finns förberett här:
https://github.com/Public-Service-as-a-Service/api-service-citizenImplementera samtliga APIer att operera mot databas
APIet
/api/v2/citizen/guid
skall implementeras på följande sätt; om medborgaren redan finns i databasen, returnera dess guid. Om medborgaren inte finns i databasen ska en http 404 returneras (detta kommer att ersättas sen när integrationen mot Navet byggs).
Säkerställ att citizen fungerar att bygga och distribuera som helhet (mikrotjänst + databas) lokalt - testdata måste läggas in manuellt i databasen eftersom integrationen mot Navet görs senare.
Employee
Beskrivning av befintlig implementation
Lösningsbeskrivning, ny implementation
Att göra:
Skapa en första version som innehåller en delmängd av resurserna i nuvarande API (se mer nedan)
Skapa databasschema baserat på API-specifikationen; https://api-test.sundsvall.se/employee/api-docs och resursen
/api/v1/employee/portalpersondata/{domain}/{loginName}
Implementera mikrotjänst - repo finns förberett här:
https://github.com/Public-Service-as-a-Service/api-service-employeeImplementera följande APIer att operera mot databas;
/api/v1/employee/employed/{personalNumber}/loginname
/api/v1/employee/portalpersondata/{domain}/{loginName}
/api/v1/employee/portalpersondata/{email}
(övriga APIer implementeras senare vid behov)
Säkerställ att employee fungerar att bygga och distribuera som helhet (mikrotjänst + databas) lokalt - testdata måste läggas in manuellt i databasen.