From a9cb838847804d0ac5103fcb041d9fe2807ee528 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Wed, 19 Jul 2023 10:16:12 +0200 Subject: [PATCH] Fetch viewV2 --- .../frontend-core/src/fetch/ViewV2Fetch.js | 33 +++++++++++++++++++ packages/frontend-core/src/fetch/fetchData.js | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 packages/frontend-core/src/fetch/ViewV2Fetch.js diff --git a/packages/frontend-core/src/fetch/ViewV2Fetch.js b/packages/frontend-core/src/fetch/ViewV2Fetch.js new file mode 100644 index 0000000000..356f94c8f0 --- /dev/null +++ b/packages/frontend-core/src/fetch/ViewV2Fetch.js @@ -0,0 +1,33 @@ +import DataFetch from "./DataFetch.js" + +export default class ViewV2Fetch extends DataFetch { + async getSchema(datasource, definition) { + return definition.schema + } + + async getDefinition(datasource) { + try { + const viewResponse = await this.API.viewV2.get(datasource.tableId) + const result = await this.API.fetchTableDefinition( + viewResponse.data.tableId + ) + return result + } catch (error) { + this.store.update(state => ({ + ...state, + error, + })) + return null + } + } + + async getData() { + const { datasource } = this.options + try { + const res = await this.API.viewV2.fetch(datasource.tableId) + return { rows: res?.rows || [] } + } catch (error) { + return { rows: [] } + } + } +} diff --git a/packages/frontend-core/src/fetch/fetchData.js b/packages/frontend-core/src/fetch/fetchData.js index c4968eabc0..063dd02cbf 100644 --- a/packages/frontend-core/src/fetch/fetchData.js +++ b/packages/frontend-core/src/fetch/fetchData.js @@ -1,5 +1,6 @@ import TableFetch from "./TableFetch.js" import ViewFetch from "./ViewFetch.js" +import ViewV2Fetch from "./ViewV2Fetch.js" import QueryFetch from "./QueryFetch.js" import RelationshipFetch from "./RelationshipFetch.js" import NestedProviderFetch from "./NestedProviderFetch.js" @@ -11,6 +12,7 @@ import GroupUserFetch from "./GroupUserFetch.js" const DataFetchMap = { table: TableFetch, view: ViewFetch, + viewV2: ViewV2Fetch, query: QueryFetch, link: RelationshipFetch, user: UserFetch,