({
databaseList,
filterValueList,
includeColumn,
}: {
databaseList: Database[];
filterValueList?: string[];
includeColumn: boolean;
})
| 32 | } |
| 33 | |
| 34 | export const mapTreeOptions = ({ |
| 35 | databaseList, |
| 36 | filterValueList, |
| 37 | includeColumn, |
| 38 | }: { |
| 39 | databaseList: Database[]; |
| 40 | filterValueList?: string[]; |
| 41 | includeColumn: boolean; |
| 42 | }) => { |
| 43 | const databaseNodes: DatabaseTreeOption<"databases">[] = []; |
| 44 | const filteredDatabaseList = filterValueList |
| 45 | ? databaseList.filter((database) => |
| 46 | filterValueList.some( |
| 47 | (value) => value.split("/schemas/")[0] === database.name |
| 48 | ) |
| 49 | ) |
| 50 | : databaseList; |
| 51 | for (const database of filteredDatabaseList) { |
| 52 | const databaseNode: DatabaseTreeOption<"databases"> = { |
| 53 | level: "databases", |
| 54 | value: database.name, |
| 55 | label: extractDatabaseResourceName(database.name).databaseName, |
| 56 | isLeaf: false, |
| 57 | children: getSchemaOrTableTreeOptions({ |
| 58 | database, |
| 59 | filterValueList, |
| 60 | includeColumn, |
| 61 | }), |
| 62 | }; |
| 63 | if (!isUndefined(databaseNode.children)) { |
| 64 | databaseNode.isLeaf = databaseNode.children.length === 0; |
| 65 | } |
| 66 | |
| 67 | databaseNodes.push(databaseNode); |
| 68 | } |
| 69 | return databaseNodes; |
| 70 | }; |
| 71 | |
| 72 | const getTableTreeOptions = ({ |
| 73 | prefix, |
nothing calls this directly
no test coverage detected