Files
kami-parse-server/schemas.js
2016-02-03 12:05:48 -08:00

33 lines
705 B
JavaScript

// schemas.js
var express = require('express'),
PromiseRouter = require('./PromiseRouter');
var router = new PromiseRouter();
function mongoSchemaToSchemaAPIResponse(schema) {
fieldNames = Object.keys(schema).filter(key => key !== '_id');
return {
className: schema._id,
fields: fieldNames.map(name => {
result = {};
result[name] = {
type: schema[name],
};
return result;
}),
};
}
function getAllSchemas(req) {
return req.config.database.collection('_SCHEMA')
.then(coll => coll.find({}).toArray())
.then(schemas => ({response: {
results: schemas.map(mongoSchemaToSchemaAPIResponse)
}}));
}
router.route('GET', '/schemas', getAllSchemas);
module.exports = router;