PHP 8.2.30
Preview: build.js Size: 1.29 KB
/home/byroehnu/.trash/node_modules11/flutterwave-node-v3/utils/build.js

const joi = require('joi');
const { listSchema } = require('../services/schema/base');
// const { logger } = require('./logger');
const { validator } = require('./validator');

// make parameter required in the listSchema
function enforceRequired(schema, paramList) {
  if (!Array.isArray(paramList)) {
    throw new Error('paramList must be an array');
  }
  // params.forEach((param) => {});
  paramList.map((param) => {
    schema.keys({
      [param]: schema._ids._byKey[param].rules.concat(
        joi
          .string()
          .required()
          .messages({
            'any.required': `${param} is required!`,
          }),
      ),
    });
  });
  return schema;
}

// Graciously handle fetch queries with empty payload
async function handleEmptyFetch(param, name, uri, _rave) {
  if (param === undefined || param === null) {
    param = {};
    param.method = 'GET';

    const response = await _rave.request(uri, param);

    const responseBody = response.body || response;

    // logger(name, _rave);
    return responseBody;
  }

  validator(listSchema, param);
  param.method = 'GET';

  const response = await _rave.request(uri, param);
  const responseBody = response.body || response;

  // logger(name, _rave);
  return responseBody;
}

module.exports = { enforceRequired, handleEmptyFetch };

Directory Contents

Dirs: 0 × Files: 5

Name Size Perms Modified Actions
1.29 KB lrw-r--r-- 2026-02-21 00:53:34
Edit Download
436 B lrw-r--r-- 2026-02-21 00:53:38
Edit Download
817 B lrw-r--r-- 2026-02-21 00:53:38
Edit Download
350 B lrw-r--r-- 2026-02-21 00:54:22
Edit Download
316 B lrw-r--r-- 2026-02-21 00:54:24
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).