Updated the logic to retrieve the default savedSearchNumber dynamically
This commit is contained in:
35
dist/chromium/content.js
vendored
35
dist/chromium/content.js
vendored
@@ -2653,12 +2653,29 @@ function createFusionOpportunities({
|
||||
environment
|
||||
}) {
|
||||
const { fetch } = environment;
|
||||
async function requestOpportunitiesPage(token, period, dateRange, offset, accumulatedItems, requestVersion, page) {
|
||||
async function requestOpportunitiesSavedSearch(token) {
|
||||
const url = OPPORTUNITIES_QUERY_URL + "?access=userAdmin&applications=461e5791-9f15-4cd1-b5cd-19e8480cbce4&entity=Opportunity&language=en&limit=-1&returnIdentifierOnlyFields=true";
|
||||
const headers = { Accept: "application/json", Authorization: `Bearer ${token}` };
|
||||
const entry = logRequestStart({ name: "requestOpportunitiesSavedSearch", method: "GET", url, headers });
|
||||
try {
|
||||
const response = await fetch.call(environment.window, url, { method: "GET", credentials: "include", headers });
|
||||
logRequestSuccess(entry, response, await readResponseBodyForDebug(response));
|
||||
if (!response.ok) throw new Error(`requestOpportunitiesSavedSearch failed with status ${response.status}.`);
|
||||
const data = await response.json();
|
||||
if (!Array.isArray(data?.items)) throw new Error("requestOpportunitiesSavedSearch returned an invalid response.");
|
||||
const defaults = data.items.filter(item => item.isDefault === true);
|
||||
if (defaults.length !== 1 || typeof defaults[0].savedSearchNumber !== "string" || !defaults[0].savedSearchNumber.trim()) throw new Error("A unique default Opportunity saved search with savedSearchNumber was not returned.");
|
||||
return defaults[0].savedSearchNumber.trim();
|
||||
} catch (error) { logRequestFailure(entry, error.message); throw error; }
|
||||
}
|
||||
async function requestOpportunitiesPage(token, period, dateRange, offset, accumulatedItems, requestVersion, page, savedSearchNumber) {
|
||||
if (!isCurrentPeriodRequest(requestVersion)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const payload = createOpportunitiesQueryPayload(dateRange, offset);
|
||||
if (!savedSearchNumber) savedSearchNumber = await requestOpportunitiesSavedSearch(token);
|
||||
if (!isCurrentPeriodRequest(requestVersion)) return null;
|
||||
const payload = createOpportunitiesQueryPayload(dateRange, offset, savedSearchNumber);
|
||||
const requestBody = JSON.stringify(payload);
|
||||
const requestEntry = logRequestStart({
|
||||
name: "requestOpportunities",
|
||||
@@ -2682,7 +2699,7 @@ function createFusionOpportunities({
|
||||
});
|
||||
|
||||
try {
|
||||
const response = await fetch(OPPORTUNITIES_QUERY_URL, {
|
||||
const response = await fetch.call(environment.window, OPPORTUNITIES_QUERY_URL, {
|
||||
method: "POST",
|
||||
credentials: "include",
|
||||
headers: {
|
||||
@@ -2726,7 +2743,8 @@ function createFusionOpportunities({
|
||||
currentOffset + receivedCount,
|
||||
allItems,
|
||||
requestVersion,
|
||||
page + 1
|
||||
page + 1,
|
||||
savedSearchNumber
|
||||
);
|
||||
} catch (error) {
|
||||
logRequestFailure(requestEntry, error.message || "Request failed.");
|
||||
@@ -2734,7 +2752,8 @@ function createFusionOpportunities({
|
||||
}
|
||||
}
|
||||
|
||||
function createOpportunitiesQueryPayload(dateRange, offset) {
|
||||
function createOpportunitiesQueryPayload(dateRange, offset, savedSearchNumber) {
|
||||
if (typeof savedSearchNumber !== "string" || !savedSearchNumber.trim()) throw new Error("Missing default Opportunity savedSearchNumber.");
|
||||
return {
|
||||
aggregationResults: false,
|
||||
applications: ["ORACLE-ISS-APP"],
|
||||
@@ -2802,13 +2821,13 @@ function createFusionOpportunities({
|
||||
language: "en",
|
||||
skipInValidFields: true,
|
||||
skipHiddenFromUIFields: true,
|
||||
copiedFrom: "queries/d5dbcd01-9ff3-40be-9b5b-64744cbf7162",
|
||||
copiedFrom: "queries/" + savedSearchNumber,
|
||||
limit: OPPORTUNITIES_PAGE_LIMIT,
|
||||
offset
|
||||
};
|
||||
}
|
||||
|
||||
return { requestOpportunitiesPage, createOpportunitiesQueryPayload };
|
||||
return { requestOpportunitiesPage, createOpportunitiesQueryPayload, requestOpportunitiesSavedSearch };
|
||||
}
|
||||
|
||||
// Source: src/services/fusion/crm-service-requests.js
|
||||
@@ -9847,7 +9866,7 @@ function createDebugContentView({
|
||||
|
||||
function getRequestCategory(entry) {
|
||||
if (/^request(?:CurrentUser|TokenRelay|ConsumerTokenService|CustomerTokenService)/.test(entry.name)) return "authentication";
|
||||
if (entry.name === "requestOpportunities") return "opportunities";
|
||||
if (["requestOpportunities", "requestOpportunitiesSavedSearch"].includes(entry.name)) return "opportunities";
|
||||
if (entry.name === "requestOpptyProducts") return "products";
|
||||
if (["requestWlActions", "requestActionTeamMembers", "requestActionFindLookup", "requestMgmtAction"].includes(entry.name)) return "actions";
|
||||
if (entry.name === "requestGenerateAiSummary") return "ai";
|
||||
|
||||
Reference in New Issue
Block a user