UNPKG

@datamonsterr/vdt-dashboard

Version:
80 lines 1.95 kB
import type { UniqueIdentifier } from '@dnd-kit/core'; export declare enum SQLDataType { VARCHAR = "VARCHAR", CHAR = "CHAR", TEXT = "TEXT", INT = "INT", BIGINT = "BIGINT", SMALLINT = "SMALLINT", DECIMAL = "DECIMAL", FLOAT = "FLOAT", DOUBLE = "DOUBLE", BOOLEAN = "BOOLEAN", DATE = "DATE", DATETIME = "DATETIME", TIMESTAMP = "TIMESTAMP", TIME = "TIME", JSON = "JSON", BLOB = "BLOB" } export interface Column { id: UniqueIdentifier; name: string; dataType: SQLDataType; length?: number; nullable: boolean; primaryKey: boolean; autoIncrement: boolean; defaultValue?: string; description?: string; } export interface Table { id: UniqueIdentifier; name: string; columns: Column[]; position: { x: number; y: number; }; description?: string; } export interface ForeignKey { id: UniqueIdentifier; sourceTableId: UniqueIdentifier; sourceColumnId: UniqueIdentifier; targetTableId: UniqueIdentifier; targetColumnId: UniqueIdentifier; onDelete: 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION'; onUpdate: 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION'; } export interface DatabaseSchema { id: UniqueIdentifier; name: string; tables: Table[]; foreignKeys: ForeignKey[]; createdAt: Date; updatedAt: Date; } export declare enum ToolType { MOVE = "MOVE", HAND = "HAND", TABLE = "TABLE", EDIT = "EDIT", RELATIONSHIP = "CONNECTION" } export interface SchemaBuilderState { selectedTool: ToolType; selectedTableId: UniqueIdentifier | null; selectedColumnId: UniqueIdentifier | null; isConnecting: boolean; connectionStart: { tableId: UniqueIdentifier; columnId: UniqueIdentifier; } | null; canvasOffset: { x: number; y: number; }; isPanning: boolean; } //# sourceMappingURL=database.d.ts.map