All files / src/server/operations operations.controller.js

35.71% Statements 5/14
100% Branches 0/0
16.66% Functions 1/6
35.71% Lines 5/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 355x         5x         2x   2x                           5x                
const handler = require('@asymmetrik/fhir-response-util');
 
/**
 * @description Controller for all POST operations
 */
module.exports.operationsPost = function operationsPost({
  profile,
  name,
  logger: deprecatedLogger,
}) {
  let { serviceModule: service } = profile;
 
  return (req, res, next) => {
    let { base_version, id } = req.sanitized_args;
    let resource_body = req.body;
    let args = { id, base_version, resource: resource_body };
 
    service[name](args, { req }, deprecatedLogger)
      .then((results) => handler.read(req, res, results))
      .catch(next);
  };
};
 
/**
 * @description Controller for all GET operations
 */
module.exports.operationsGet = function operationsGet({ profile, name, logger: deprecatedLogger }) {
  let { serviceModule: service } = profile;
  return (req, res, next) => {
    service[name](req.sanitized_args, { req }, deprecatedLogger)
      .then((results) => handler.read(req, res, results))
      .catch(next);
  };
};