UNPKG

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

Version:

A plugin for patient record

82 lines (81 loc) 3.12 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.NatureRepository = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _nature = require("../models/nature"); var _database = require("@medusajs/medusa/dist/loaders/database"); var NatureRepository = exports.NatureRepository = _database.dataSource.getRepository(_nature.Nature).extend({ upsertNature: function upsertNature(nature) { 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 (nature) { _context.next = 2; break; } return _context.abrupt("return", null); case 2: _context.next = 4; return _this.findOne({ where: [{ id: nature === null || nature === void 0 ? void 0 : nature.id }, { name: nature === null || nature === void 0 ? void 0 : nature.name }] }); case 4: existing = _context.sent; if (!existing) { _context.next = 11; break; } if (!(existing.id && nature.name && existing.name !== nature.name)) { _context.next = 10; break; } _context.next = 9; return _this.save({ id: existing.id, name: nature.name }); case 9: return _context.abrupt("return", _context.sent); case 10: return _context.abrupt("return", existing); case 11: created = _this.create({ id: nature.id, name: nature.name }); queryBuilder = _this.createQueryBuilder().insert().into(_nature.Nature).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"] = NatureRepository;