Hoppa till innehållet

Devportalen /portal/dev

Startsideportalens ekosystem för människa och agent

Dokumentationen / API

GET /api/mock/*

APIStartsideportalen

Speglar varje moduls datafunktion som en HTTP-endpoint, för att visa vilken form ett riktigt mikrotjänst-API skulle ha.

källa: apps/portal/src/app/api/mockuppdaterad: 2026-08-28

Ansvar

  • Visa API-formen utan att vara modulernas datakälla – modulerna anropar sin funktion direkt.
  • Hämta identiteten på servern och skicka rollen vidare som UserContext.
  • Ge /api/health för healthcheck i compose och rökkontroll efter deploy.

Filer

Tabell: Sökväg, Roll
SökvägRoll
app/api/mock/oversikt/route.tsSpeglar hamtaNyckeltal.
app/api/mock/arenden/route.tsSpeglar hamtaArenden.
app/api/mock/kalender/route.tsSpeglar hamtaDagen.
app/api/mock/ledighet/route.tsSpeglar hamtaLedighet.
app/api/mock/kompetens/route.tsSpeglar hamtaRegister: hela registret för chef, den egna kompetensen för medarbetare.
app/api/mock/kompetens/[id]/plan/bekrafta/route.tsPOST: chefen bekräftar en plan. 400/404/409 från bekraftaPlan.
app/api/mock/kompetens/[id]/innehav/route.tsPOST: chefen registrerar ett intyg. Giltigheten räknas på servern.
app/api/health/route.ts{ ok: true }.

Kontrakt

Formen är alltid densamma

import { hamtaNagot } from "@startsidan/modul-<namn>";
import { getCurrentUser, toContext } from "../../../../shell";

export async function GET() {
  const user = await getCurrentUser();
  return Response.json(await hamtaNagot(toContext(user)));
}

Att modulen exporterar sin datafunktion i index.ts är förutsättningen för spegeln. Utan den exporten finns ingen endpoint att skriva.

Beroenden och beslut

Kvarstår

  • Ingen av endpointerna konsumeras av appen. De är dokumentation i körbar form.
  • Ingen felhantering eller statuskod utöver 200 – de speglar bara den lyckade formen.