@ai-ecom/medusa-plugin-patient-record
Version:
A plugin for patient record
495 lines (494 loc) • 22.2 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _medusa = require("@medusajs/medusa");
var _medusaCoreUtils = require("medusa-core-utils");
var _excluded = ["denominator", "nominator"],
_excluded2 = ["nominator", "denominator"];
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var UnitService = /*#__PURE__*/function (_TransactionBaseServi) {
function UnitService(_ref) {
var _this;
var unitRepository = _ref.unitRepository,
subUnitRepository = _ref.subUnitRepository,
eventBusService = _ref.eventBusService;
(0, _classCallCheck2["default"])(this, UnitService);
// eslint-disable-next-line prefer-rest-params
_this = _callSuper(this, UnitService, [arguments[0]]);
_this.unitRepository_ = unitRepository;
_this.subUnitRepository_ = subUnitRepository;
_this.eventBus_ = eventBusService;
return _this;
}
(0, _inherits2["default"])(UnitService, _TransactionBaseServi);
return (0, _createClass2["default"])(UnitService, [{
key: "list",
value: function () {
var _list = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(selector) {
var config,
_yield$this$listAndCo,
_yield$this$listAndCo2,
unit,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
config = _args.length > 1 && _args[1] !== undefined ? _args[1] : {
skip: 0,
take: 50,
relations: []
};
_context.next = 3;
return this.listAndCount(selector, config);
case 3:
_yield$this$listAndCo = _context.sent;
_yield$this$listAndCo2 = (0, _slicedToArray2["default"])(_yield$this$listAndCo, 1);
unit = _yield$this$listAndCo2[0];
return _context.abrupt("return", unit);
case 7:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function list(_x) {
return _list.apply(this, arguments);
}
return list;
}()
}, {
key: "listAndCount",
value: function () {
var _listAndCount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(selector) {
var config,
unitRepo,
query,
_args2 = arguments;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
config = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {
skip: 0,
take: 50,
relations: []
};
unitRepo = this.activeManager_.withRepository(this.unitRepository_);
query = (0, _medusa.buildQuery)(selector, config);
return _context2.abrupt("return", unitRepo.findAndCount(query));
case 4:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function listAndCount(_x2) {
return _listAndCount.apply(this, arguments);
}
return listAndCount;
}()
}, {
key: "retrieve",
value: function () {
var _retrieve = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(unitId, config) {
var unit;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this.retrieve_({
id: unitId
}, config);
case 2:
unit = _context3.sent;
if (unit) {
_context3.next = 5;
break;
}
throw new _medusaCoreUtils.MedusaError(_medusaCoreUtils.MedusaError.Types.NOT_FOUND, "Unit with ".concat(unitId, " was not found"));
case 5:
return _context3.abrupt("return", unit);
case 6:
case "end":
return _context3.stop();
}
}, _callee3, this);
}));
function retrieve(_x3, _x4) {
return _retrieve.apply(this, arguments);
}
return retrieve;
}()
}, {
key: "retrieve_",
value: function () {
var _retrieve_ = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(selector, config) {
var unitRepo, query, unit;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
unitRepo = this.activeManager_.withRepository(this.unitRepository_);
query = (0, _medusa.buildQuery)(selector, config);
_context4.next = 4;
return unitRepo.findOne(query);
case 4:
unit = _context4.sent;
return _context4.abrupt("return", unit);
case 6:
case "end":
return _context4.stop();
}
}, _callee4, this);
}));
function retrieve_(_x5, _x6) {
return _retrieve_.apply(this, arguments);
}
return retrieve_;
}()
}, {
key: "create",
value: function () {
var _create = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(unitObject) {
var _this2 = this;
return _regenerator["default"].wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return this.atomicPhase_( /*#__PURE__*/function () {
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(manager) {
var unitRepo, subUnitRepo, denominator, nominator, rest, unit, _yield$subUnitRepo$up, _yield$subUnitRepo$up2, result;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
unitRepo = manager.withRepository(_this2.unitRepository_);
subUnitRepo = manager.withRepository(_this2.subUnitRepository_);
_context5.prev = 2;
denominator = unitObject.denominator, nominator = unitObject.nominator, rest = (0, _objectWithoutProperties2["default"])(unitObject, _excluded);
unit = unitRepo.create(rest);
if (!((0, _typeof2["default"])(nominator) !== "undefined")) {
_context5.next = 21;
break;
}
_context5.next = 8;
return subUnitRepo.upsertSubUnit(nominator);
case 8:
_context5.t2 = _yield$subUnitRepo$up = _context5.sent;
_context5.t1 = _context5.t2 === null;
if (_context5.t1) {
_context5.next = 12;
break;
}
_context5.t1 = _yield$subUnitRepo$up === void 0;
case 12:
if (!_context5.t1) {
_context5.next = 16;
break;
}
_context5.t3 = void 0;
_context5.next = 17;
break;
case 16:
_context5.t3 = _yield$subUnitRepo$up.id;
case 17:
_context5.t0 = _context5.t3;
if (_context5.t0) {
_context5.next = 20;
break;
}
_context5.t0 = null;
case 20:
unit.nominator_id = _context5.t0;
case 21:
if (!((0, _typeof2["default"])(denominator) !== "undefined")) {
_context5.next = 37;
break;
}
_context5.next = 24;
return subUnitRepo.upsertSubUnit(denominator);
case 24:
_context5.t6 = _yield$subUnitRepo$up2 = _context5.sent;
_context5.t5 = _context5.t6 === null;
if (_context5.t5) {
_context5.next = 28;
break;
}
_context5.t5 = _yield$subUnitRepo$up2 === void 0;
case 28:
if (!_context5.t5) {
_context5.next = 32;
break;
}
_context5.t7 = void 0;
_context5.next = 33;
break;
case 32:
_context5.t7 = _yield$subUnitRepo$up2.id;
case 33:
_context5.t4 = _context5.t7;
if (_context5.t4) {
_context5.next = 36;
break;
}
_context5.t4 = null;
case 36:
unit.denominator_id = _context5.t4;
case 37:
_context5.next = 39;
return unitRepo.save(unit);
case 39:
unit = _context5.sent;
_context5.next = 42;
return _this2.retrieve(unit.id, {
relations: []
});
case 42:
result = _context5.sent;
_context5.next = 45;
return _this2.eventBus_.withTransaction(manager).emit(UnitService.Events.CREATED, {
id: result.id
});
case 45:
return _context5.abrupt("return", result);
case 48:
_context5.prev = 48;
_context5.t8 = _context5["catch"](2);
throw (0, _medusa.formatException)(_context5.t8);
case 51:
case "end":
return _context5.stop();
}
}, _callee5, null, [[2, 48]]);
}));
return function (_x8) {
return _ref2.apply(this, arguments);
};
}());
case 2:
return _context6.abrupt("return", _context6.sent);
case 3:
case "end":
return _context6.stop();
}
}, _callee6, this);
}));
function create(_x7) {
return _create.apply(this, arguments);
}
return create;
}()
}, {
key: "delete",
value: function () {
var _delete2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(unitId) {
var _this3 = this;
return _regenerator["default"].wrap(function _callee8$(_context8) {
while (1) switch (_context8.prev = _context8.next) {
case 0:
_context8.next = 2;
return this.atomicPhase_( /*#__PURE__*/function () {
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(manager) {
var unitRepo, unit;
return _regenerator["default"].wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
unitRepo = manager.withRepository(_this3.unitRepository_);
_context7.next = 3;
return unitRepo.findOne({
where: {
id: unitId
},
relations: []
});
case 3:
unit = _context7.sent;
if (unit) {
_context7.next = 6;
break;
}
return _context7.abrupt("return");
case 6:
_context7.next = 8;
return unitRepo.softRemove(unit);
case 8:
_context7.next = 10;
return _this3.eventBus_.withTransaction(manager).emit(UnitService.Events.DELETED, {
id: unitId
});
case 10:
return _context7.abrupt("return", Promise.resolve());
case 11:
case "end":
return _context7.stop();
}
}, _callee7);
}));
return function (_x10) {
return _ref3.apply(this, arguments);
};
}());
case 2:
return _context8.abrupt("return", _context8.sent);
case 3:
case "end":
return _context8.stop();
}
}, _callee8, this);
}));
function _delete(_x9) {
return _delete2.apply(this, arguments);
}
return _delete;
}()
}, {
key: "update",
value: function () {
var _update2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10(unitId, _update) {
var _this4 = this;
return _regenerator["default"].wrap(function _callee10$(_context10) {
while (1) switch (_context10.prev = _context10.next) {
case 0:
_context10.next = 2;
return this.atomicPhase_( /*#__PURE__*/function () {
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(manager) {
var unitRepo, subUnitRepo, unit, nominator, denominator, rest, _yield$subUnitRepo$up3, _yield$subUnitRepo$up4, _i, _Object$entries, _Object$entries$_i, key, value, result;
return _regenerator["default"].wrap(function _callee9$(_context9) {
while (1) switch (_context9.prev = _context9.next) {
case 0:
unitRepo = manager.withRepository(_this4.unitRepository_);
subUnitRepo = manager.withRepository(_this4.subUnitRepository_);
_context9.next = 4;
return _this4.retrieve(unitId, {});
case 4:
unit = _context9.sent;
nominator = _update.nominator, denominator = _update.denominator, rest = (0, _objectWithoutProperties2["default"])(_update, _excluded2);
if (!((0, _typeof2["default"])(nominator) !== "undefined")) {
_context9.next = 22;
break;
}
_context9.next = 9;
return subUnitRepo.upsertSubUnit(nominator);
case 9:
_context9.t2 = _yield$subUnitRepo$up3 = _context9.sent;
_context9.t1 = _context9.t2 === null;
if (_context9.t1) {
_context9.next = 13;
break;
}
_context9.t1 = _yield$subUnitRepo$up3 === void 0;
case 13:
if (!_context9.t1) {
_context9.next = 17;
break;
}
_context9.t3 = void 0;
_context9.next = 18;
break;
case 17:
_context9.t3 = _yield$subUnitRepo$up3.id;
case 18:
_context9.t0 = _context9.t3;
if (_context9.t0) {
_context9.next = 21;
break;
}
_context9.t0 = null;
case 21:
unit.nominator_id = _context9.t0;
case 22:
if (!((0, _typeof2["default"])(denominator) !== "undefined")) {
_context9.next = 38;
break;
}
_context9.next = 25;
return subUnitRepo.upsertSubUnit(denominator);
case 25:
_context9.t6 = _yield$subUnitRepo$up4 = _context9.sent;
_context9.t5 = _context9.t6 === null;
if (_context9.t5) {
_context9.next = 29;
break;
}
_context9.t5 = _yield$subUnitRepo$up4 === void 0;
case 29:
if (!_context9.t5) {
_context9.next = 33;
break;
}
_context9.t7 = void 0;
_context9.next = 34;
break;
case 33:
_context9.t7 = _yield$subUnitRepo$up4.id;
case 34:
_context9.t4 = _context9.t7;
if (_context9.t4) {
_context9.next = 37;
break;
}
_context9.t4 = null;
case 37:
unit.denominator_id = _context9.t4;
case 38:
for (_i = 0, _Object$entries = Object.entries(rest); _i < _Object$entries.length; _i++) {
_Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1];
if ((0, _typeof2["default"])(value) !== "undefined") {
unit[key] = value;
}
}
_context9.next = 41;
return unitRepo.save(unit);
case 41:
result = _context9.sent;
_context9.next = 44;
return _this4.eventBus_.withTransaction(manager).emit(UnitService.Events.UPDATED, {
id: result.id,
fields: Object.keys(_update)
});
case 44:
return _context9.abrupt("return", result);
case 45:
case "end":
return _context9.stop();
}
}, _callee9);
}));
return function (_x13) {
return _ref4.apply(this, arguments);
};
}());
case 2:
return _context10.abrupt("return", _context10.sent);
case 3:
case "end":
return _context10.stop();
}
}, _callee10, this);
}));
function update(_x11, _x12) {
return _update2.apply(this, arguments);
}
return update;
}()
}]);
}(_medusa.TransactionBaseService);
(0, _defineProperty2["default"])(UnitService, "IndexName", "units");
(0, _defineProperty2["default"])(UnitService, "Events", {
UPDATED: "unit.updated",
CREATED: "unit.created",
DELETED: "unit.deleted"
});
var _default = exports["default"] = UnitService;