UNPKG

@finos/legend-studio

Version:
76 lines 3.71 kB
/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { TreeData, TreeNodeData } from '@finos/legend-art'; import { type GeneratorFn } from '@finos/legend-shared'; import type { EditorStore } from '../../../EditorStore.js'; import { type RelationalDatabaseConnection, type Schema, type Table, Column, Database } from '@finos/legend-graph'; export declare abstract class DatabaseBuilderTreeNodeData implements TreeNodeData { isOpen?: boolean | undefined; id: string; label: string; parentId?: string | undefined; childrenIds?: string[] | undefined; isChecked: boolean; constructor(id: string, label: string, parentId: string | undefined); } export declare class SchemaDatabaseBuilderTreeNodeData extends DatabaseBuilderTreeNodeData { schema: Schema; constructor(id: string, parentId: string | undefined, schema: Schema); } export declare class TableDatabaseBuilderTreeNodeData extends DatabaseBuilderTreeNodeData { table: Table; constructor(id: string, parentId: string | undefined, table: Table); } export declare class ColumnDatabaseBuilderTreeNodeData extends DatabaseBuilderTreeNodeData { column: Column; constructor(id: string, parentId: string | undefined, column: Column); } export interface DatabaseBuilderTreeData extends TreeData<DatabaseBuilderTreeNodeData> { database: Database; } export declare class DatabaseBuilderState { editorStore: EditorStore; connection: RelationalDatabaseConnection; showModal: boolean; databaseGrammarCode: string; isBuildingDatabase: boolean; isSavingDatabase: boolean; targetDatabasePath: string; treeData?: DatabaseBuilderTreeData | undefined; constructor(editorStore: EditorStore, connection: RelationalDatabaseConnection); setShowModal(val: boolean): void; setTreeData(builderTreeData?: DatabaseBuilderTreeData): void; setDatabaseGrammarCode(val: string): void; setTargetDatabasePath(val: string): void; onNodeSelect(node: DatabaseBuilderTreeNodeData, treeData: DatabaseBuilderTreeData): GeneratorFn<void>; getChildNodes(node: DatabaseBuilderTreeNodeData, treeData: DatabaseBuilderTreeData): DatabaseBuilderTreeNodeData[] | undefined; toggleCheckedNode(node: DatabaseBuilderTreeNodeData, treeData: DatabaseBuilderTreeData): void; private buildNonEnrichedDbBuilderInput; fetchSchemaDefinitions(): GeneratorFn<void>; fetchSchemaMetadata(schemaNode: SchemaDatabaseBuilderTreeNodeData, treeData: DatabaseBuilderTreeData): GeneratorFn<void>; fetchTableMetadata(tableNode: TableDatabaseBuilderTreeNodeData, treeData: DatabaseBuilderTreeData): GeneratorFn<void>; private addColumnsNodeToTableNode; private removeChildren; private getDatabasePackageAndName; buildDatabaseWithTreeData(): GeneratorFn<void>; private getSchemasFromTreeNode; private buildDatabaseGrammar; private buildDatabaseFromInput; createOrUpdateDatabase(): GeneratorFn<void>; updateDatabase(current: Database, generatedDb: Database, allSchemas: Schema[]): void; get currentDatabase(): Database | undefined; } //# sourceMappingURL=DatabaseBuilderState.d.ts.map