Members
-
getAllController
-
Description
Request/Response handler function to get all of a resource.Parameters
Name Type Description reqModelRequest resResponse nextNextFunction Returns
Examples
const { getAllController } = require("emfrest/controllers")Usage
router.route("/").get(getAllController)Details
-
createResourceController
-
Description
Request/Response handler function to create a resource.Parameters
Name Type Description reqModelRequest resResponse nextNextFunction Returns
Examples
const { createResourceController } = require("emfrest/controllers")Usage
router.route("/").post(createResourceController)Details
-
getOneByIdController
-
Description
Request/Response handler function to fetch a document by its MongoDB ObjectId.Parameters
Name Type Description reqModelRequest resResponse nextNextFunction Returns
Examples
const { getOneByIdController } = require("emfrest/controllers")Usage
router.route("/:id").get(getOneByIdController)Details
-
updateOneByIdController
-
Description
Request/Response handler function to update a document by its MongoDB ObjectId.Parameters
Name Type Description reqModelRequest resResponse nextNextFunction Returns
Examples
const { updateOneByIdController } = require("emfrest/controllers")Usage
router.route("/:id").put(updateOneByIdController)Details
-
deleteOneByIdController
-
Description
Request/Response handler function to delete a document by its MongoDB ObjectId.Parameters
Name Type Description reqModelRequest resResponse nextNextFunction Returns
Examples
const { deleteOneByIdController } = require("emfrest/controllers")Usage
router.route("/:id").delete(deleteOneByIdController)Details
Methods
-
Api( app, options )
-
Description
Entry point for the RESTful API.Parameters
Name Type Description appApplication Your express app. optionsApiOptions Options for the Api function. Examples
const { Api } = require("emfrest")Usage
Api(app, { model: Book, modelName: "book" });Details
-
asyncMiddlewareHandler( fn ) → {Promise.<any>}
-
Description
Wrapper for any async middleware functions.Parameters
Name Type Description fnfunction Async express middleware function to be wrapped. Returns
Examples
const { asyncMiddlewareHandler } = require("emfrest/middleware") const anAsyncFunction = asyncMiddlewareHandler((req, res, next) => { const data = await something() next() })Details
-
Router( model, modelName )
-
Description
An express router for a resource.Parameters
Name Type Description modelmongoose.Model Mongoose model. modelNamestring Model name (singular). Returns
Examples
const { Router } = require("emfrest/router")Usage
app.use("/modelName", Router(model, modelName))Details
-
asyncHandler( fn ) → {Promise.<any>}
-
Description
Wrapper for any async functions. Handles the errorParameters
Name Type Description fnfunction Async function to be wrapped. This function can have any number of parameters. Returns
Examples
const { 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 )
-
Description
Function to send a response with an error.Parameters
Name Type Description errError Error object. reqRequest Express request object. resResponse Express response object. nextNext Express next function. Examples
const { errorHandler } = require("emfrest")Usage
app.use(errorHandler);Details
-
successfulResponse( res, statusCode, message, data )
-
Description
Function to send a successful response.Parameters
Name 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. Examples
const { successfulResponse } = require("emfrest/middleware")Usage
successfulResponse( res, 200, `The documents were successfully found.`, data );Details
-
appendModelData( model, modelName ) → {function}
-
Description
Middleware function to add model and modelName to the request object. Makes req.emfrest_model and req.emfrest_modelName accessible.Parameters
Name Type Description modelmongoose.model Mongoose model. modelNamestring Model name (singular). Returns
Examples
const { 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