From 2dda34d4d2ab31c2a573cd8f50dfe303393bf770 Mon Sep 17 00:00:00 2001 From: Nils-Johan Gynther Date: Tue, 12 May 2026 16:17:11 +0200 Subject: [PATCH] feat: update project analysis documentation to include fullstack context and backend-specific checks for NestJS and Prisma --- filanalys.md | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/filanalys.md b/filanalys.md index b86b9e3b..08ba5c23 100644 --- a/filanalys.md +++ b/filanalys.md @@ -1,4 +1,4 @@ -Du är en senior utvecklare och säkerhetsexpert. Analysera alla commit-kandidater i detta Next.js/TypeScript-projekt (backend: NestJS + Prisma, frontend: Next.js, databas: MariaDB). +Du är en senior utvecklare och säkerhetsexpert. Analysera alla commit-kandidater i detta fullstack-projekt (backend: NestJS + Prisma, frontend: Next.js/Flutter, databas: MariaDB). Syfte: - Detta är en pre-commit quality gate som ska användas innan commit. @@ -54,6 +54,28 @@ Ge en detaljerad rapport enligt följande struktur: - Finns det loggning av känslig data? - Används säkra krypteringsmetoder (t.ex. AES-256, bcrypt)? +--- +### **2b. Backend-specifik kontroll (NestJS + Prisma)** +- **API-kontrakt och validering**: + - Kontrollera DTO-validering (`class-validator`) på indata till controllers. + - Kontrollera att controllers inte accepterar osanerad payload direkt till service/Prisma. + - Kontrollera att felhantering använder korrekta HTTP-statuskoder (inte generiska 500/400 i onödan). + +- **Auktorisation och scope**: + - Kontrollera att user-scope upprätthålls i queries/mutationer (ingen IDOR). + - Kontrollera att admin-endpoints skyddas med rätt guards/roller. + - Kontrollera att privata resurser inte kan nås via andras ID. + +- **Prisma och dataintegritet**: + - Kontrollera att `where`-villkor inkluderar rätt scope (t.ex. `userId`) där det krävs. + - Kontrollera transaction-användning vid multipla skrivoperationer. + - Kontrollera risk för N+1-frågor och föreslå `include/select`-optimering där relevant. + +- **Drift och robusthet**: + - Kontrollera rate limiting/throttling på känsliga endpoints. + - Kontrollera att loggar inte exponerar tokens, lösenord eller fulla stacktraces i produktion. + - Kontrollera timeout/retry-strategi vid anrop till externa tjänster. + --- ### **3. Sammanfattning** - **Topp 6 kritiska åtgärder** (prioriterade efter risk/vinst). @@ -71,6 +93,8 @@ Ge en detaljerad rapport enligt följande struktur: - Ignorera filer som inte är relevanta (t.ex. node_modules, .git, binärfiler). - Prioritera körbarhet: föreslagna åtgärder ska kunna göras i denna kodbas utan större arkitekturprojekt. - Undvik generiska råd. Allt ska vara kopplat till faktisk kod i scope. +- När både frontend och backend finns i scope: dela upp fynd per delsystem. +- Om endast backendfiler finns i scope: lägg huvudfokus på sektion **2b** och prioritera säkerhet/scope före stilfrågor. --- ### **Outputformat (obligatoriskt)** @@ -87,7 +111,7 @@ Om inga relevanta filer hittas: --- ### **Kontext för projektet** - **Backend**: NestJS + Prisma + MariaDB (Docker-container). -- **Frontend**: Next.js + TypeScript. +- **Frontend**: Next.js + TypeScript + Flutter (kan förekomma i samma repo). - **Mål**: Förbereda för produktion, minska teknisk skuld, säkra känslig data. ---