Servicer i kjerne-APIet
Ved skriving til databasen er det viktig at vi ivaretar forretningslogikk på en forsvarlig måte. Databasen inneholder allerede en god del forretningsregler. Dersom disse ikke er tilstrekkelige til å ivareta behovene våre, lager vi en service for å utføre skrivingen.
Servicene kan inneholde én eller flere metoder som utfører skriveoperasjoner til databasen. Dersom servicen skal brukes i FS GraphQL API, må navnet på disse metodene samsvare med navnet på mutasjonen i GraphQL-skjemaet.
Dersom databasen inneholder alle forretningsreglene vi trenger, overlater vi til kodegeneratoren i API-laget å generere servicen vi trenger.
Exceptions fra servicene kan gjøres tilgjengelige for APIene, slik at disse kan videreformidles til brukerne ved behov.
Exceptions som kommer fra databasen, skal etter planen videreformidles til API-laget ved hjelp av Jakarta Bean Validation, men dette er ikke på plass ennå.
Gjøre servicen og exceptions tilgjengelig for Graphitron
Exceptions som skal brukes av Graphitron, må ligge i enumen GeneratorExeption