feat: add user-scope design rules for new functionality in documentation

This commit is contained in:
Nils-Johan Gynther
2026-05-01 02:33:48 +02:00
parent 9ee061d5f3
commit 8bc1bd3e21
2 changed files with 30 additions and 0 deletions
+17
View File
@@ -58,6 +58,23 @@ Viktigt att komma ihåg vid implementering av nya funktioner och kodning är att
## Kända fallgropar och API-gotchas
### Designregel: User-scope vid ny funktionalitet
> **Regel:** Kontrollera alltid om ny data tillhör en specifik användare. Om ja — data **måste** ha user-scope i backend (`userId`-fält, filtrering i service) och Flutter-klienten får **inte** returnera/visa andra användares data.
>
> Resurser och deras scope:
> | Resurs | Scope |
> |---|---|
> | Produkter (globala) | Publik — `GET /products` |
> | Produkter (privata) | Per användare — `GET /products/mine`, `POST /products/private` |
> | Kategorier | Global (admin-only att skapa) |
> | Inventarie | Per användare — alltid filtrera på `userId` |
> | Baslager | Per användare — alltid filtrera på `userId` |
> | Matplan | Per användare — alltid filtrera på `userId` |
> | Recept | Per användare (ägare) eller delat |
>
> I Flutter: ladda user-scopad data med token, kombinera globala och egna produktlistor vid behov.
### Flutter Web och PDF MIME-typ
- Flutter Web skickar PDF-filer med MIME-typ `application/octet-stream` istället för `application/pdf`.
- Backend (`receipt-import.controller.ts`) måste tillåta båda: `application/pdf` och `application/octet-stream` i `ALLOWED_MIMES`.