Skip to content
Snippets Groups Projects
Unverified Commit 42ff35d5 authored by Alexander Polyankin's avatar Alexander Polyankin Committed by GitHub
Browse files

Add basic types for api and store (#19552)

parent c86eecb3
No related branches found
No related tags found
No related merge requests found
Showing
with 108 additions and 21 deletions
export interface Database {
id: number;
is_sample: boolean;
}
export interface DatabaseCandidate {
id: string;
schema: string;
tables: TableCandidate[];
}
......
export interface Collection {
id: number;
}
export interface Dashboard {
id: number;
name: string;
model?: string;
}
......@@ -3,16 +3,8 @@ export type InitialSyncStatus = "incomplete" | "complete" | "aborted";
export interface Database {
id: number;
name: string;
engine: string;
is_sample: boolean;
creator_id?: number;
initial_sync_status: InitialSyncStatus;
}
export const createDatabase = (opts?: Partial<Database>): Database => ({
id: 1,
name: "Database",
is_sample: false,
creator_id: undefined,
initial_sync_status: "complete",
...opts,
});
export * from "./automagic-dashboards";
export * from "./collection";
export * from "./dashboard";
export * from "./database";
export * from "./user";
import { DatabaseCandidate, TableCandidate } from "metabase-types/api";
export const createMockDatabaseCandidate = (
opts?: Partial<DatabaseCandidate>,
): DatabaseCandidate => ({
id: "1/public",
schema: "public",
tables: [],
...opts,
});
export const createMockTableCandidate = (
opts?: Partial<TableCandidate>,
): TableCandidate => ({
title: "Sample table",
url: "/auto/1",
...opts,
});
import { Collection } from "metabase-types/api";
export const createMockCollection = (
opts?: Partial<Collection>,
): Collection => ({
id: 1,
...opts,
});
import { Dashboard } from "metabase-types/api";
export const createMockDashboard = (opts?: Partial<Dashboard>): Dashboard => ({
id: 1,
name: "Dashboard",
...opts,
});
import { Database } from "metabase-types/api";
export const createMockDatabase = (opts?: Partial<Database>): Database => ({
id: 1,
name: "Database",
engine: "H2",
is_sample: false,
creator_id: undefined,
initial_sync_status: "complete",
...opts,
});
export * from "./automagic-dashboards";
export * from "./collection";
export * from "./dashboard";
export * from "./database";
export * from "./user";
import { User } from "metabase-types/api";
export const createMockUser = (opts?: Partial<User>): User => ({
id: 1,
first_name: "Testy",
is_superuser: false,
has_invited_second_user: false,
personal_collection_id: 1,
...opts,
});
export interface User {
id: number;
first_name: string;
is_superuser: boolean;
has_invited_second_user: boolean;
personal_collection_id: number;
}
export const createUser = (opts?: Partial<User>): User => ({
id: 1,
...opts,
});
export * from "./settings";
export * from "./state";
export * from "./settings";
export * from "./state";
import { SettingsState } from "metabase-types/store";
export const createMockSettingsState = (
opts?: Partial<SettingsState>,
): SettingsState => ({
values: {},
...opts,
});
import { State } from "metabase-types/store";
import { createMockSettingsState } from "metabase-types/store/mocks";
export const createMockState = (opts?: Partial<State>): State => ({
settings: createMockSettingsState(),
...opts,
});
export interface SettingsState {
values: Record<string, unknown>;
}
import { SettingsState } from "./settings";
export interface State {
settings: SettingsState;
}
......@@ -5,7 +5,7 @@ import Settings from "metabase/lib/settings";
import Databases from "metabase/entities/databases";
import DatabaseCandidates from "metabase/entities/database-candidates";
import SyncingModal from "metabase/components/SyncingModal";
import { Database, DatabaseCandidate } from "./types";
import { Database, DatabaseCandidate } from "metabase-types/api";
interface DatabaseProps {
databases: Database[];
......
import { trackStructEvent } from "metabase/lib/analytics";
import { Database, Dashboard } from "./types";
import { Database, Dashboard } from "metabase-types/api";
export const trackCollectionClick = () => {
trackStructEvent("Homepage", "Browse Items Clicked");
......
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