app/lib/jsonapi

Generates routes conformant to the JSON API specification for Mongoose models
Source:

Methods

(inner) allowed(model, method) → {string}

Returns allowed requester type value for model and method
Parameters:
Name Type Description
model Object Mongoose model
method string HTTP method
Source:
Returns:
allowed value (e.g. "public", "user", or "admin)
Type
string

(inner) compiledQueryConditions(req, conditions, model, method, done)

Callbacks Mongoose query conditions compiled from two separate conditions Primary conditions are passed as parameter "conditions" Secondary conditions are determined from model using route name
Parameters:
Name Type Description
req Object Express request object
conditions Object Primary query conditions
model Object Mongoose model (optional)
method string HTTP method (optional)
done callback
Source:

(inner) modelQueryConditions(req, model, method, done)

Callbacks a model's query conditions given request user status
Parameters:
Name Type Description
req Object Express request object
model Object Mongoose model
method string HTTP method (optional)
done callback
Source:

(inner) normalizeRelationships(relationships) → {Object}

Normalizes object of relationships from request
Parameters:
Name Type Description
relationships Object Request relationships
Source:
Returns:
Normalized relationships
Type
Object

(inner) routeModelDeleteObjectResource(app, Model)

Routes DELETE requests to resource for individual resource objects for app and Model
Parameters:
Name Type Description
app Object Express app
Model Object Mongoose model
Source:

(inner) routeModelGetObjectResource(app, model)

Routes GET requests to resource for individual resource objects for app and model
Parameters:
Name Type Description
app Object Express app
model model Mongoose model
Source:

(inner) routeModelGetObjectsResource(app, model)

Routes GET requests to resource for collections of resource objects for app and model
Parameters:
Name Type Description
app Object Express app
model model Mongoose model
Source:

(inner) routeModelPatchObjectResource(app, Model)

Routes POST requests to resource for individual resource objects for app and Model
Parameters:
Name Type Description
app Object Express app
Model Object Mongoose model
Source:

(inner) routeModelPostObjectResource(app, Model)

Routes POST requests to resource for individual resource objects for app and Model
Parameters:
Name Type Description
app Object Express app
Model Object Mongoose model
Source:

(inner) routeModelResource(app, model, method, path, done)

Routes requests to resource callback for app, model, method and path
Parameters:
Name Type Description
app Object Express app
model model Mongoose model
method string HTTP method (lowercase, e.g "get")
path string Path to resource
done function Express route callback expecting req and res as parameters
Source:

(inner) routeModelResources(app)

Establish middleware that generates routes conformant to the JSON API specification for app and Mongoose models
Parameters:
Name Type Description
app Object Express app
Source:

(inner) routeResource(app, method, path, middleware, done)

Routes requests to resource callback for app, method, path and middleware
Parameters:
Name Type Description
app Object Express app
method string HTTP method (lowercase, e.g "get")
path string Path to resource
middleware Object Dictionary of middleware boolean or function values to use for route
done function Express route callback expecting req and res as parameters
Source:

(inner) saveRelationshipsToDocument(document, document, done)

Saves all provided relationships to document
Parameters:
Name Type Description
document Object Mongoose document
document Object Key-value object of relationships
done callback
Source:

(inner) validateQueryData(req, data, model, method, done)

Callbacks error with array of validation errors if query data do not conform to model's value restrictions given requester's status (e.g. public, user, admin)
Parameters:
Name Type Description
req Object Express request object
data Object Query data
model Object Mongoose model (optional)
method string HTTP method (optional)
done function Error-first callback function expecting no other parameters
Source:

(inner) validateRequestBody(model)

Returns Express route middleware that validates request body against JSON API specification and URL for optional model
Parameters:
Name Type Description
model Object Mongoose model (optional)
Source:

(inner) validateRequestUrl()

Validates request URL against Mongoose needs
Source: