forked from tsai/budibase
1 changed files with 39 additions and 40 deletions
@ -1,47 +1,46 @@ |
|||||
import api from "../../builderStore/api"; |
import api from "../../builderStore/api" |
||||
import { getNewRecord, getNewInstance } from "../../common/core" |
import { getNewRecord, getNewInstance } from "../../common/core" |
||||
|
|
||||
export async function createDatabase(appname, instanceName) { |
export async function createDatabase(appname, instanceName) { |
||||
const CREATE_DATABASE_URL = `/_builder/instance/_master/0/api/record/` |
const CREATE_DATABASE_URL = `/_builder/instance/_master/0/api/record/` |
||||
const database = getNewInstance(appname, instanceName); |
const database = getNewInstance(appname, instanceName) |
||||
const response = await api.post(CREATE_DATABASE_URL, database); |
const response = await api.post(CREATE_DATABASE_URL, database) |
||||
return await response.json() |
return await response.json() |
||||
|
} |
||||
|
|
||||
|
export async function deleteRecord(record, { appname, instanceId }) { |
||||
|
const DELETE_RECORDS_URL = `/_builder/instance/${appname}/${instanceId}/api/record${record.key}` |
||||
|
const response = await api.delete(DELETE_RECORDS_URL) |
||||
|
return response |
||||
|
} |
||||
|
|
||||
|
export async function saveRecord(record, { appname, instanceId }) { |
||||
|
let recordBase = { ...record } |
||||
|
|
||||
|
// brand new record
|
||||
|
if (record.collectionName) { |
||||
|
const collectionKey = `/${record.collectionName}` |
||||
|
recordBase = getNewRecord(recordBase, collectionKey) |
||||
|
recordBase = overwritePresentProperties(recordBase, record) |
||||
} |
} |
||||
|
|
||||
export async function deleteRecord(record, { appname, instanceId }) { |
const SAVE_RECORDS_URL = `/_builder/instance/${appname}/${instanceId}/api/record/` |
||||
const DELETE_RECORDS_URL = `/_builder/instance/${appname}/${instanceId}/api/record${record.key}` |
const response = await api.post(SAVE_RECORDS_URL, recordBase) |
||||
const response = await api.delete(DELETE_RECORDS_URL); |
return await response.json() |
||||
return response; |
} |
||||
} |
|
||||
|
|
||||
export async function saveRecord(record, { appname, instanceId }) { |
|
||||
let recordBase = { ...record } |
|
||||
|
|
||||
// brand new record
|
|
||||
if (record.collectionName) { |
|
||||
const collectionKey = `/${record.collectionName}` |
|
||||
recordBase = getNewRecord(recordBase, collectionKey) |
|
||||
recordBase = overwritePresentProperties(recordBase, record) |
|
||||
} |
|
||||
|
|
||||
const SAVE_RECORDS_URL = `/_builder/instance/${appname}/${instanceId}/api/record/` |
export async function fetchDataForView(viewName, { appname, instanceId }) { |
||||
const response = await api.post(SAVE_RECORDS_URL, recordBase) |
const FETCH_RECORDS_URL = `/_builder/instance/${appname}/${instanceId}/api/listRecords/${viewName}` |
||||
return await response.json() |
|
||||
} |
|
||||
|
|
||||
export async function fetchDataForView(viewName, { appname, instanceId }) { |
const response = await api.get(FETCH_RECORDS_URL) |
||||
const FETCH_RECORDS_URL = `/_builder/instance/${appname}/${instanceId}/api/listRecords/${viewName}`; |
return await response.json() |
||||
|
} |
||||
|
|
||||
const response = await api.get(FETCH_RECORDS_URL); |
function overwritePresentProperties(baseObj, overwrites) { |
||||
return await response.json(); |
const base = { ...baseObj } |
||||
|
|
||||
|
for (let key in base) { |
||||
|
if (overwrites[key]) base[key] = overwrites[key] |
||||
} |
} |
||||
|
return base |
||||
function overwritePresentProperties(baseObj, overwrites) { |
} |
||||
const base = { ...baseObj } |
|
||||
|
|
||||
for (let key in base) { |
|
||||
if (overwrites[key]) base[key] = overwrites[key] |
|
||||
} |
|
||||
return base; |
|
||||
} |
|
||||
|
|||||
Loading…
Reference in new issue