* Remove unused data from embed and public endpoints
Public and static-embed card/dashboard/document endpoints now return a
minimal placeholder dataset_query (a blank native query against the same
database) instead of selecting individual query keys. The frontend only
needs the database id here. Parameter combining and :param_fields
hydration in public-card now run before the card is trimmed since both
read template tags from the full query.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Add tests for embed card and dashboard dataset_query
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Assert strictly on dataset_query in public and embed tests
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Handle native queries in Table viz
* Fix column shadowing in HeaderCellWithColumnInfo
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Use param_fields for public question parameters
Public and static-embed card payloads carry param_fields instead of the
real query, so PublicOrEmbeddedQuestion now builds UI parameters from
them via getCardUiParametersFromParamFields, mirroring the saved-mode
dashboard path. The query-based helpers are renamed to the FromQuery /
FromParamFields scheme on both the card and dashboard sides, and the
ParameterWithTarget casts are dropped now that getParameterTargetField
accepts an optional target.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Use param_fields for embed setup card parameters
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Use param_fields for guest embed SDK question parameters
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Route card UI parameters by param_fields presence
Restores getCardUiParameters as the entry point: it delegates to
getCardUiParametersFromParamFields when the card carries param_fields
(public and static-embed payloads) and to the query-based variant
otherwise. The SDK SQL parameter surfaces use it since they serve both
guest and authenticated contexts. Also reverts the dashboard helper
renames back to getSaved/getUnsavedDashboardUiParameters.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Fix preview embed card param values
The preview-embed card values and remapping endpoints get their card via
card-for-unsigned-token -> public-card, which now replaces the query with
a blank native placeholder, so field-filter parameters could no longer be
resolved and the response schema rejected the nil result. Bind
qp.perms/*param-values-query* around the card fetch, the escape hatch
remove-card-non-public-columns already honors, matching the public
sharing values endpoints.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Add preview embed test for remapped parameter fields
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix
* vscode fix
* Backfill template tag parameters in param_fields UI parameters
GET /api/card/:id returns parameters as stored, unlike the public and
embed endpoints which combine them with template tags, so
getCardUiParametersFromParamFields now derives parameters via
getParametersFromCard like the query-based variant always did. Guest
embed payloads are unaffected: their parameters arrive already combined
and the blank query derives nothing.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Use getCardUiParameters dispatcher in SDK load-question
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Guard applyTemplateTagParameters by param_fields presence
Cards whose payloads carry param_fields have parameters already combined
with template tags by the backend, so re-applying from the query would
wipe them. Keying the guard on the card payload keeps it in sync with
how the card was loaded, replacing the isGuestEmbed flag checks.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Use getCardUiParameters everywhere and build test queries via Lib
Question.parameters and the query builder call sites go back to the
getCardUiParameters entry point, which now routes by param_fields
presence, leaving those files unchanged relative to master. The
template tag fallback test builds its query with
Lib.createTestJsNativeQuery instead of an inline legacy map.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Make getCardUiParameters the only entry point
The FromQuery and FromParamFields variants are private to cards.ts now;
all consumers call getCardUiParameters, which routes by param_fields
presence.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Build preview embed remapped-fields test query via lib
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Restore null fallback in useAvailableParameters
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Fix
* Preserve query type in stripped public and embed card queries
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Add placeholder aggregations to stripped MBQL queries
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Keep parameter template tags in stripped native queries and revert FE workarounds
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Export parameter-template-tag? via import-vars
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Add test for :param_fields hydration on GET /api/card/:id
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>