UNPKG

medusa-plugin-ip-lookup-maxmind-geoip2

Version:
74 lines (73 loc) 2.73 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _route = require("./store/ip-lookup/route"); var _default = exports["default"] = { preCartCreation: function () { var _preCartCreation = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(req, res, next) { var _data$country, ipLookupService, regionService, ip, data, region; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.prev = 0; if (!req.body.region_id) { _context.next = 4; break; } next(); return _context.abrupt("return"); case 4: ipLookupService = req.scope.resolve("ipLookupService"); regionService = req.scope.resolve("regionService"); ip = (0, _route.getIp)(req); _context.next = 9; return ipLookupService.lookupIp(ip); case 9: data = _context.sent; if ((_data$country = data.country) !== null && _data$country !== void 0 && _data$country.isoCode) { _context.next = 13; break; } next(); return _context.abrupt("return"); case 13: _context.next = 15; return regionService.retrieveByCountryCode(data.country.isoCode)["catch"](function () { return void 0; }); case 15: region = _context.sent; if (region) { _context.next = 19; break; } next(); return _context.abrupt("return"); case 19: // If country exists, add it to the body of the cart creation request req.body.region_id = region.id; req.body.country_code = data.country.isoCode.toLowerCase(); next(); _context.next = 27; break; case 24: _context.prev = 24; _context.t0 = _context["catch"](0); next(); case 27: case "end": return _context.stop(); } }, _callee, null, [[0, 24]]); })); function preCartCreation(_x, _x2, _x3) { return _preCartCreation.apply(this, arguments); } return preCartCreation; }() };