@ai-ecom/medusa-plugin-patient-record
Version:
A plugin for patient record
353 lines (352 loc) • 15.8 kB
JavaScript
"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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
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");
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 SubUnitService = /*#__PURE__*/function (_TransactionBaseServi) {
function SubUnitService(_ref) {
var _this;
var subUnitRepository = _ref.subUnitRepository,
eventBusService = _ref.eventBusService;
(0, _classCallCheck2["default"])(this, SubUnitService);
// eslint-disable-next-line prefer-rest-params
_this = _callSuper(this, SubUnitService, [arguments[0]]);
_this.subUnitRepository_ = subUnitRepository;
_this.eventBus_ = eventBusService;
return _this;
}
(0, _inherits2["default"])(SubUnitService, _TransactionBaseServi);
return (0, _createClass2["default"])(SubUnitService, [{
key: "list",
value: function () {
var _list = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(selector) {
var config,
_yield$this$listAndCo,
_yield$this$listAndCo2,
subUnits,
_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);
subUnits = _yield$this$listAndCo2[0];
return _context.abrupt("return", subUnits);
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,
subUnitRepo,
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: []
};
subUnitRepo = this.activeManager_.withRepository(this.subUnitRepository_);
query = (0, _medusa.buildQuery)(selector, config);
return _context2.abrupt("return", subUnitRepo.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(subUnitId, config) {
var subUnit;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this.retrieve_({
id: subUnitId
}, config);
case 2:
subUnit = _context3.sent;
if (subUnit) {
_context3.next = 5;
break;
}
throw new _medusaCoreUtils.MedusaError(_medusaCoreUtils.MedusaError.Types.NOT_FOUND, "SubUnit with ".concat(subUnitId, " was not found"));
case 5:
return _context3.abrupt("return", subUnit);
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 subUnitRepo, query, subUnit;
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
subUnitRepo = this.activeManager_.withRepository(this.subUnitRepository_);
query = (0, _medusa.buildQuery)(selector, config);
_context4.next = 4;
return subUnitRepo.findOne(query);
case 4:
subUnit = _context4.sent;
return _context4.abrupt("return", subUnit);
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(subUnitObject) {
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 subUnitRepo, subUnit, result;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
subUnitRepo = manager.withRepository(_this2.subUnitRepository_);
_context5.prev = 1;
subUnit = subUnitRepo.create(subUnitObject);
_context5.next = 5;
return subUnitRepo.save(subUnit);
case 5:
subUnit = _context5.sent;
_context5.next = 8;
return _this2.retrieve(subUnit.id, {
relations: []
});
case 8:
result = _context5.sent;
_context5.next = 11;
return _this2.eventBus_.withTransaction(manager).emit(SubUnitService.Events.CREATED, {
id: result.id
});
case 11:
return _context5.abrupt("return", result);
case 14:
_context5.prev = 14;
_context5.t0 = _context5["catch"](1);
throw (0, _medusa.formatException)(_context5.t0);
case 17:
case "end":
return _context5.stop();
}
}, _callee5, null, [[1, 14]]);
}));
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(subUnitId) {
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 subUnitRepo, subUnit;
return _regenerator["default"].wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
subUnitRepo = manager.withRepository(_this3.subUnitRepository_);
_context7.next = 3;
return subUnitRepo.findOne({
where: {
id: subUnitId
},
relations: []
});
case 3:
subUnit = _context7.sent;
if (subUnit) {
_context7.next = 6;
break;
}
return _context7.abrupt("return");
case 6:
_context7.next = 8;
return subUnitRepo.softRemove(subUnit);
case 8:
_context7.next = 10;
return _this3.eventBus_.withTransaction(manager).emit(SubUnitService.Events.DELETED, {
id: subUnitId
});
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(subUnitId, _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 subUnitRepo, subUnit, rest, _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:
subUnitRepo = manager.withRepository(_this4.subUnitRepository_);
_context9.next = 3;
return _this4.retrieve(subUnitId, {});
case 3:
subUnit = _context9.sent;
rest = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_update), _update));
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") {
subUnit[key] = value;
}
}
_context9.next = 8;
return subUnitRepo.save(subUnit);
case 8:
result = _context9.sent;
_context9.next = 11;
return _this4.eventBus_.withTransaction(manager).emit(SubUnitService.Events.UPDATED, {
id: result.id,
fields: Object.keys(_update)
});
case 11:
return _context9.abrupt("return", result);
case 12:
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"])(SubUnitService, "IndexName", "sub-units");
(0, _defineProperty2["default"])(SubUnitService, "Events", {
UPDATED: "sub-unit.updated",
CREATED: "sub-unit.created",
DELETED: "sub-unit.deleted"
});
var _default = exports["default"] = SubUnitService;