Skip to content
Snippets Groups Projects
Unverified Commit 38153250 authored by Anton Kulyk's avatar Anton Kulyk Committed by GitHub
Browse files

Accept UnsavedCard type in Question class (#20595)

* Accept UnsavedCard type in Question class

* Fix type
parent 398d1ade
Branches
Tags
No related merge requests found
......@@ -75,7 +75,9 @@ import {
ALERT_TYPE_TIMESERIES_GOAL,
} from "metabase-lib/lib/Alert";
import { utf8_to_b64url } from "metabase/lib/encoding";
type QuestionUpdateFn = (q: Question) => Promise<void> | null | undefined;
/**
* This is a wrapper around a question/card object, which may contain one or more Query objects
*/
......
......@@ -13,25 +13,22 @@ export type UnsavedCard = {
display: string;
visualization_settings: VisualizationSettings;
parameters?: Array<Parameter>;
// Not part of the card API contract, a field used by query builder for showing lineage
original_card_id?: CardId;
};
export type Card = {
export type SavedCard = UnsavedCard & {
id: CardId;
name?: string;
description?: string;
dataset?: boolean;
dataset_query: DatasetQuery;
display: string;
visualization_settings: VisualizationSettings;
parameters?: Array<Parameter>;
can_write: boolean;
public_uuid: string;
// Not part of the card API contract, a field used by query builder for showing lineage
original_card_id?: CardId;
};
export type Card = SavedCard | UnsavedCard;
export type StructuredDatasetQuery = {
type: "query";
database?: DatabaseId;
......
......@@ -4,7 +4,11 @@ import Database from "metabase-lib/lib/metadata/Database";
import { isStructured } from "metabase/lib/query";
import { getQuestionVirtualTableId } from "metabase/lib/saved-questions";
import { TemplateTag } from "metabase-types/types/Query";
import { Card, StructuredDatasetQuery } from "metabase-types/types/Card";
import {
Card as CardObject,
CardId,
StructuredDatasetQuery,
} from "metabase-types/types/Card";
export function isSupportedTemplateTagForModel(tag: TemplateTag) {
return tag.type === "card";
......@@ -30,6 +34,11 @@ export function checkCanBeModel(question: Question) {
.every(isSupportedTemplateTagForModel);
}
type Card = CardObject & {
id?: CardId;
dataset?: boolean;
};
export function isAdHocModelQuestionCard(card: Card, originalCard?: Card) {
if (!originalCard || !isStructured(card.dataset_query)) {
return false;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment