UNPKG

@stylusapparel/stylusop-api-node-wrapper

Version:

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

170 lines (166 loc) 6.26 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; }, _usernameMissing: () => { let _errMSG = __message[_errorConst.USER_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 === 'No order found' || _errorDetails.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 === 'No order found' || _errorDetails.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.errorCode === 'InvalidPayload') { _errMSG = __message[_errorConst.ORDER_PAYLOAD_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.errorCode === 'ProductNotFound') { _errMSG = __message[_errorConst.ORDER_PRODUCT_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.errorCode === 'WrongLineItemProperties') { _errMSG = __message[_errorConst.ORDER_ITEM_PROPERTY_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.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.errorCode === 'NotFound') { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.errorCode === 'StatusIssue') { _errMSG = __message[_errorConst.ORDER_STATUS_ISSUE]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.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.errorCode === 'NotFound') { _errMSG = __message[_errorConst.ORDER_ID_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.errorCode === 'InvalidPayload') { _errMSG = __message[_errorConst.ORDER_PAYLOAD_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.errorCode === 'ProductNotFound') { _errMSG = __message[_errorConst.ORDER_PRODUCT_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.errorCode === 'WrongLineItemProperties') { _errMSG = __message[_errorConst.ORDER_ITEM_PROPERTY_INVALID]; _errMSG.message = _errorDetails.message || _errMSG.message; } else if (_errorDetails.errorCode === 'OrderDuplicate') { _errMSG = __message[_errorConst.ORDER_DUPLICATE]; } 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 (_errorCode === 404 || _errorDetails === 'No product found' || _errorDetails.message === 'Error fetching the product') { _errMSG = __message[_errorConst.PRODUCT_NOT_FOUND]; _errMSG.rawError = _errorDetails; } if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, _variantFindError: (_errorDetails = null, _errorCode = null) => { let _errMSG; _errMSG = module.exports._tokenError(_errorDetails, _errorCode); if (_errorCode) { _errMSG.status = _errorCode; } return _errMSG; }, };