Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
baucis-gform
Advanced tools
#baucis-gform
Use baucis-gform and gform-admin to quickly create a data administration ui for your mongoose managed data.
##Examples
see here.
##Installation
Configure Gform:
// configure gform schema generator
var Gform = require('baucis-gform');
var TabGroupCreator = require('mongoose-schema/groupcreator/TabGroupCreator');
var creator = new TabGroupCreator();
var gform = new Gform({basePath:"/api", groupCreator: creator});
Create your models and add baucis rest routes
// Create a mongoose schema.
var Vegetable = new mongoose.Schema({ name: String });
// Register new models with mongoose.
mongoose.model('vegetable', Vegetable);
// Create a simple controller. By default these HTTP methods
// are activated: HEAD, GET, POST, PUT, DELETE
baucis.rest('vegetable');
// Create the app and listen for API requests
var app = express();
app.use('/api', baucis());
Now add the gform routes and start express
gform.start(app);
app.listen(80);
The following urls are available now:
model data via baucis: /localhost:80/api/vegetable
general meta data: /localhost:80/api/gform
vegetable gform schema: /localhost:80/api/gform/vegetable
##Customization
gform provides a lot of ways to customize the ui. You can do this in the client or on the server. Have a look at all the features [here] (http://www.toobop.net).
Add meta data to a gform property on the schema's path options.
var blogpost = Schema({
text: String,
title: { type: String, label:"my wonderful text"},
}})
// add additional gform information to the text property.
blogpost.paths.text.options.gform = {
groupCode: "text",
label: "The blog entry",
description: "this should be really interesting stuff.",
editor: "textarea"
};
The following properties are supported(see details):
Define groups on the schema level. Add a property gform to the schema object's options. the property contains a property group which defines the group and possible subgroups. Here is an example for a tab:
var group = {
editor: "tab",
groups: [
{code: "general", label: "General"},
{code: "text", label: "Text"}
]
}
var blogpost = Schema({
text: String, // will be assigned to general group
title: { type: String, groupCode:"text"}, // assigned to text group
}, {gform: {group: group}})
To find a referenced model the gform client uses an autocomplete input element.
The search is based on a single field which by default is either name
or label
if they exist.
To set a different field use the configuration property labelAttribute
on the schema level
var user = Schema({
firstname: String, // the field to search when looking for referenced Users
age: Integer
}, {gform: {labelAttribute: "firstname"}})
FAQs
Extension for baucis to provide mongoose schema data via rest services
The npm package baucis-gform receives a total of 6 weekly downloads. As such, baucis-gform popularity was classified as not popular.
We found that baucis-gform demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.