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 };