client/app/services/databricks-data-source.js (15 lines of code) (raw):

import { has } from "lodash"; import { axios } from "@/services/axios"; import DataSource from "@/services/data-source"; import { fetchDataFromJob } from "@/services/query-result"; export default { ...DataSource, getDatabases: ({ id }) => axios .get(`api/databricks/databases/${id}`) .then(data => (has(data, "job.id") ? fetchDataFromJob(data.job.id, 300).catch(() => []) : Promise.resolve([]))), getDatabaseTables: (data, databaseName) => axios .get(`api/databricks/databases/${data.id}/${databaseName}/tables`) .then(data => (has(data, "job.id") ? fetchDataFromJob(data.job.id, 300).catch(() => []) : Promise.resolve([]))), };