Skip to content
Snippets Groups Projects
Unverified Commit 92124df0 authored by Cam Saul's avatar Cam Saul Committed by GitHub
Browse files

Expose version of `query` that takes Card or Table metadata (#36713)

parent 54fe0d3c
No related branches found
No related tags found
No related merge requests found
import * as ML from "cljs/metabase.lib.js";
import type { DatabaseId, DatasetQuery, TableId } from "metabase-types/api";
import type {
CardMetadata,
Clause,
ColumnMetadata,
Join,
......@@ -8,6 +9,7 @@ import type {
MetricMetadata,
Query,
SegmentMetadata,
TableMetadata,
} from "./types";
import type LegacyMetadata from "./metadata/Metadata";
......@@ -19,6 +21,17 @@ export function fromLegacyQuery(
return ML.query(databaseId, metadata, datasetQuery);
}
/**
* Use this in combination with Lib.metadataProvider(databaseId, legacyMetadata) and
Lib.tableOrCardMetadata(metadataProvider, tableOrCardId);
*/
export function queryFromTableOrCardMetadata(
metadataProvider: MetadataProvider,
tableOrCardMetadata: TableMetadata | CardMetadata,
): Query {
return ML.query(metadataProvider, tableOrCardMetadata);
}
export function toLegacyQuery(query: Query): DatasetQuery {
return ML.legacy_query(query);
}
......
......@@ -81,10 +81,13 @@
(defn ^:export query
"Coerce a plain map `query` to an actual query object that you can use with MLv2."
[database-id metadata query-map]
(let [query-map (lib.convert/js-legacy-query->pMBQL query-map)]
(log/debugf "query map: %s" (pr-str query-map))
(lib.core/query (metadataProvider database-id metadata) query-map)))
([metadata-provider table-or-card-metadata]
(lib.core/query metadata-provider table-or-card-metadata))
([database-id metadata query-map]
(let [query-map (lib.convert/js-legacy-query->pMBQL query-map)]
(log/debugf "query map: %s" (pr-str query-map))
(lib.core/query (metadataProvider database-id metadata) query-map))))
(defn- fix-namespaced-values
"This converts namespaced keywords to strings as `\"foo/bar\"`.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment