feat: add user-scope design rules for new functionality in documentation
This commit is contained in:
@@ -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`.
|
||||
|
||||
Reference in New Issue
Block a user