diff --git a/frontend/src/metabase-lib/v1/metadata/Database.ts b/frontend/src/metabase-lib/v1/metadata/Database.ts index 1ae95300186fb74a1a63a5832ae60705f09e7058..6d88833939d28cff01a5fd21ae282e45b589e1e5 100644 --- a/frontend/src/metabase-lib/v1/metadata/Database.ts +++ b/frontend/src/metabase-lib/v1/metadata/Database.ts @@ -19,6 +19,9 @@ interface Database extends Omit<NormalizedDatabase, "tables" | "schemas"> { metadata?: Metadata; } +/** + * @deprecated use RTK Query endpoints and plain api objects from metabase-types/api + */ class Database { private readonly _plainObject: NormalizedDatabase; diff --git a/frontend/src/metabase-lib/v1/metadata/Field.ts b/frontend/src/metabase-lib/v1/metadata/Field.ts index 6f1b19535a74869cbd2ebafb06f56cd4f6187f62..a19c27e4505fdedcae80e80c5a53a1f9539e6202 100644 --- a/frontend/src/metabase-lib/v1/metadata/Field.ts +++ b/frontend/src/metabase-lib/v1/metadata/Field.ts @@ -70,6 +70,9 @@ const LONG_TEXT_MIN = 80; * Wrapper class for field metadata objects. Belongs to a Table. */ +/** + * @deprecated use RTK Query endpoints and plain api objects from metabase-types/api + */ class FieldInner extends Base { id: FieldId | FieldReference; name: string; diff --git a/frontend/src/metabase-lib/v1/metadata/ForeignKey.ts b/frontend/src/metabase-lib/v1/metadata/ForeignKey.ts index 50a18a55924ae4a9e7600e0db05f28c8db2e64d0..3113fbfc8fe8c3ec4972349e253135080c9601cc 100644 --- a/frontend/src/metabase-lib/v1/metadata/ForeignKey.ts +++ b/frontend/src/metabase-lib/v1/metadata/ForeignKey.ts @@ -10,6 +10,9 @@ interface ForeignKey metadata?: Metadata; } +/** + * @deprecated use RTK Query endpoints and plain api objects from metabase-types/api + */ class ForeignKey { private readonly _plainObject: NormalizedForeignKey; diff --git a/frontend/src/metabase-lib/v1/metadata/Metadata.ts b/frontend/src/metabase-lib/v1/metadata/Metadata.ts index 16b87031b6f2c60808dd8f528a5aee306f6aa5e9..5cfdd3b650d7582adc0876486f593e365e75c457 100644 --- a/frontend/src/metabase-lib/v1/metadata/Metadata.ts +++ b/frontend/src/metabase-lib/v1/metadata/Metadata.ts @@ -35,6 +35,12 @@ interface MetadataOpts { settings?: Settings; } +/** + * @deprecated The class shouldn't be used for anything but to create a MetadataProvider instance from MBQL lib. + * + * For finding a database/table/field/card by id, use the corresponding RTK query endpoints. + * Do not rely on data being implicitly loaded in some other place. + */ class Metadata { databases: Record<string, Database> = {}; schemas: Record<string, Schema> = {}; @@ -50,8 +56,7 @@ class Metadata { } /** - * @deprecated this won't be sorted or filtered in a meaningful way - * @returns {Database[]} + * @deprecated load data via RTK Query - useListDatabasesQuery */ databasesList({ savedQuestions = true } = {}): Database[] { return _.chain(this.databases) @@ -62,53 +67,78 @@ class Metadata { } /** - * @deprecated this won't be sorted or filtered in a meaningful way - * @returns {Table[]} + * @deprecated load data via RTK Query - useListDatabaseSchemaTablesQuery */ tablesList(): Table[] { return Object.values(this.tables); } + /** + * @deprecated load data via RTK Query - useListFieldsQuery + */ fieldsList(): Field[] { return Object.values(this.fields); } /** - * @deprecated this won't be sorted or filtered in a meaningful way - * @returns {Metric[]} + * @deprecated load data via RTK Query - useListMetricsQuery */ metricsList(): Metric[] { return Object.values(this.metrics); } + /** + * @deprecated load data via RTK Query - useListSegmentsQuery + */ segmentsList(): Segment[] { return Object.values(this.segments); } + /** + * @deprecated load data via RTK Query - useGetSegmentQuery + */ segment(segmentId: SegmentId | undefined | null): Segment | null { return (segmentId != null && this.segments[segmentId]) || null; } + /** + * @deprecated load data via RTK Query - useGetMetricQuery + */ metric(metricId: MetricId | undefined | null): Metric | null { return (metricId != null && this.metrics[metricId]) || null; } + /** + * @deprecated load data via RTK Query - useGetDatabaseQuery + */ database(databaseId: DatabaseId | undefined | null): Database | null { return (databaseId != null && this.databases[databaseId]) || null; } + /** + * @deprecated load data via RTK Query - useListDatabasesQuery({ saved: true }) + */ savedQuestionsDatabase() { return this.databases[SAVED_QUESTIONS_VIRTUAL_DB_ID]; } + /** + * @deprecated load data via RTK Query - useListSchemasQuery or useListDatabaseSchemaTablesQuery + */ schema(schemaId: SchemaId | undefined | null): Schema | null { return (schemaId != null && this.schemas[schemaId]) || null; } + /** + * @deprecated load data via RTK Query - useGetTableQuery or useGetTableMetadataQuery + */ table(tableId: TableId | undefined | null): Table | null { return (tableId != null && this.tables[tableId]) || null; } + /** + * @deprecated load data via RTK Query - useGetFieldQuery + */ field( fieldId: FieldId | FieldReference | string | undefined | null, tableId?: TableId | undefined | null, @@ -126,6 +156,9 @@ class Metadata { return this.fields[uniqueId] || null; } + /** + * @deprecated load data via RTK Query - useGetCardQuery + */ question(cardId: CardId | undefined | null): Question | null { return (cardId != null && this.questions[cardId]) || null; } diff --git a/frontend/src/metabase-lib/v1/metadata/Metric.ts b/frontend/src/metabase-lib/v1/metadata/Metric.ts index bdbb62ae47729e4ac2976a59cec49c9223d50c6f..6eb83ebc8225f684940ae5a33b7a0956066a0548 100644 --- a/frontend/src/metabase-lib/v1/metadata/Metric.ts +++ b/frontend/src/metabase-lib/v1/metadata/Metric.ts @@ -9,6 +9,9 @@ interface Metric extends Omit<NormalizedMetric, "table"> { metadata?: Metadata; } +/** + * @deprecated use RTK Query endpoints and plain api objects from metabase-types/api + */ class Metric { private readonly _plainObject: NormalizedMetric; diff --git a/frontend/src/metabase-lib/v1/metadata/Schema.ts b/frontend/src/metabase-lib/v1/metadata/Schema.ts index 305f75140063d8282e8352106a2b830b2a3acbc0..c4a3c1b9807a2814306a2b7dfb1c9e7f39c4d4f1 100644 --- a/frontend/src/metabase-lib/v1/metadata/Schema.ts +++ b/frontend/src/metabase-lib/v1/metadata/Schema.ts @@ -11,6 +11,9 @@ interface Schema extends Omit<NormalizedSchema, "database" | "tables"> { metadata?: Metadata; } +/** + * @deprecated use RTK Query endpoints and plain api objects from metabase-types/api + */ class Schema { private readonly _plainObject: NormalizedSchema; diff --git a/frontend/src/metabase-lib/v1/metadata/Segment.ts b/frontend/src/metabase-lib/v1/metadata/Segment.ts index dca14f9dfaeb098f9b842d8c4fdfeb34f6b09d8f..d85e45d18571c55b1d32966a577e5729ea7b0e37 100644 --- a/frontend/src/metabase-lib/v1/metadata/Segment.ts +++ b/frontend/src/metabase-lib/v1/metadata/Segment.ts @@ -8,6 +8,9 @@ interface Segment extends Omit<NormalizedSegment, "table"> { metadata?: Metadata; } +/** + * @deprecated use RTK Query endpoints and plain api objects from metabase-types/api + */ class Segment { private readonly _plainObject: NormalizedSegment; diff --git a/frontend/src/metabase-lib/v1/metadata/Table.ts b/frontend/src/metabase-lib/v1/metadata/Table.ts index 957cac4e1a5df9c28da375d199778fa5cbc460e4..951a0814d082b186f17795e957568c91496b81c9 100644 --- a/frontend/src/metabase-lib/v1/metadata/Table.ts +++ b/frontend/src/metabase-lib/v1/metadata/Table.ts @@ -32,6 +32,9 @@ interface Table metadata?: Metadata; } +/** + * @deprecated use RTK Query endpoints and plain api objects from metabase-types/api + */ class Table { private readonly _plainObject: NormalizedTable;