Kodgranskningsövning · 8 MIN
Granska en AI-genererad ändring
Granska en kort endpoint. Besluta vilket underlag du behöver innan ändringen accepteras.
Situationen
En AI-assistent föreslår en fakturaendpoint. En inloggad användare får bara se fakturor från sin egen organisation. Du granskar ändringen före release.
Vad du ska göra
- Läs koden och dess förklaring i vanligt språk. Du behöver inte köra den.
- Välj varje kontroll som behövs före godkännande. Kontrollera svaren, läs skälen och försök igen om en kontroll saknas.
Du granskar denna PR. Funktionen får bara returnera en faktura till en autentiserad användare i samma organisation. Utdraget är ofullständigt.
// Fictional, incomplete example. Do not deploy.
app.get('/invoices/:id', async (req, res) => {
const invoice = await db.invoice.findUnique({
where: { id: req.params.id }
});
console.log('Invoice response', invoice);
return res.json(invoice);
});Vad gör koden?
Endpointen tar ett faktura-ID från anropet, hämtar fakturan, loggar hela fakturan och returnerar den. Utdraget visar inte vem som kontrollerar användarens rätt till fakturan.
Autentisering kontrollerar vem användaren är. Auktorisering kontrollerar vad användaren får göra. Middleware är kod som behandlar anropet före denna endpoint. Den kan innehålla kontroller som saknas i utdraget.
FÖR ATT AVSLUTA
Bevisar ett lyckat anrop att fakturaendpointen är säker?
Jämför ditt svar med förklaringen
Nej. Det bevisar att ett anrop fungerade. Du behöver också belägg för att en användare inte kan läsa en annan organisations faktura. Granska hela anropsvägen, beteendet när poster saknas och loggningen. Ett lyckat test måste täcka kravet som spelar roll.
Använd detta i arbetet
Lägg till ett test av en åtgärd som måste nekas i nästa PR-granskning.
Välj en annan övning