@atlaskit/global-search
Version:
A cross-product search component (batteries included)
86 lines • 3.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var Result_1 = require("../model/Result");
var configureSearchClients_1 = tslib_1.__importDefault(require("./configureSearchClients"));
var CrossProductSearchClient_1 = require("./CrossProductSearchClient");
var JiraItemMapper_1 = require("./JiraItemMapper");
var types_1 = require("./types");
var prefetchConfluence = function (confluenceClient) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var _a, objects, spaces;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0: return [4 /*yield*/, Promise.all([
confluenceClient.getRecentItems(),
confluenceClient.getRecentSpaces(),
])];
case 1:
_a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), objects = _a[0], spaces = _a[1];
return [2 /*return*/, {
objects: {
items: objects,
totalSize: objects.length,
},
spaces: {
items: spaces,
totalSize: spaces.length,
},
people: {
items: [],
totalSize: 0,
},
}];
}
});
}); };
var prefetchJira = function (crossProductSearchClient) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var results;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, crossProductSearchClient.getRecentItems({
context: 'jira',
modelParams: [],
resultLimit: 250,
mapItemToResult: function (_, item) {
return JiraItemMapper_1.mapJiraItemToResult(Result_1.AnalyticsType.RecentJira)(item);
},
})];
case 1:
results = (_a.sent()).results;
return [2 /*return*/, results];
}
});
}); };
exports.getConfluencePrefetchedData = function (cloudId, confluenceUrl) {
var _a;
var config = confluenceUrl
? {
confluenceUrl: confluenceUrl,
}
: {};
var _b = configureSearchClients_1.default(cloudId, config, false), confluenceClient = _b.confluenceClient, crossProductSearchClient = _b.crossProductSearchClient;
// Pre-call the relevant endpoints to cache the results
return {
confluenceRecentItemsPromise: prefetchConfluence(confluenceClient),
abTestPromise: (_a = {},
_a[types_1.Scope.ConfluencePageBlogAttachment] = crossProductSearchClient.getAbTestData(types_1.Scope.ConfluencePageBlogAttachment),
_a),
crossProductRecentItemsPromise: Promise.resolve(CrossProductSearchClient_1.EMPTY_CROSS_PRODUCT_SEARCH_RESPONSE.results),
};
};
exports.getJiraPrefetchedData = function (cloudId, isUserAnonymous, jiraUrl) {
var _a;
var config = jiraUrl
? {
jiraUrl: jiraUrl,
}
: {};
var crossProductSearchClient = configureSearchClients_1.default(cloudId, config, isUserAnonymous).crossProductSearchClient;
return {
crossProductRecentItemsPromise: prefetchJira(crossProductSearchClient),
abTestPromise: (_a = {},
_a[types_1.Scope.JiraIssue] = crossProductSearchClient.getAbTestData(types_1.Scope.JiraIssue),
_a),
};
};
//# sourceMappingURL=prefetchResults.js.map