Skip to content

chore(backend): mejoras del code review (auth SAP, saneo de errores, deuda, seed)#32

Merged
aitorevi merged 1 commit into
mainfrom
chore/backend-review-fixes
Jun 2, 2026
Merged

chore(backend): mejoras del code review (auth SAP, saneo de errores, deuda, seed)#32
aitorevi merged 1 commit into
mainfrom
chore/backend-review-fixes

Conversation

@aitorevi

@aitorevi aitorevi commented Jun 2, 2026

Copy link
Copy Markdown
Owner

Resultado del code review del backend. El backend ya estaba sólido (hexagonal limpio, Result/Error disciplinado, SQLite parametrizado, 72 tests); estas son mejoras menores acordadas.

Cambios

  1. SAP: 401/403 → Error.Unauthorized (antes 502 genérico). El adaptador pasa de GetStringAsync a GetAsync + chequeo de status (como el de Shopify), maneja timeout y añade ct.ThrowIfCancellationRequested() al entrar. → mejor diagnóstico de "API key mala".
  2. Saneo de ProblemDetails.Detail: para Unavailable/Unexpected se devuelve un mensaje genérico al cliente (no se filtran textos internos de SAP/Shopify/SQLite). El controlador loguea el detalle real (ILogger + helper Fail).
  3. Deuda técnica: nueva sección de paginación SAP en DEUDA-TECNICA.md; se eliminan los TODO truncados de los adaptadores Shopify (ya cubiertos por feat(backend): add SAP OData adapter as a second data source #5/feat(backend): persist sales in SQLite with an ingestion use case #6).
  4. Seed: backoff más corto (Cloud Run arranca en ~1-2 s, no necesita los ~110 s pensados para Render).

Tests (72 → 76)

  • SAP 401/403 → Unauthorized (Theory).
  • Endpoint Unauthorized → 401.
  • ErrorHttpResults no filtra el detalle interno en errores de servidor.

Verificación

  • dotnet test76/76.

🤖 Generated with Claude Code

…da, seed)

- SAP: 401/403 del OData ahora se mapean a Error.Unauthorized (antes 502); usa
  GetAsync + chequeo de status (como el adaptador Shopify) y maneja timeout.
  Guard ct.ThrowIfCancellationRequested al entrar.
- ErrorHttpResults: ProblemDetails.Detail genérico para Unavailable/Unexpected
  (no filtra mensajes internos de SAP/Shopify/SQLite al cliente). El controlador
  loguea el detalle real (ILogger en SalesController + helper Fail).
- DEUDA-TECNICA.md: nueva sección de paginación SAP; se quitan los TODO truncados
  de los adaptadores Shopify (ya cubiertos por #5/#6).
- Program.cs: backoff del seed más corto (Cloud Run arranca rápido), comentario
  actualizado.
- Tests (72 -> 76): SAP 401/403 -> Unauthorized; endpoint Unauthorized -> 401;
  ErrorHttpResults no filtra detalle en errores de servidor.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
connect-analyzer Ready Ready Preview, Comment Jun 2, 2026 7:52pm

@aitorevi aitorevi merged commit 43562a7 into main Jun 2, 2026
4 checks passed
@aitorevi aitorevi deleted the chore/backend-review-fixes branch June 2, 2026 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant