data-proxy
Data communication with a backend
Last updated 8 years ago by enyo .
Repository · Original npm · Tarball · package.json
$ cnpm install data-proxy 
SYNC missed versions from official npm registry.

Data proxy Version 0.0.3

This proxy is still in development and unsafe to use.
As soon as the version is bumped to 0.1.x it will be usable but still in beta.

The data proxy is a node module that has pretty complex schema/model definition capabilities to automatically receive and transmit data in a formatted and validated form.

I wrote this so you can easily submit data sent from an untrusted browser form to a backend that receives trusted JSON.

It helps validate that all defined properties are set and the right type, and formats the JSON correctly.

Define your schema

The first part to do is define your schema.
A schema definition could look something like this:

// /models/user.js

var Schema = require('data-proxy').Schema;

var UserSchema = new Schema({
    id: Number
  , username_: String // The trailing _ means that it is required
  , password: String
  , $trusted: Boolean // The $ prefix means that this variable is private and should never be sent to the user
  , memberSince: Date
  , address: {
        street: String
      , city: String
      , countryId: Number
    }
  , friendIds: [Number]
  , favoriteFoods: [{
        name: String
      , recipe: {
          difficulty: Number
        , instructions: String
      }
    }]
});

// Export the User model
module.exports = UserSchema.model('User');

And to validate and handle that model:

// Somewhere inside your app:
var User = require("./models/user");

// This call automatically validates the object.
var user = new User({ username: "sexy82", address: { street: "Downtownstreet 37" } });

Current Tags

  • 0.5.5                                ...           latest (8 years ago)

17 Versions

  • 0.5.5                                ...           8 years ago
  • 0.5.4                                ...           8 years ago
  • 0.5.4-dev                                ...           8 years ago
  • 0.5.2                                ...           8 years ago
  • 0.5.1                                ...           8 years ago
  • 0.5.0                                ...           8 years ago
  • 0.4.6                                ...           8 years ago
  • 0.4.5                                ...           8 years ago
  • 0.4.4                                ...           8 years ago
  • 0.4.3                                ...           8 years ago
  • 0.4.2                                ...           8 years ago
  • 0.4.1                                ...           8 years ago
  • 0.4.0                                ...           8 years ago
  • 0.2.0                                ...           8 years ago
  • 0.1.2                                ...           8 years ago
  • 0.1.1                                ...           8 years ago
  • 0.0.3                                ...           8 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 7
Last Day 0
Last Week 1
Last Month 9
Dependencies (2)
Dev Dependencies (3)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |