Members
- 
			getAllController
- 
	DescriptionRequest/Response handler function to get all of a resource.ParametersName Type Description reqModelRequest resResponse nextNextFunction ReturnsExamplesconst { getAllController } = require("emfrest/controllers")Usage router.route("/").get(getAllController)Details
- 
			createResourceController
- 
	DescriptionRequest/Response handler function to create a resource.ParametersName Type Description reqModelRequest resResponse nextNextFunction ReturnsExamplesconst { createResourceController } = require("emfrest/controllers")Usage router.route("/").post(createResourceController)Details
- 
			getOneByIdController
- 
	DescriptionRequest/Response handler function to fetch a document by its MongoDB ObjectId.ParametersName Type Description reqModelRequest resResponse nextNextFunction ReturnsExamplesconst { getOneByIdController } = require("emfrest/controllers")Usage router.route("/:id").get(getOneByIdController)Details
- 
			updateOneByIdController
- 
	DescriptionRequest/Response handler function to update a document by its MongoDB ObjectId.ParametersName Type Description reqModelRequest resResponse nextNextFunction ReturnsExamplesconst { updateOneByIdController } = require("emfrest/controllers")Usage router.route("/:id").put(updateOneByIdController)Details
- 
			deleteOneByIdController
- 
	DescriptionRequest/Response handler function to delete a document by its MongoDB ObjectId.ParametersName Type Description reqModelRequest resResponse nextNextFunction ReturnsExamplesconst { deleteOneByIdController } = require("emfrest/controllers")Usage router.route("/:id").delete(deleteOneByIdController)Details
Methods
- 
			Api( app, options )
- 
	DescriptionEntry point for the RESTful API.ParametersName Type Description appApplication Your express app. optionsApiOptions Options for the Api function. Examplesconst { Api } = require("emfrest")Usage Api(app, { model: Book, modelName: "book" });Details
- 
			asyncMiddlewareHandler( fn ) → {Promise.<any>}
- 
	DescriptionWrapper for any async middleware functions.ParametersName Type Description fnfunction Async express middleware function to be wrapped. ReturnsExamplesconst { asyncMiddlewareHandler } = require("emfrest/middleware") const anAsyncFunction = asyncMiddlewareHandler((req, res, next) => { const data = await something() next() })Details
- 
			Router( model, modelName )
- 
	DescriptionAn express router for a resource.ParametersName Type Description modelmongoose.Model Mongoose model. modelNamestring Model name (singular). ReturnsExamplesconst { Router } = require("emfrest/router")Usage app.use("/modelName", Router(model, modelName))Details
- 
			asyncHandler( fn ) → {Promise.<any>}
- 
	DescriptionWrapper for any async functions. Handles the errorParametersName Type Description fnfunction Async function to be wrapped. This function can have any number of parameters. ReturnsExamplesconst { asyncHandler } = require("emfrest/middleware")Usage const anAsyncFunction = asyncHandler((a, b, c, d, e, ...rest) => { const data = await something() return datas })Details
- 
			errorHandler( err, req, res, next )
- 
	DescriptionFunction to send a response with an error.ParametersName Type Description errError Error object. reqRequest Express request object. resResponse Express response object. nextNext Express next function. Examplesconst { errorHandler } = require("emfrest")Usage app.use(errorHandler);Details
- 
			successfulResponse( res, statusCode, message, data )
- 
	DescriptionFunction to send a successful response.ParametersName Type Description resResponse Express response object. statusCodenumber Http status code for the response. messagestring Message for the response body. dataany Any data to send with the reponse. Examplesconst { successfulResponse } = require("emfrest/middleware")Usage successfulResponse( res, 200, `The documents were successfully found.`, data );Details
- 
			appendModelData( model, modelName ) → {function}
- 
	DescriptionMiddleware function to add model and modelName to the request object. Makes req.emfrest_model and req.emfrest_modelName accessible.ParametersName Type Description modelmongoose.model Mongoose model. modelNamestring Model name (singular). ReturnsExamplesconst { appendModelData } = require("emfrest/middleware")Usage router .route(`/:${modelName}Id`) .get(appendModelData(model, modelName), getOneByIdController) .put(appendModelData(model, modelName), updateOneByIdController) .delete(appendModelData(model, modelName), deleteOneByIdController);Details