feat: Implement get_latest_memojis RPC and Edge Function endpoint#16
feat: Implement get_latest_memojis RPC and Edge Function endpoint#16iAmVishal16 wants to merge 2 commits intomainfrom
Conversation
Code Review: Memoji Pagination FeatureI've reviewed PR #16 implementing the ✅ Strengths
🔴 Critical Issues1. SECURITY: Missing RLS Bypass in SECURITY DEFINER Function (supabase/migrations/20251220095459_add_get_latest_memojis_function.sql:16, supabase/schemas/031_memoji_functions.sql:39)Issue: The Current code: SELECT o.id, o.name, o.created_at, o.metadata
FROM storage.objects o
WHERE o.bucket_id = 'memoji-images'
ORDER BY o.created_at DESCRisk: Privacy violation - users can see other users' memojis. Recommendation: Add user filtering to respect data ownership: WHERE o.bucket_id = 'memoji-images'
AND o.owner = auth.uid() -- Only return current user's memojisOr if this is intended to be a global feed, add documentation explaining this behavior and ensure it aligns with your privacy policy. 2. Missing Rate Limiting (supabase/functions/ingredicheck/memoji.ts:363)Issue: The POST Risk: Abuse via automated scraping or DoS attacks. Recommendation: Apply similar rate limiting: const rate = checkRateLimit(clientIP ?? "unknown");
if (!rate.allowed) {
ctx.response.status = 429;
ctx.response.body = { error: { message: "Rate limit exceeded." } };
return;
}
|
No description provided.