vs-qb-helper
v1.2.2
Published
qbHelper is a Javascript library that simplifies interaction with the [Quickbase JSON API](https://developer.quickbase.com/)
Downloads
17
Readme
vs-qb-helper
qbHelper is a Javascript library that simplifies interaction with the Quickbase JSON API. When installed via browser, qbHelper also supports these select XML API methods: GetUserInfo and GetUserRole.
Installation
NPM
Use npm to install vs-qb-helper
npm install vs-qb-helperBrowser
<script src="https://veilsun.s3.amazonaws.com/common/qbHelper_v1.2.0.js"></script>Deployment
1. Bump the version
update the version in package.json and in above installation instructions for browser
2. Build bundles
npm run buildThis produces:
dist/quickbase.npm.js— NPM bundledist/quickbase.browser.js— Browser bundle
3. Publish to NPM
npm publish4. Upload browser bundle to Veilsun S3
Upload dist/quickbase.browser.js to S3, versioning the filename to match the current package version. S3 location => veilsun/common/qbHelper_v${VERSION}.js
Usage
Initialization of vs-qb-helper
const Quickbase = require("vs-qb-helper");
const qb = new Quickbase({
realm: "xxxxxx.quickbase.com", // Required
userToken: "",
requestDelay: 10, // Optional: Default is 10
retryLimit: 3, // Optional: Default is 3
requestFailed: (err, request) => { // Optional
console.log("err: ", err)
console.log("request: ", JSON.parse(request.options.body))
}
});Quickbase Documentation: runQuery
await qb.runQuery({
tableId: 'xxxxxxxxx',
where: "{'3'.GT.'0'}",
select: [ 3, 6, 7 ],
sortBy: [{
fieldId: 3,
order: 'ASC'
}],
groupBy: [{
fieldId: 6,
by: 'same-value'
}],
options: {
skip: 200,
top: 100
}
});Quick Base Documentation: upsert
await qb.upsertRecords({
data: [{
"6": {
value: 'Record 1 Field 6'
},
"7": {
value: 'Record 1 Field 7'
}
}, {
"6": {
value: 'Record 2 Field 6'
}
"7": {
value: 'Record 2 Field 7'
}
}],
mergeFieldId: 6,
fieldsToReturn: [ 6, 7 ]
});Quick Base Documentation: getAppTables
await qb.getAppTables({
appId: 'xxxxxxxxx'
});Quick Base Documentation: deleteRecords
await qb.deleteRecords({
tableId: 'xxxxxxxxx',
where: "{'3'.GT.'0'}"
});Quick Base Documentation: runReport
await qb.runReport({
tableId: 'xxxxxxxxx',
reportId: 1,
options: {
skip: 200,
top: 100
}
});Quick Base Documentation: getReport
await qb.getReport({
tableId: 'xxxxxxxxx',
reportId: 1
});Quick Base Documentation: getFields
await qb.getFields({
tableId: 'xxxxxxxxx',
});Quick Base Documentation: downloadFile
await qb.downloadFile({
tableId: "xxxxxxxxx",
recordId: x,
fieldId: x,
version: x
});Quick Base Documentation: deleteFile
await qb.deleteFile({
tableId: "xxxxxxxxx",
recordId: x,
fieldId: x,
version: x
});
Quick Base Documentation: getApp
await qb.getApp({
tableId: "xxxxxxxxx"
});Quick Base Documentation: API_GetUserInfo
await qb.getUserInfo({
userEmail: 'xxxxxxxxx', // Optional - Will return the current user if not provided
});Quick Base Documentation: API_GetUserInfo
await qb.getUserRole({
appId: 'xxxxxxxxx', // Required
userId: 'xxxxxxxxx', // Optional - Will return the current user if not provided
});Quick Base Documentation: Get an App
await qb.getApp({
appId: 'xxxxxxxxx',
});