@apite/magento2-utility
Version:
Shopgate WebCheckout utility for Magento 2 extensions
55 lines (45 loc) • 1.53 kB
JavaScript
const logDecorator = require('./logDecorator')
const { UnknownError } = require('../lib/errorList')
const { decorateMessage } = logDecorator()
/**
* @param {any} property
* @param {ApiteM2Utility.PipelineContext} context
* @returns {void}
* @throws {UnknownError}
*/
const validate = (property, context) => {
if (!property) {
context.log.fatal(decorateMessage('A required value in the config was not set (e.g. endpoint, accessToken, etc'))
throw new UnknownError()
}
}
/**
* @param {ApiteM2Utility.PipelineContext} context
* @returns {string}
*/
const getEndpoint = context => {
const endpoint = process.env.M2_ENDPOINT || context.config.endpoint
return validate(endpoint, context) || endpoint
}
/**
* @param {ApiteM2Utility.PipelineContext} context
* @returns {string|null}
*/
const getFrontendUrl = context => process.env.M2_FRONTEND_URL || context.config.frontendUrl
/**
* @param {ApiteM2Utility.PipelineContext} context
* @returns {string}
*/
const getStoreCode = context => process.env.M2_STORE_CODE || context.config.storeCode || 'default'
/**
* @param {ApiteM2Utility.PipelineContext} context
* @returns {string|null}
*/
const getHttpUser = context => process.env.M2_HTTP_USER || context.config.auth.httpUser
/**
* @param {ApiteM2Utility.PipelineContext} context
* @returns {string|null}
*/
const getHttpPass = context => process.env.M2_HTTP_PASS || context.config.auth.httpPass
module.exports = { getEndpoint, getFrontendUrl, getStoreCode, getHttpUser, getHttpPass }