Implementação da chamada para obtenção do Resource Current User
This commit is contained in:
@@ -76,6 +76,8 @@
|
||||
"https://comcipapic-oalprod.integration.ocp.oraclecloud.com/ic/builder/rt/oalset_semc/live;profile=PROD/services/auth/1.1/proxy/oalsetCRMRestAPIElastic/uri/https/eeho.fa.us2.oraclecloud.com/crmRestApi/searchResources/latest/custom-actions/queries",
|
||||
timeEntriesSummaryUrl:
|
||||
"https://comcipapic-oalprod.integration.ocp.oraclecloud.com/ic/builder/rt/oalset_semc/live;profile=PROD/services/auth/1.1/proxy/oalsetSeaaSOKECustomRestAPI/uri/https/gxpap.oracle.com/oalcrm/service/set/seaas/mgmt/timeEntries/summary",
|
||||
resourceCurrentUserUrl:
|
||||
"https://comcipapic-oalprod.integration.ocp.oraclecloud.com/ic/builder/rt/oalset_timeentrymobile/live;profile=PROD/services/auth/1.1/proxy/oke_seaas/uri/https/gxpap.oracle.com/oalcrm/service/set/seaas/crm/resourceUsers",
|
||||
appVersion: "version_1754044416761",
|
||||
};
|
||||
|
||||
@@ -2097,6 +2099,12 @@
|
||||
|
||||
const user = await fetchCurrentUser();
|
||||
|
||||
updateLoadingProgress("Loading current resource user", 8);
|
||||
|
||||
const resourceCurrentUser = await fetchResourceCurrentUser(user.userEmail).catch(
|
||||
() => null
|
||||
);
|
||||
|
||||
updateLoadingProgress("Loading customer summary pages", 12);
|
||||
|
||||
const customers = await fetchAllCustomers(user.userEmail);
|
||||
@@ -2208,13 +2216,16 @@
|
||||
|
||||
updateLoadingProgress("Loading pending delivery service requests", 90);
|
||||
|
||||
const pendingServiceRequests = await fetchPendingServiceRequests();
|
||||
const pendingServiceRequests = await fetchPendingServiceRequests().catch(
|
||||
() => []
|
||||
);
|
||||
updateLoadingProgress("Preparing dashboard cache", 96);
|
||||
const finalCustomers = Array.from(customersMap.values());
|
||||
const exportPayload = createExportPayload(
|
||||
user,
|
||||
finalCustomers,
|
||||
pendingServiceRequests
|
||||
pendingServiceRequests,
|
||||
resourceCurrentUser
|
||||
);
|
||||
const dataset = createDatasetSnapshot(exportPayload);
|
||||
|
||||
@@ -2686,6 +2697,39 @@
|
||||
};
|
||||
}
|
||||
|
||||
async function fetchResourceCurrentUser(userEmail) {
|
||||
const normalizedUserEmail = cleanString(userEmail);
|
||||
|
||||
if (!normalizedUserEmail) {
|
||||
throw new Error("Unable to request resource current user without userEmail.");
|
||||
}
|
||||
|
||||
const url = `${COMCIP_REQUEST.resourceCurrentUserUrl}?emailAddress=${encodeURIComponent(
|
||||
normalizedUserEmail
|
||||
)}`;
|
||||
const response = await sendComcipGetMessage(url);
|
||||
|
||||
if (!response?.ok) {
|
||||
const payloadMessage =
|
||||
typeof response?.payload === "string"
|
||||
? cleanString(response.payload)
|
||||
: firstNonEmptyString([
|
||||
response?.payload?.message,
|
||||
response?.payload?.error,
|
||||
response?.payload?.title,
|
||||
response?.payload?.detail,
|
||||
]);
|
||||
|
||||
throw new Error(
|
||||
payloadMessage ||
|
||||
response?.error ||
|
||||
`COMCIP resource user request failed (${response?.status || 0}).`
|
||||
);
|
||||
}
|
||||
|
||||
return response.payload;
|
||||
}
|
||||
|
||||
|
||||
async function fetchAllCustomers(userEmail) {
|
||||
const limit = 49;
|
||||
@@ -3142,10 +3186,16 @@
|
||||
};
|
||||
}
|
||||
|
||||
function createExportPayload(user, customers, pendingServiceRequests = []) {
|
||||
function createExportPayload(
|
||||
user,
|
||||
customers,
|
||||
pendingServiceRequests = [],
|
||||
resourceCurrentUser = null
|
||||
) {
|
||||
return {
|
||||
generatedAt: new Date().toISOString(),
|
||||
user,
|
||||
resourceCurrentUser,
|
||||
customers,
|
||||
pendingServiceRequests,
|
||||
};
|
||||
@@ -3156,6 +3206,7 @@
|
||||
|
||||
return {
|
||||
user: normalizedPayload.user,
|
||||
resourceCurrentUser: normalizedPayload.resourceCurrentUser,
|
||||
customers: normalizedPayload.customers,
|
||||
exportPayload: normalizedPayload,
|
||||
summary: buildSummary(normalizedPayload),
|
||||
@@ -3262,6 +3313,7 @@
|
||||
]) || "",
|
||||
administrator: Boolean(exportPayload?.user?.administrator),
|
||||
};
|
||||
const resourceCurrentUser = exportPayload?.resourceCurrentUser ?? null;
|
||||
const normalizedCustomers = extractArray(exportPayload?.customers, ["customers"])
|
||||
.map((customer) => ({
|
||||
customerId: cleanString(customer?.customerId || customer?.id),
|
||||
@@ -3284,6 +3336,7 @@
|
||||
generatedAt:
|
||||
firstNonEmptyString([exportPayload?.generatedAt]) || new Date().toISOString(),
|
||||
user: normalizedUser,
|
||||
resourceCurrentUser,
|
||||
customers: normalizedCustomers,
|
||||
pendingServiceRequests,
|
||||
};
|
||||
@@ -3916,7 +3969,8 @@
|
||||
const exportPayload = createExportPayload(
|
||||
appState.dataset.user,
|
||||
updatedCustomers,
|
||||
appState.dataset.exportPayload?.pendingServiceRequests || []
|
||||
appState.dataset.exportPayload?.pendingServiceRequests || [],
|
||||
appState.dataset.exportPayload?.resourceCurrentUser || null
|
||||
);
|
||||
const nextDataset = createDatasetSnapshot(exportPayload);
|
||||
const previousDetailModal = appState.detailModal
|
||||
|
||||
Reference in New Issue
Block a user