mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-12 03:07:05 +00:00

* Releases updated version of datahub-web client UI code * Fix typo in yarn lock * Change yarn lock to match yarn registry directories * Previous commit missed some paths * Even more changes to yarnlock missing in previous commit * Include codegen file for typings * Add files to get parity for datahub-web and current OS datahub-midtier * Add in typo fix from previous commit - change to proper license * Implement proper OS fix for person entity picture url * Workarounds for open source DH issues * Fixes institutional memory api and removes unopensourced tabs for datasets * Fixes search dataset deprecation and user search issue as a result of changes * Remove internal only options in the avatar menu
35 lines
943 B
TypeScript
35 lines
943 B
TypeScript
import { IDatasetSchema, IDatasetSchemaGetResponse } from 'datahub-web/typings/api/datasets/schema';
|
|
import { getJSON } from '@datahub/utils/api/fetcher';
|
|
import { datasetUrlByUrn } from '@datahub/data-models/api/dataset/dataset';
|
|
|
|
/**
|
|
* Returns the url for a dataset schema by urn
|
|
* @param {string} urn
|
|
* @return {string}
|
|
*/
|
|
const datasetSchemaUrlByUrn = (urn: string): string => `${datasetUrlByUrn(urn)}/schema`;
|
|
|
|
/**
|
|
* Reads the schema for a dataset with the related urn
|
|
* @param {string} urn
|
|
* @return {Promise<IDatasetSchema>}
|
|
*/
|
|
const readDatasetSchemaByUrn = async (urn: string): Promise<IDatasetSchema> => {
|
|
let schema: IDatasetSchema;
|
|
|
|
try {
|
|
({ schema } = await getJSON<IDatasetSchemaGetResponse>({ url: datasetSchemaUrlByUrn(urn) }));
|
|
} catch {
|
|
return {
|
|
schemaless: false,
|
|
rawSchema: null,
|
|
keySchema: null,
|
|
columns: []
|
|
};
|
|
}
|
|
|
|
return schema;
|
|
};
|
|
|
|
export { readDatasetSchemaByUrn };
|