Improve typing
This commit is contained in:
parent
265b22f2b8
commit
0112087af1
|
@ -1,6 +1,6 @@
|
||||||
import DataFetch from "./DataFetch"
|
import DataFetch from "./DataFetch"
|
||||||
import { Helpers } from "@budibase/bbui"
|
import { Helpers } from "@budibase/bbui"
|
||||||
import { Query } from "@budibase/types"
|
import { ExecuteQueryRequest, Query } from "@budibase/types"
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
|
|
||||||
interface QueryDatasource {
|
interface QueryDatasource {
|
||||||
|
@ -12,7 +12,7 @@ interface QueryDatasource {
|
||||||
pageParam: string
|
pageParam: string
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
queryParams: Record<string, string>
|
queryParams?: Record<string, string>
|
||||||
parameters: { name: string; default: string }[]
|
parameters: { name: string; default: string }[]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ export default class QueryFetch extends DataFetch<QueryDatasource, Query> {
|
||||||
const type = definition?.fields?.pagination?.type
|
const type = definition?.fields?.pagination?.type
|
||||||
|
|
||||||
// Set the default query params
|
// Set the default query params
|
||||||
const parameters = Helpers.cloneDeep(datasource.queryParams)
|
const parameters = Helpers.cloneDeep(datasource.queryParams || {})
|
||||||
for (const param of datasource?.parameters || []) {
|
for (const param of datasource?.parameters || []) {
|
||||||
if (!parameters[param.name]) {
|
if (!parameters[param.name]) {
|
||||||
parameters[param.name] = param.default
|
parameters[param.name] = param.default
|
||||||
|
@ -63,13 +63,7 @@ export default class QueryFetch extends DataFetch<QueryDatasource, Query> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add pagination to query if supported
|
// Add pagination to query if supported
|
||||||
const queryPayload: {
|
const queryPayload: ExecuteQueryRequest = { parameters }
|
||||||
parameters: any
|
|
||||||
pagination?: {
|
|
||||||
page: number | null
|
|
||||||
limit: number
|
|
||||||
}
|
|
||||||
} = { parameters }
|
|
||||||
if (paginate && supportsPagination) {
|
if (paginate && supportsPagination) {
|
||||||
const requestCursor = type === "page" ? parseInt(cursor || "1") : cursor
|
const requestCursor = type === "page" ? parseInt(cursor || "1") : cursor
|
||||||
queryPayload.pagination = { page: requestCursor, limit }
|
queryPayload.pagination = { page: requestCursor, limit }
|
||||||
|
|
Loading…
Reference in New Issue