UNPKG

backendless-console-sdk

Version:

Backendless Console SDK for Node.js and browser

75 lines (56 loc) 2.38 kB
import urls, { dataViews, dataTable, dataTableGroup, dataTableGroupCount } from './urls' import { viewRecordsReq, viewRecordsCountReq, viewRecordsGroupReq, viewRecordsGroupCountReq } from './utils/views' import totalRows from './utils/total-rows' import { composeRequestParams } from './utils/table' const dataTableFindUrl = (appId, tableName) => `${dataTable(appId, tableName)}/find` export const recordsReq = (req, appId, view, query = {}, resetCache) => { return viewRecordsReq(req, dataTableFindUrl(appId, view.name), view, query, resetCache) } export const recordsCountReq = (req, appId, view, query = {}, resetCache) => { return viewRecordsCountReq(req, dataTable(appId, view.name), view, query, resetCache) } export const groupRecordsReq = (req, appId, view, query = {}) => { return viewRecordsGroupReq(req, dataTableGroup(appId, view.name), view.viewId, query) } export const groupRecordsCountReq = (req, appId, view, query = {}) => { return viewRecordsGroupCountReq(req, dataTableGroupCount(appId, view.name), query) } export default req => ({ getViews(appId) { return req.get(dataViews(appId)) }, getViewRecords(appId, viewName) { return req.get(`${dataViews(appId)}/${viewName}`) }, createView(appId, view) { return req.post(dataViews(appId), view) }, updateView(appId, view) { return req.put(dataViews(appId, view.viewId), view) }, renameView(appId, viewId, name) { return req.put(`${dataViews(appId, viewId)}/name`, { name }) }, deleteView(appId, viewId) { return req.delete(dataViews(appId, viewId)) }, loadRecords(appId, view, query) { return recordsReq(req, appId, view, query) }, getRecordsCount(appId, view, query, resetCache) { return totalRows(req).getViaPostFor(recordsCountReq(req, appId, view, query, resetCache)) }, getRecordsCounts(appId, views, resetCache) { return req.post(`${urls.data(appId)}/tables-counters`, { tables: views, resetCache }) }, loadGroupRecords(appId, view, query) { return groupRecordsReq(req, appId, view, query) }, getGroupRecordsCount(appId, view, query) { return groupRecordsCountReq(req, appId, view, query) }, loadSampleRecords(appId, table, query = {}) { const params = composeRequestParams(table, query) return req.post(`${urls.data(appId)}/table-pre-view/${encodeURI(table.name)}/find`, params) } })