Open Parse
Open Parse = Parse.com + JSON API + koa
The collection of middleware which provides REST API interface for accessing to application data and schema, users and security management.
Built with love to Functional Principles and.. yes, koa.
Basic Usage
The following example has been written with using promised-mongo and koa-router packages.
const router = new Router();
const dataRequired = function *(next) {
if (typeof this.request.body['data'] === 'object') {
yield next;
} else {
this.throw(400, 'Request data is required');
}
};
const users = {
dataProvider: pmongo.collection('users')
};
router.post('/users', dataRequired, handleUserSignUp(users));
router.get('/login', handleUserLogin(users));
router.post('/logout', handleUserLogout(users));
router.get('/users/me', handleUserFetch(users));
const classes = {
dataProvider: pmongo.collection('objects'),
initialCache: require('./default-objects.json')
};
router.post('/classes/:className', dataRequired, handleObjectCreate(classes));
router.get('/classes/:className', handleObjectsList(classes));
router.get('/classes/:className/:objectId', handleObjectFetch(classes));
router.patch('/classes/:className/:objectId', dataRequired, handleObjectUpdate(classes));
router.delete('/classes/:className/:objectId', handleObjectDelete(classes));
const schemas = {
dataProvider: pmongo.collection('schemas')
};
router.get('/schemas/:className', handleSchemaFetch(schemas));
app.use('/api', router);