Implement GET /parse/schemas
This commit is contained in:
1
index.js
1
index.js
@@ -111,6 +111,7 @@ function ParseServer(args) {
|
||||
router.merge(require('./push'));
|
||||
router.merge(require('./installations'));
|
||||
router.merge(require('./functions'));
|
||||
router.merge(require('./schemas'));
|
||||
|
||||
batch.mountOnto(router);
|
||||
|
||||
|
||||
32
schemas.js
Normal file
32
schemas.js
Normal file
@@ -0,0 +1,32 @@
|
||||
// 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;
|
||||
Reference in New Issue
Block a user