Tabs -> spaces

This commit is contained in:
Drew Gross
2016-02-03 12:10:50 -08:00
parent 3d989501b2
commit 33a881764d

View File

@@ -6,62 +6,62 @@ var express = require('express'),
var router = new PromiseRouter(); var router = new PromiseRouter();
function mongoFieldTypeToApiResponseType(type) { function mongoFieldTypeToApiResponseType(type) {
if (type[0] === '*') { if (type[0] === '*') {
return { return {
type: 'Pointer', type: 'Pointer',
targetClass: type.slice(1), targetClass: type.slice(1),
}; };
} }
if (type.startsWith('relation<')) { if (type.startsWith('relation<')) {
return { return {
type: 'Relation', type: 'Relation',
targetClass: type.slice('relation<'.length, type.length - 1), targetClass: type.slice('relation<'.length, type.length - 1),
}; };
} }
switch (type) { switch (type) {
case 'number': return {type: 'Number'}; case 'number': return {type: 'Number'};
case 'string': return {type: 'String'}; case 'string': return {type: 'String'};
case 'boolean': return {type: 'Boolean'}; case 'boolean': return {type: 'Boolean'};
case 'date': return {type: 'Date'}; case 'date': return {type: 'Date'};
case 'object': return {type: 'Object'}; case 'object': return {type: 'Object'};
case 'array': return {type: 'Array'}; case 'array': return {type: 'Array'};
case 'geopoint': return {type: 'GeoPoint'}; case 'geopoint': return {type: 'GeoPoint'};
case 'file': return {type: 'File'}; case 'file': return {type: 'File'};
} }
} }
function mongoSchemaAPIResponseFields(schema) { function mongoSchemaAPIResponseFields(schema) {
fieldNames = Object.keys(schema).filter(key => key !== '_id'); fieldNames = Object.keys(schema).filter(key => key !== '_id');
response = {}; response = {};
fieldNames.forEach(fieldName => { fieldNames.forEach(fieldName => {
response[fieldName] = mongoFieldTypeToApiResponseType(schema[fieldName]); response[fieldName] = mongoFieldTypeToApiResponseType(schema[fieldName]);
}); });
response.ACL = {type: 'ACL'}; response.ACL = {type: 'ACL'};
response.createdAt = {type: 'Date'}; response.createdAt = {type: 'Date'};
response.updatedAt = {type: 'Date'}; response.updatedAt = {type: 'Date'};
response.objectId = {type: 'String'}; response.objectId = {type: 'String'};
return response; return response;
} }
function mongoSchemaToSchemaAPIResponse(schema) { function mongoSchemaToSchemaAPIResponse(schema) {
return { return {
className: schema._id, className: schema._id,
fields: mongoSchemaAPIResponseFields(schema), fields: mongoSchemaAPIResponseFields(schema),
}; };
} }
function getAllSchemas(req) { function getAllSchemas(req) {
if (!req.auth.isMaster) { if (!req.auth.isMaster) {
return Promise.resolve({ return Promise.resolve({
status: 401, status: 401,
response: {error: 'unauthorized'}, response: {error: 'unauthorized'},
}); });
} }
return req.config.database.collection('_SCHEMA') return req.config.database.collection('_SCHEMA')
.then(coll => coll.find({}).toArray()) .then(coll => coll.find({}).toArray())
.then(schemas => ({response: { .then(schemas => ({response: {
results: schemas.map(mongoSchemaToSchemaAPIResponse) results: schemas.map(mongoSchemaToSchemaAPIResponse)
}})); }}));
} }
router.route('GET', '/schemas', getAllSchemas); router.route('GET', '/schemas', getAllSchemas);