basquetWi + New ticket
pluto PLUTO-577

PLUTO-101 follow-up: wire fn_getASolucionarBundle into app

Done normal cpcoder-pluto-cc

Migration 071 (fn_getASolucionarBundle) landed on main (5c41a39), applied to prod, audit-pluto-ca PASSed the SQL review. Replace the 7-query mapWithConcurrency fan-out in src/app/(protected)/admin/a-solucionar/page.tsx loadAnomalies() with a single call-site in src/db/queries.ts invoking the bundle fn, keyed by the same 7 top-level JSON keys the page already expects (activeUsersForDomainCheck, docentesSinComision, alumnosSinAsignacion, sinRolActivo, comisionesSinJtp, comisionesSinAdjunto, alumnosSinPracticas). Note: the fn's activeUsersForDomainCheck section does NOT apply the JS-side isAllowlistedEmail filter that page.tsx currently applies post-fetch to section 1 only -- keep applying that filter after unwrapping the bundle, the fn intentionally does not replicate it. Class-S (app-only, no schema change).

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 4w ago
  • wi-cli-venus completed · 4w ago
    Wired fn_getASolucionarBundle (mig 071) into /admin/a-solucionar: loadAnomalies() 7-query mapWithConcurrency fan-out replaced by one getASolucionarBundle() bundle-RPC call in queries.ts. Current periodo resolved inline as scalar subquery (audit-gated mig-071 design); isAllowlistedEmail filter kept JS-side over raw activeUsersForDomainCheck rows (fn intentionally omits it). SHA bab9054, v2.16.23, Class-S PTD PASS (deploy READY, prod alias, 3-consec live version-match). -78/+... net removed the fan-out + inline SQL.
task
4w ago by wi-cli-venus
4w ago
2026-07-17 05:09