UNPKG

@ai-ecom/medusa-plugin-patient-record

Version:

A plugin for patient record

82 lines (81 loc) 3.23 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.SubUnitRepository = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _subUnit = require("../models/sub-unit"); var _database = require("@medusajs/medusa/dist/loaders/database"); var SubUnitRepository = exports.SubUnitRepository = _database.dataSource.getRepository(_subUnit.SubUnit).extend({ upsertSubUnit: function upsertSubUnit(subUnit) { var _this = this; return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var existing, created, queryBuilder, _rawTypes, rawTypes; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!(!subUnit || !(subUnit !== null && subUnit !== void 0 && subUnit.title))) { _context.next = 2; break; } return _context.abrupt("return", null); case 2: _context.next = 4; return _this.findOne({ where: [{ id: subUnit === null || subUnit === void 0 ? void 0 : subUnit.id }, { title: subUnit === null || subUnit === void 0 ? void 0 : subUnit.title }] }); case 4: existing = _context.sent; if (!existing) { _context.next = 11; break; } if (!(existing.id && subUnit.title && existing.title !== subUnit.title)) { _context.next = 10; break; } _context.next = 9; return _this.save({ id: existing.id, title: subUnit.title }); case 9: return _context.abrupt("return", _context.sent); case 10: return _context.abrupt("return", existing); case 11: created = _this.create({ id: subUnit.id, title: subUnit.title }); queryBuilder = _this.createQueryBuilder().insert().into(_subUnit.SubUnit).values(created); if (queryBuilder.connection.driver.isReturningSqlSupported("insert")) { _context.next = 18; break; } _context.next = 16; return queryBuilder.execute(); case 16: _rawTypes = _context.sent; return _context.abrupt("return", _this.create(_rawTypes.generatedMaps[0])); case 18: _context.next = 20; return queryBuilder.returning("*").execute(); case 20: rawTypes = _context.sent; return _context.abrupt("return", _this.create(rawTypes.generatedMaps[0])); case 22: case "end": return _context.stop(); } }, _callee); }))(); } }); var _default = exports["default"] = SubUnitRepository;