mirror of
https://github.com/dadosfera/maestro.git
synced 2026-10-08 12:19:08 +00:00
263 lines
6.6 KiB
TypeScript
263 lines
6.6 KiB
TypeScript
import axios from 'axios';
|
|
|
|
class CatalogService {
|
|
_getNimbusUrl(body) {
|
|
const customer = body.info.customer.toLowerCase();
|
|
|
|
if (process.env.ENV === 'prd') {
|
|
return `https://nimbus-${customer}.dadosfera.ai`;
|
|
}
|
|
|
|
return `https://nimbus-${customer}.${process.env.ENV}.dadosfera.ai`;
|
|
}
|
|
|
|
async catalogAll(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/all/`);
|
|
|
|
return data;
|
|
}
|
|
|
|
async dataAppsAll(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/data_apps/`);
|
|
return data;
|
|
}
|
|
|
|
async dataAppsOne(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/data_apps/${id}/`,
|
|
);
|
|
|
|
return data;
|
|
}
|
|
|
|
async getAllDashboardMetabase(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/dashboard-metabase/`,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getOneDashboardMetabase(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/dashboard-metabase/${id}`,
|
|
);
|
|
|
|
// const [, path] = data.iframe_url.split('.dadosfera');
|
|
// const host = `httpss://metabase-${body.info.customer.toLowerCase()}.dadosfera.ai`;
|
|
// data.iframe_url = host + path;
|
|
|
|
return data;
|
|
}
|
|
|
|
async getAllTableMetadata(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/table-metadata/`,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getOneTableMetadata(body, params) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/table-metadata/`,
|
|
{ params: params },
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async deleteOneTableMetadata(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.delete(
|
|
`${nimbusUrl}/api/catalog/table-metadata/${id}`,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getOneColumnMetadata(body, params) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/column-metadata/`,
|
|
{ params: params },
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async deleteOneColumnMetadata(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.delete(
|
|
`${nimbusUrl}/api/catalog/column-metadata/${id}/`,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getOneDataPreview(body, params) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-preview/`, {
|
|
params: params,
|
|
});
|
|
return data;
|
|
}
|
|
|
|
async getDataStatus(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-status/`);
|
|
return data;
|
|
}
|
|
|
|
async createDataStatus(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.post(
|
|
`${nimbusUrl}/api/catalog/data-status/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getDataDescription(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/data-description/`,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async createDataDescription(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.post(
|
|
`${nimbusUrl}/api/catalog/data-description/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getDataDocs(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-docs/`);
|
|
return data;
|
|
}
|
|
|
|
async createDataDocs(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.post(
|
|
`${nimbusUrl}/api/catalog/data-docs/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getDataRating(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-rating/`);
|
|
return data;
|
|
}
|
|
|
|
async createDataRating(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.post(
|
|
`${nimbusUrl}/api/catalog/data-rating/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getSummaryRating(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/summary-rating/${id}`,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getDataComment(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-comment/`);
|
|
return data;
|
|
}
|
|
|
|
async createDataComment(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.post(
|
|
`${nimbusUrl}/api/catalog/data-comment/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getDataReview(body, params) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-review/`, {
|
|
params: params,
|
|
});
|
|
return data;
|
|
}
|
|
|
|
async createTags(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.post(`${nimbusUrl}/api/catalog/tags/`, body);
|
|
return data;
|
|
}
|
|
|
|
async findAllTags(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(`${nimbusUrl}/api/catalog/tags/`, body);
|
|
return data;
|
|
}
|
|
|
|
async findAllTableTags(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/table-tags/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async deleteTags(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.delete(`${nimbusUrl}/api/catalog/tags/${id}`);
|
|
return data;
|
|
}
|
|
|
|
async createTableTags(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.post(
|
|
`${nimbusUrl}/api/catalog/table-tags/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async deleteTableTags(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.delete(
|
|
`${nimbusUrl}/api/catalog/table-tags/${id}`,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async getTableRules(body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.get(
|
|
`${nimbusUrl}/api/catalog/table-rules/`,
|
|
body,
|
|
);
|
|
return data;
|
|
}
|
|
|
|
async deleteTableRules(id, body) {
|
|
const nimbusUrl = this._getNimbusUrl(body);
|
|
const { data } = await axios.delete(
|
|
`${nimbusUrl}/api/catalog/table-rules/${id}`,
|
|
);
|
|
return data;
|
|
}
|
|
}
|
|
|
|
export { CatalogService };
|