refactor(engraving): migra selects diretos do external-db-bridge para invokeExternalDb#521
Conversation
… invokeExternalDb
useEngravingWizard fazia 2 SELECTs chamando supabase.functions.invoke('external-db-bridge')
diretamente — a Edge Function foi descontinuada (410), entao essas queries quebravam.
Migra os 2 SELECTs (catalogo de tecnicas em 'tecnicas_gravacao' e areas salvas em
'print_area_techniques') para invokeExternalDb (PostgREST nativo). Ambas as tabelas ja
estao na whitelist do rest-native; 'tecnicas_gravacao' usa o adaptador de colunas PT.
As MUTACOES (insert/update/delete) permanecem inalteradas — a lacuna de escrita pos-bridge
e tratada separadamente.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughO hook ChangesRefatoração External DB
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
This PR migrates engraving wizard read queries away from direct external-db-bridge invocation to the shared invokeExternalDb helper, aligning these SELECT paths with the REST-native external DB access layer.
Changes:
- Adds
invokeExternalDbimport. - Migrates the techniques catalog SELECT to
invokeExternalDb. - Migrates saved print area techniques SELECT to
invokeExternalDb.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| const result = await invokeExternalDb<PrintAreaTechnique>({ | ||
| table: 'print_area_techniques', | ||
| operation: 'select', | ||
| filters: { product_id: productId }, | ||
| orderBy: { column: 'technique_order', ascending: true }, | ||
| limit: 100, | ||
| }); | ||
| if (error) throw new Error(error.message); | ||
| if (!data?.success) throw new Error(data?.error || 'Erro ao buscar áreas'); | ||
| const records: PrintAreaTechnique[] = data.data?.records || []; | ||
| const records: PrintAreaTechnique[] = result.records || []; |
Contexto
A Edge Function
external-db-bridgefoi descontinuada (HTTP 410). OuseEngravingWizardainda fazia 2 SELECTs chamandosupabase.functions.invoke('external-db-bridge')diretamente, então essas leituras quebravam em runtime.Mudança (1 arquivo, cirúrgica)
src/components/admin/products/sections/engraving/useEngravingWizard.ts:+ import { invokeExternalDb } from '@/lib/external-db';tecnicas_gravacao) →invokeExternalDbprint_area_techniques, filtrado porproduct_id) →invokeExternalDbAmbas as tabelas já estão na whitelist do REST-nativo (
rest-native.ts);tecnicas_gravacaousa o adaptador de colunas PT (ONDA-17).invokeExternalDb<T>()retorna{ records, count }, então o consumo passou dedata.data?.recordspararesult.records.Fora de escopo (intencional)
As mutações (
insert/update/deletedeprint_area_techniques) permanecem inalteradas no bridge — a lacuna de escrita pós-bridge é tratada separadamente. Nenhum outro arquivo foi tocado.Validação
Merge sugerido: Squash and merge (o commit final em
mainfica... (#NNN)e passa no Branch Protection Sentinel).Summary by cubic
Migra os 2 SELECTs do wizard de gravação do
external-db-bridgedescontinuado parainvokeExternalDb(PostgREST), corrigindo erros 410 e restaurando as leituras de dados.tecnicas_gravacao) e áreas salvas (print_area_techniques) agora usaminvokeExternalDb; ambas já na whitelist do REST nativo.result.records; sem outras mudanças de lógica.print_area_techniquespermanecem no bridge e serão tratadas separadamente.Written for commit 3889bca. Summary will update on new commits.
Summary by CodeRabbit