UNPKG

@atlaskit/global-search

Version:

A cross-product search component (batteries included)

141 lines (111 loc) 5.02 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getJiraPrefetchedData = exports.getConfluencePrefetchedData = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _Result = require("../model/Result"); var _configureSearchClients = _interopRequireDefault(require("./configureSearchClients")); var _CrossProductSearchClient = require("./CrossProductSearchClient"); var _JiraItemMapper = require("./JiraItemMapper"); var _types = require("./types"); var prefetchConfluence = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(confluenceClient) { var _yield$Promise$all, _yield$Promise$all2, objects, spaces; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return Promise.all([confluenceClient.getRecentItems(), confluenceClient.getRecentSpaces()]); case 2: _yield$Promise$all = _context.sent; _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2); objects = _yield$Promise$all2[0]; spaces = _yield$Promise$all2[1]; return _context.abrupt("return", { objects: { items: objects, totalSize: objects.length }, spaces: { items: spaces, totalSize: spaces.length }, people: { items: [], totalSize: 0 } }); case 7: case "end": return _context.stop(); } } }, _callee); })); return function prefetchConfluence(_x) { return _ref.apply(this, arguments); }; }(); var prefetchJira = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(crossProductSearchClient) { var _yield$crossProductSe, results; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return crossProductSearchClient.getRecentItems({ context: 'jira', modelParams: [], resultLimit: 250, mapItemToResult: function mapItemToResult(_, item) { return (0, _JiraItemMapper.mapJiraItemToResult)(_Result.AnalyticsType.RecentJira)(item); } }); case 2: _yield$crossProductSe = _context2.sent; results = _yield$crossProductSe.results; return _context2.abrupt("return", results); case 5: case "end": return _context2.stop(); } } }, _callee2); })); return function prefetchJira(_x2) { return _ref2.apply(this, arguments); }; }(); var getConfluencePrefetchedData = function getConfluencePrefetchedData(cloudId, confluenceUrl) { var config = confluenceUrl ? { confluenceUrl: confluenceUrl } : {}; var _configureSearchClien = (0, _configureSearchClients.default)(cloudId, config, false), confluenceClient = _configureSearchClien.confluenceClient, crossProductSearchClient = _configureSearchClien.crossProductSearchClient; // Pre-call the relevant endpoints to cache the results return { confluenceRecentItemsPromise: prefetchConfluence(confluenceClient), abTestPromise: (0, _defineProperty2.default)({}, _types.Scope.ConfluencePageBlogAttachment, crossProductSearchClient.getAbTestData(_types.Scope.ConfluencePageBlogAttachment)), crossProductRecentItemsPromise: Promise.resolve(_CrossProductSearchClient.EMPTY_CROSS_PRODUCT_SEARCH_RESPONSE.results) }; }; exports.getConfluencePrefetchedData = getConfluencePrefetchedData; var getJiraPrefetchedData = function getJiraPrefetchedData(cloudId, isUserAnonymous, jiraUrl) { var config = jiraUrl ? { jiraUrl: jiraUrl } : {}; var _configureSearchClien2 = (0, _configureSearchClients.default)(cloudId, config, isUserAnonymous), crossProductSearchClient = _configureSearchClien2.crossProductSearchClient; return { crossProductRecentItemsPromise: prefetchJira(crossProductSearchClient), abTestPromise: (0, _defineProperty2.default)({}, _types.Scope.JiraIssue, crossProductSearchClient.getAbTestData(_types.Scope.JiraIssue)) }; }; exports.getJiraPrefetchedData = getJiraPrefetchedData;