in web/web/src/app/metalakes/metalake/MetalakeView.js [74:151]
async function fetchDependsData() {
if ([...searchParams.keys()].length) {
const { metalake, catalog, type, schema, table, fileset, topic, model, version } = routeParams
if (paramsSize === 1 && metalake) {
dispatch(fetchCatalogs({ init: true, page: 'metalakes', metalake }))
dispatch(getMetalakeDetails({ metalake }))
}
if (paramsSize === 3 && catalog) {
if (!store.catalogs.length) {
await dispatch(fetchCatalogs({ metalake }))
}
dispatch(fetchSchemas({ init: true, page: 'catalogs', metalake, catalog, type }))
dispatch(getCatalogDetails({ metalake, catalog, type }))
}
if (paramsSize === 4 && catalog && type && schema) {
if (!store.catalogs.length) {
await dispatch(fetchCatalogs({ metalake }))
await dispatch(fetchSchemas({ metalake, catalog, type }))
}
switch (type) {
case 'relational':
dispatch(fetchTables({ init: true, page: 'schemas', metalake, catalog, schema }))
break
case 'fileset':
dispatch(fetchFilesets({ init: true, page: 'schemas', metalake, catalog, schema }))
break
case 'messaging':
dispatch(fetchTopics({ init: true, page: 'schemas', metalake, catalog, schema }))
break
case 'model':
dispatch(fetchModels({ init: true, page: 'schemas', metalake, catalog, schema }))
break
default:
break
}
dispatch(getSchemaDetails({ metalake, catalog, schema }))
}
if (paramsSize === 5 && catalog && type && schema && (table || fileset || topic || model)) {
if (!store.catalogs.length) {
await dispatch(fetchCatalogs({ metalake }))
await dispatch(fetchSchemas({ metalake, catalog, type }))
}
switch (type) {
case 'relational':
await dispatch(fetchTables({ init: true, page: 'schemas', metalake, catalog, schema }))
await dispatch(getTableDetails({ init: true, metalake, catalog, schema, table }))
break
case 'fileset':
await dispatch(fetchFilesets({ init: true, page: 'schemas', metalake, catalog, schema }))
await dispatch(getFilesetDetails({ init: true, metalake, catalog, schema, fileset }))
break
case 'messaging':
await dispatch(fetchTopics({ init: true, page: 'schemas', metalake, catalog, schema }))
await dispatch(getTopicDetails({ init: true, metalake, catalog, schema, topic }))
break
case 'model':
await dispatch(fetchModels({ init: true, page: 'schemas', metalake, catalog, schema }))
await dispatch(fetchModelVersions({ init: true, metalake, catalog, schema, model }))
await dispatch(getModelDetails({ init: true, metalake, catalog, schema, model }))
break
default:
break
}
}
if (paramsSize === 6 && version) {
if (!store.catalogs.length) {
await dispatch(fetchCatalogs({ metalake }))
await dispatch(fetchSchemas({ metalake, catalog, type }))
await dispatch(fetchModels({ init: true, page: 'schemas', metalake, catalog, schema }))
}
dispatch(getVersionDetails({ init: true, metalake, catalog, schema, model, version }))
}
}
}