
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
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
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
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.