Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | 8x 80x | import { GlobalRequestOptions } from "../../request/main/main.request.type";
import { SearchRequestParams } from "../../request/search/search.request.type";
import { customIdentity, customPickBy } from "../../utils";
import { LablebAPIResponseWrapper } from "../lableb-client/lableb-client.type";
import { SearchResponse, SearchResponseWithFeedback } from "./search.type";
export function injectFeedbackDataIntoSearchResponse({
globalOptions,
searchOptions,
searchResponse
}: {
searchOptions: SearchRequestParams,
searchResponse: LablebAPIResponseWrapper<SearchResponse>,
globalOptions: GlobalRequestOptions,
}): LablebAPIResponseWrapper<SearchResponseWithFeedback> {
return {
...searchResponse,
response: {
...searchResponse.response,
results: searchResponse.response.results.map((document, index) => ({
...document,
feedback: customPickBy({
query: searchOptions.query,
itemId: document.id,
itemOrder: index,
url: document.url,
userCountry: searchOptions.userCountry || globalOptions.userCountry,
userId: searchOptions.userId || globalOptions.userId,
userIp: searchOptions.userIp || globalOptions.userIp,
sessionId:
searchOptions.sessionId ||
(searchOptions.sessionIdGenerator ? searchOptions.sessionIdGenerator() : undefined) ||
globalOptions.sessionId ||
(globalOptions.sessionIdGenerator ? globalOptions.sessionIdGenerator() : undefined),
}, customIdentity),
}))
}
}
}
|