UNPKG

@stylusapparel/opv3-merchant-api-nodejs

Version:

This is the official NodeJs wrapper for connecting to the StylusOP API V3

227 lines (223 loc) 8.96 kB
'use strict'; const __message = require('../constants/error_message'); const { _errorConst } = require('../constants/const'); module.exports = { _tokenError: (_errorDetails = null, _errorCode = null) => { let _errMSG; if (_errorDetails.message === 'jwt expired') { _errMSG = __message[_errorConst.TOKEN_EXPIRE]; } else if (_errorDetails.message === 'invalid token' || _errorDetails.message === 'jwt malformed' || _errorCode === 401) { _errMSG = __message[_errorConst.TOKEN_INVALID]; } else { _errMSG = __message[_errorConst.UNKNOWN_ERROR]; _errMSG.message = _errorDetails.message || _errMSG.message; _errMSG.rawError = _errorDetails; } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _tokenMissing: () => { let _errMSG = __message[_errorConst.TOKEN_MISSING]; _errMSG.status = 400; //Bad Request return _errMSG; }, _merchantNameMissing: () => { let _errMSG = __message[_errorConst.MERCHANT_MISSING]; _errMSG.status = 400; //Bad Request return _errMSG; }, _versionUnknownIssue: () => { let _errMSG = __message[_errorConst.VERSION_ISSUE]; _errMSG.status = 404; //API Not Found return _errMSG; }, _limitExceedError: () => { let _errMSG = __message[_errorConst.PAGINATION_LIMIT_ERROR]; _errMSG.status = 422; //Unprocessable entity return _errMSG; }, _ordersFetchError: (_errorDetails = null, _errorCode = null) => { let _errMSG; _errMSG = module.exports._tokenError(_errorDetails, _errorCode); if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _orderFetchError: (_errorDetails = null, _errorCode = null) => { let _errMSG; if (_errorDetails?.error?.errorCode === 'OrderNotFound') { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.message === 'Error fetching the order' || _errorCode === 404) { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.rawError = _errorDetails; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _orderActivityError: (_errorDetails = null, _errorCode = null) => { let _errMSG; if (_errorDetails?.error?.errorCode === 'OrderNotFound') { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.message === 'Error getting order activity' || _errorCode === 404) { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.rawError = _errorDetails; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _orderPushError: (_errorDetails = null, _errorCode = null) => { let _errMSG; if (_errorDetails?.error?.errorCode === 'InvalidPayload') { _errMSG = __message[_errorConst.ORDER_PAYLOAD_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'ProductNotFound') { _errMSG = __message[_errorConst.ORDER_PRODUCT_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'WrongLineItemProperties') { _errMSG = __message[_errorConst.ORDER_ITEM_PROPERTY_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'OrderDuplicate') { _errMSG = __message[_errorConst.ORDER_DUPLICATE]; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _orderCancelError: (_errorDetails = null, _errorCode = null) => { let _errMSG; if (_errorDetails?.error?.errorCode === 'OrderNotFound') { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'StatusIssue') { _errMSG = __message[_errorConst.ORDER_STATUS_ISSUE]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'InProduction') { _errMSG = __message[_errorConst.IN_PRODUCTION]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'InvalidPayload') { _errMSG = __message[_errorConst.ORDER_PAYLOAD_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _orderUpdateError: (_errorDetails = null, _errorCode = null) => { let _errMSG; if (_errorDetails?.error?.errorCode === 'OrderNotFound') { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'InvalidPayload') { _errMSG = __message[_errorConst.ORDER_PAYLOAD_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'ProductNotFound') { _errMSG = __message[_errorConst.ORDER_PRODUCT_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'WrongLineItemProperties') { _errMSG = __message[_errorConst.ORDER_ITEM_PROPERTY_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'OrderDuplicate') { _errMSG = __message[_errorConst.ORDER_DUPLICATE]; } else if (_errorDetails?.error?.errorCode === 'StatusIssue') { _errMSG = __message[_errorConst.ORDER_STATUS_ISSUE]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'InProduction') { _errMSG = __message[_errorConst.IN_PRODUCTION]; _errMSG.message = _errorDetails.message || _errMSG.message; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _productSearchError: (_errorDetails = null, _errorCode = null) => { let _errMSG; _errMSG = module.exports._tokenError(_errorDetails, _errorCode); if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _productFetchError: (_errorDetails = null, _errorCode = null) => { let _errMSG = {}; if (_errorDetails?.error?.errorCode === 'ProductNotFound' || _errorDetails?.error?.errorCode === 'ProductNotAttached') { _errMSG = __message[_errorConst.PRODUCT_NOT_FOUND]; _errMSG.rawError = _errorDetails.message || _errMSG.message; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _variantFetchError: (_errorDetails = null, _errorCode = null) => { let _errMSG = {}; if (_errorDetails?.error?.errorCode === 'ProductVariantNotFound' || _errorDetails?.error?.errorCode === 'ProductNotAttached') { _errMSG = __message[_errorConst.PRODUCT_VARIANT_NOT_FOUND]; _errMSG.rawError = _errorDetails.message || _errMSG.message; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _inventoryFetchError: (_errorDetails = null, _errorCode = null) => { let _errMSG = {}; if (_errorDetails?.error?.errorCode === 'InventoryNotFound') { _errMSG = __message[_errorConst.INVENTORY_NOT_FOUND]; _errMSG.rawError = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'ProductVariantNotFound') { _errMSG = __message[_errorConst.PRODUCT_VARIANT_NOT_FOUND]; _errMSG.rawError = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'ProductNotFound' || _errorDetails?.error?.errorCode === 'ProductNotAttached') { _errMSG = __message[_errorConst.PRODUCT_NOT_FOUND]; _errMSG.rawError = _errorDetails.message || _errMSG.message; } else if (_errorDetails?.error?.errorCode === 'FacilityNotFound') { _errMSG = __message[_errorConst.FACILITY_NOT_FOUND]; _errMSG.rawError = _errorDetails.message || _errMSG.message; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _shipmentFetchError: (_errorDetails = null, _errorCode = null) => { let _errMSG = {}; if (_errorDetails?.error?.errorCode === 'ShipmentNotFound') { _errMSG = __message[_errorConst.SHIPMENT_NOT_FOUND]; _errMSG.rawError = _errorDetails.message || _errMSG.message; } else { _errMSG = module.exports._tokenError(_errorDetails, _errorCode); } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, };