1.0.7 • Published 5 years ago

firewebkit-functions v1.0.7

Weekly downloads
1
License
Apache-2.0
Repository
-
Last release
5 years ago

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 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 – use db.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 used first())

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 for append()
  • 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.