@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
JavaScript
;
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;
},
};