mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-24 23:57:49 +00:00
29 lines
738 B
TypeScript
29 lines
738 B
TypeScript
import type { QueryTab, ColumnInfo } from "@/types/database";
|
|
|
|
export type DataTabTableMeta = NonNullable<QueryTab["tableMeta"]>;
|
|
|
|
function fallbackColumnInfo(name: string): ColumnInfo {
|
|
return {
|
|
name,
|
|
data_type: "",
|
|
is_nullable: true,
|
|
column_default: null,
|
|
is_primary_key: false,
|
|
extra: null,
|
|
};
|
|
}
|
|
|
|
export function tableMetaForDataTab(tab: QueryTab | undefined): DataTabTableMeta | undefined {
|
|
if (!tab || tab.mode !== "data") return undefined;
|
|
if (tab.tableMeta) return tab.tableMeta;
|
|
const tableName = tab.title.trim();
|
|
if (!tableName) return undefined;
|
|
|
|
return {
|
|
schema: tab.schema,
|
|
tableName,
|
|
columns: (tab.result?.columns ?? []).map(fallbackColumnInfo),
|
|
primaryKeys: [],
|
|
};
|
|
}
|