firewebkit-functions
v1.0.7
Published
Helper tool to use with Firewebkit Functions
Downloads
13
Readme
Installation
npm i firewebkit-functions -S
yarn add firewebkit-functions
Usage
const { db } = require('firewebkit-functions');
Available Functions
db(table, opts)
const peopleTable = db('people');
peopleTable.filter({
age: { $gt: 21, $lt: 35 },
})
.sort({
age: 1
})
.query()
Query/Filter
The list of functions available from this are:
filter(<filter obj>)
[mutable] - uses same object as mongodbprojection(<projection obj>)
[mutable] - uses same object as mongodbsort(<filter obj>)
[mutable] - uses same object as mongodbaggregate(<arr>)
[mutable] - aggregate object same as mongodbcount(<obj>)
[mutable] - uses same object as mongodboffset(<number>)
[mutable]limit(<number>)
[mutable]first()
[mutable] - returns first object (as object instead of array)path(<string>)
[mutable] - (string) Type of result from JSONPathpathType(<path options>
[mutable] – usedb.PATH_TYPE
enumoriginal
- Get the original object/sparent
- Get parent of found object/snodes
- Get matching nodes (for debugging)paths
- Get matching paths (for debugging)
reset()
[mutable] – resets the database table reference because of mutable functionsquery()
– queries the table with selected filter and other options. Returns array (or object if you usedfirst()
)
Mutate Data Table
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
snooze(ms)
setupDev(app, routes)
setupDev(app, [
{
path: '/api/*',
rewrites: {
'^/api/': '/',
},
logLevel: 'debug',
rewritePostBody: false,
},
])
runDev()
runDev(module.exports) // where module.exports is the main exported function
Run non-express function in dev (e.g, schedule)
License
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.