Helper tool to use with Firewebkit Functions
• • •
• • •
npm i firewebkit-functions -S
yarn add firewebkit-functions
const { db } = require('firewebkit-functions');
const peopleTable = db('people');
peopleTable.filter({
age: { $gt: 21, $lt: 35 },
})
.sort({
age: 1
})
.query()
The list of functions available from this are:
-
filter(<filter obj>)
[mutable] - uses same object as mongodb -
projection(<projection obj>)
[mutable] - uses same object as mongodb -
sort(<filter obj>)
[mutable] - uses same object as mongodb -
aggregate(<arr>)
[mutable] - aggregate object same as mongodb -
count(<obj>)
[mutable] - uses same object as mongodb -
offset(<number>)
[mutable] -
limit(<number>)
[mutable] -
first()
[mutable] - returns first object (as object instead of array) -
path(<string>)
[mutable] - (string) Type of result from JSONPath -
pathType(<path options>
[mutable] – usedb.PATH_TYPE
enum-
original
- Get the original object/s -
parent
- Get parent of found object/s -
nodes
- Get matching nodes (for debugging) -
paths
- Get matching paths (for debugging)
-
-
reset()
[mutable] – resets the database table reference because of mutable functions -
query()
– queries the table with selected filter and other options. Returns array (or object if you usedfirst()
)
If you would need to use this table reference to update the data table, you will
need to provide token
(that you can obtain from Security/Tokens page)
const peopleTable = db('people', {
token: ACCESS_TOKEN,
})
-
remove(<obj/arr>)
– removes item/items from the data table. All items must contain_id
. -
update(<obj/arr>)
– updates specified items. All items must contain_id
. -
append(<obj/arr>)
– appends new items, If_id
is specified for an item, it updates that item. -
appendOrUpdate(<obj/arr>)
– alias forappend()
-
set(<obj>)
– sets object-based data table to new values.
If you want to update a single field for a record
update(<obj/arr>, { updateAvailableFieldsOnly: true })
set(<obj>, { updateAvailableFieldsOnly: true })
NOTE: Setting updateAvailableFieldsOnly
option will skip the form validation
setupDev(app, [
{
path: '/api/*',
rewrites: {
'^/api/': '/',
},
logLevel: 'debug',
rewritePostBody: false,
},
])
runDev(module.exports) // where module.exports is the main exported function
Run non-express function in dev (e.g, schedule)
Copyright (c) 2020-present Amrayn Web Services
https://firewebkit.com
https://amrayn.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.