Fetch viewV2

This commit is contained in:
Adria Navarro 2023-07-19 10:16:12 +02:00
parent 37aed2d171
commit a9cb838847
2 changed files with 35 additions and 0 deletions

View File

@ -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: [] }
}
}
}

View File

@ -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,