whole_func_string: function performCrudAction(action, req, res, next) {
  		allow(action, req, res, function(err, isAllowed) {
  			if (err) {
  				return Model.swr.error.serverError(res);
  			}
  			if (!isAllowed) {
  				return Model.swr.error.forbidden(res);
  			}
  			switch (action) {
  				case options.actions.find:
  					find(action, req, res, function(err, result) {
  						if (err) {
  							return Model.swr.error.serverError(res);
  						}
  						Model.swr.success(result, res);
  						next();
  					});
  					break;
  			}
  		});
  	}
func_code_string: function performCrudAction(action, req, res, next) {
  		allow(action, req, res, function(err, isAllowed) {
  			if (err) {
  				return Model.swr.error.serverError(res);
  			}
  			if (!isAllowed) {
  				return Model.swr.error.forbidden(res);
  			}
  			switch (action) {
  				case options.actions.find:
  					find(action, req, res, function(err, result) {
  						if (err) {
  							return Model.swr.error.serverError(res);
  						}
  						Model.swr.success(result, res);
  						next();
  					});
  					break;
  			}
  		});
  	}
func_documentation_string: each crud method calls this and will perform an allow()
  to ensure the request is appropriate, then clean() to ensure
  that the data is clean
  
  @author Tim Golen 2015-03-01
  @access private
  
  @param  {string} action the CRUD actions being done
  @param  {object} req an Express or Restify Request object
  @param  {object} res an Express or Restify Response object
  @param  {Function} next
  
  @return {void}