UNPKG

express-autoroute-json

Version:

Express Auto Route Json is an automatic JSON 'REST' api builder for express-autoroute

52 lines (44 loc) 1.59 kB
var authorisationFunction = require('./lib/authorisation'); var executionFunction = require('./lib/execution'); var findOne = require('./lib/findOne'); var queryFunction = require('./lib/query'); var sortFunction = require('./lib/sort'); var createFunction = require('./lib/create'); var paginationFunction = require('./lib/pagination'); var createExecution = require('./lib/createExecution'); var identityMiddleware = require('./lib/identityMiddleware'); module.exports = function (options) { //check required fields if (!options.model) throw new Error("Mongoose model is missing"); //set the defaults var resource = options.resource || options.model.collection.name; var query = {}; var outputJson = {}; if (options.find) { outputJson.get = {}; outputJson.get["/" + resource] = [ options.find.authentication || identityMiddleware, authorisationFunction(options), queryFunction(options), paginationFunction(options), sortFunction(options), executionFunction(options) ]; outputJson.get["/" + resource + "/:id"] = [ options.find.authentication || identityMiddleware, authorisationFunction(options), findOne(options) ]; } if(options.create){ outputJson.post = {}; outputJson.post["/" + resource] = [ createFunction(options), createExecution(options) ]; } if (options.debug) { console.log(outputJson); } return outputJson; };