Package Exports
- jsonapify
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jsonapify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
jsonapify
Middleware for easy development of JSON-API compatible APIs
Install
$ npm install jsonapify
Sample code
var auth = require('./auth');
var express = require('express');
var jsonapify = require('jsonapify');
var User = require('./models/user');
var roleResource = require('./roles').Resource;
var userResource = new jsonapify.resource(User, {
type: 'users',
id: {
value: jsonapify.property('_id'),
writable: false,
},
links: {
self: {
value: jsonapify.template('/users/{_id}'),
writable: false,
},
},
attributes: {
email: jsonapify.property('email'),
password: {
value: jsonapify.property('password'),
readable: false,
},
},
relationships: {
role: jsonapify.ref(roleResource, 'role'),
},
});
var router = express.Router();
router.get('/', [
auth.authenticateAccessToken(),
auth.requirePrivilege('user:enum'),
jsonapify.enumerate(userResource),
jsonapify.errorHandler(),
]);
module.exports = exports = router;
exports.Resource = userResource;