budibase/packages/client/src/api/tables.js

37 lines
1009 B
JavaScript
Raw Normal View History

import API from "./api"
import { enrichRows } from "./rows"
/**
* Fetches a table definition.
* Since definitions cannot change at runtime, the result is cached.
*/
export const fetchTableDefinition = async tableId => {
return await API.get({ url: `/api/tables/${tableId}`, cache: true })
}
/**
* Fetches all rows from a table.
*/
export const fetchTableData = async tableId => {
const rows = await API.get({ url: `/api/${tableId}/rows` })
return await enrichRows(rows, tableId)
}
2021-02-01 22:02:54 +01:00
/**
* Perform a mango query against an internal table
* @param {String} tableId - id of the table to search
* @param {Object} search - Mango Compliant search object
* @param {Object} pagination - the pagination controls
2021-02-01 22:02:54 +01:00
*/
export const searchTableData = async ({ tableId, search, pagination }) => {
const output = await API.post({
2021-02-01 22:02:54 +01:00
url: `/api/${tableId}/rows/search`,
body: {
query: search,
pagination,
2021-02-01 22:02:54 +01:00
},
})
output.rows = await enrichRows(output.rows, tableId)
return output
2021-02-01 22:02:54 +01:00
}