feat: update project analysis documentation to include fullstack context and backend-specific checks for NestJS and Prisma
This commit is contained in:
+26
-2
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user