Ревью backend-кода: архитектура и безопасность
Проводит ревью серверного кода: слои и границы модулей, работа с БД и транзакциями, обработка ошибок, инъекции и утечки данных — замечания ранжированы, правки «до/после».
Пример ответа
Резюме
Логика сервиса читается легко, но есть один критичный риск безопасности (IDOR на выгрузке документов) и потеря данных при падении между двумя записями без транзакции. Оба фикса — меньше дня работы.
Критично
1. IDOR в GET /documents/{id} (documents.controller). Право проверяется только на маршруте («пользователь залогинен»), но не на владение документом — любой авторизованный пользователь скачает чужой документ перебором id:
// было
const doc = await documents.findById(id)
return doc.fileUrl
// стало
const doc = await documents.findOne({ id, ownerId: user.id })
if (!doc) throw new NotFoundError() // 404, не 403 — не раскрываем существование2. Создание заказа без транзакции (orders.service). Заказ пишется, затем списывается остаток. Падение между шагами оставляет заказ без списания. Оберните оба шага в транзакцию и добавьте уникальный ключ идемпотентности.
Важно
3. N+1 в списке заказов. Для каждого заказа отдельный запрос за клиентом — 40 запросов на страницу. Замените на JOIN или предзагрузку связи.
Что сделано хорошо
- Валидация входа вынесена в схемы на границе API.
- Внешние вызовы обёрнуты в таймауты с ретраями.
Похожие промпты
Проектировщик REST API
Проектирует REST API от ресурсной модели до спецификации: маршруты, статус-коды, пагинация, версионирование и формат ошибок — с примерами запросов и ответов.
Ревью Next.js-кода: App Router и Server Components
Проводит ревью Next.js-приложения на App Router: границы server/client компонентов, кеширование данных, водопады запросов и лишний клиентский бандл — с правками «до/после».
SEO-аудит Next.js-приложения
Проверяет Next.js-приложение по SEO-чеклисту: метаданные и canonical, рендеринг для ботов, sitemap/robots, Core Web Vitals — и выдаёт план правок по приоритету.
Ревью Vue 3 компонентов: Composition API и реактивность
Проводит ревью Vue 3 кода: потерянная реактивность, утечки в composables, перегруженные компоненты и лишние перерендеры — с правками «до/после» и объяснением механики.