UNPKG

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

Version:

A plugin for patient record

128 lines (127 loc) 6.13 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.MediaRepository = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _media = require("../models/media"); var _database = require("@medusajs/medusa/dist/loaders/database"); var _medusa = require("@medusajs/medusa"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var MediaRepository = exports.MediaRepository = _database.dataSource.getRepository(_media.Media).extend({ insertBulk: function insertBulk(data) { var _this = this; return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var queryBuilder, _rawTags, rawTags; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: queryBuilder = _this.createQueryBuilder().insert().into(_media.Media).values(data); if (queryBuilder.connection.driver.isReturningSqlSupported("insert")) { _context.next = 6; break; } _context.next = 4; return queryBuilder.execute(); case 4: _rawTags = _context.sent; return _context.abrupt("return", _rawTags.generatedMaps.map(function (d) { return _this.create(d); })); case 6: _context.next = 8; return queryBuilder.returning("*").execute(); case 8: rawTags = _context.sent; return _context.abrupt("return", rawTags.generatedMaps.map(function (d) { return _this.create(d); })); case 10: case "end": return _context.stop(); } }, _callee); }))(); }, upsertMedia: function upsertMedia(media) { var _this2 = this; return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { var existing, created, queryBuilder, _rawTypes, rawTypes; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: if (media) { _context2.next = 2; break; } return _context2.abrupt("return", null); case 2: if (!media.url) { _context2.next = 12; break; } _context2.next = 5; return _this2.findOne({ where: { url: media.url } }); case 5: existing = _context2.sent; if (!existing) { _context2.next = 12; break; } if (!(existing.id && media.title && ((existing === null || existing === void 0 ? void 0 : existing.hint) !== media.hint || (existing === null || existing === void 0 ? void 0 : existing.title) !== media.title || (existing === null || existing === void 0 ? void 0 : existing.type) !== media.type || (existing === null || existing === void 0 ? void 0 : existing.url) !== media.url || (existing === null || existing === void 0 ? void 0 : existing.metadata) !== media.metadata))) { _context2.next = 11; break; } _context2.next = 10; return _this2.save(_objectSpread(_objectSpread({}, existing), {}, { hint: media.hint, title: media.title, type: media.type, url: media.url, metadata: media !== null && media !== void 0 && media.metadata ? (0, _medusa.setMetadata)(existing, media === null || media === void 0 ? void 0 : media.metadata) : existing === null || existing === void 0 ? void 0 : existing.metadata })); case 10: return _context2.abrupt("return", _context2.sent); case 11: return _context2.abrupt("return", existing); case 12: created = _this2.create({ hint: media.hint, title: media.title, type: media.type, url: media.url, metadata: media.metadata }); queryBuilder = _this2.createQueryBuilder().insert().into(_media.Media).values(created); if (queryBuilder.connection.driver.isReturningSqlSupported("insert")) { _context2.next = 19; break; } _context2.next = 17; return queryBuilder.execute(); case 17: _rawTypes = _context2.sent; return _context2.abrupt("return", _this2.create(_rawTypes.generatedMaps[0])); case 19: _context2.next = 21; return queryBuilder.returning("*").execute(); case 21: rawTypes = _context2.sent; return _context2.abrupt("return", _this2.create(rawTypes.generatedMaps[0])); case 23: case "end": return _context2.stop(); } }, _callee2); }))(); } }); var _default = exports["default"] = MediaRepository;