Files
alva/.github/workflows/ci.yml
T
Claude b069c9a12f Organisationslagret: multi-tenant med roller, integrationstestat
Master Prompts tenant- och rollmodell implementerad i den självhostade
plattformen:

- Registrering skapar organisation + systemadministratör (transaktion);
  admin skapar övriga användare (tekniker/arbetsledare/admin) i sin
  organisation via nytt UI och POST /api/anvandare. Roll + organisation
  ligger i JWT-anspråken och verifieras alltid på servern.
- All ärendedata organisationsknuten: ärenden skapas i användarens
  organisation, händelse-API:t verifierar tillhörighet per anrop och
  GET /api/arenden listar bara egna organisationens ärenden.
- Schemat flyttat till infra/k8s/postgres-init.sql och genereras in som
  ConfigMap via kustomize — samma fil används av integrationstestet.
  Nya tabeller: organisationer; anvandare med organisation_id + roll
  (check-constraint); arenden med organisation_id + index.
- Integrationstest (services/plattform/integrationstest.sh) mot riktig
  Postgres, kört grönt lokalt och tillagt i CI: registrering, synk,
  idempotens (händelser skrivs aldrig över), append-only-triggern,
  organisationsisolering (404 över gränsen), publik delning med
  filtrering, rollstyrning (tekniker nekas användarhantering) och
  delad arbetsyta inom organisationen.
- Klienten: registreringsformulär med organisationsfält, kontopanel
  med roll och organisation, admin-panel för användarhantering.

Verifierat: integrationstestets 12 kontroller gröna mot Postgres 16,
28 vitest-tester gröna, produktionsbygge ok, YAML validerad,
Playwright-röktest grönt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
2026-08-03 07:04:32 +00:00

45 lines
1.3 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test-och-bygg:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci --no-audit --no-fund
- run: npx vitest run
- run: npm run build
integrationstest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: sudo apt-get update && sudo apt-get install -y postgresql
- run: npm install --no-audit --no-fund
working-directory: services/plattform
# Kör hela flödet mot riktig Postgres: organisationer, roller,
# append-only-triggern, isolering och publik delning.
- run: sudo bash integrationstest.sh
working-directory: services/plattform
container-byggen:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Bygger båda bilderna för att verifiera Dockerfiler — publicering
# till registry sker i ett separat, behörighetsstyrt flöde.
- run: docker build -t guidad-felsokning-web .
- run: docker build -t guidad-felsokning-ai-orkester services/ai-orkester
- run: docker build -t guidad-felsokning-plattform services/plattform