General bug fixes from testing, refresh on shop change, update display

This commit is contained in:
Patrick Fic
2025-04-14 15:59:04 -07:00
parent 0ec741912e
commit affe412586
7 changed files with 131 additions and 58 deletions

View File

@@ -13,7 +13,7 @@ import {
} from "../graphql/queries";
import { default as Store, default as store } from "../store/store";
import { checkForAppUpdatesContinuously } from "../util/checkForAppUpdates";
import { sendIpcToRenderer } from "../util/toRenderer";
import { getMainWindow, sendIpcToRenderer } from "../util/toRenderer";
const ipcMainHandleAuthStateChanged = async (
_event: IpcMainEvent,
@@ -23,27 +23,10 @@ const ipcMainHandleAuthStateChanged = async (
try {
//Need to query the currently active shop, and store the metadata as well.
//Also need to query the OP Codes for decoding reference.
const activeBodyshop: ActiveBodyshopQueryResult = await client.request(
QUERY_ACTIVE_BODYSHOP_TYPED,
);
Store.set("app.bodyshop", activeBodyshop.bodyshops[0]);
const OpCodes: MasterdataQueryResult = await client.request(
QUERY_MASTERDATA_TYPED,
{
key: `${activeBodyshop.bodyshops[0].region_config}_ciecaopcodes`,
},
);
Store.set(
"app.masterdata.opcodes",
JSON.parse(OpCodes.masterdata[0]?.value),
);
log.debug("Received authentication state change from Renderer.", user);
log.debug("Requery shop information & master data.");
handleShopMetaDataFetch();
//Check for updates
const convCo = activeBodyshop.bodyshops[0].convenient_company;
const convCo = Store.get("app.bodyshop");
if (convCo === "alpha") {
autoUpdater.channel = "alpha";
log.debug("Setting update channel to ALPHA channel.");
@@ -64,6 +47,39 @@ const ipcMainHandleAuthStateChanged = async (
checkForAppUpdatesContinuously();
};
const handleShopMetaDataFetch = async (
reloadWindow: boolean,
): Promise<void> => {
try {
log.debug("Requery shop information & master data.");
const activeBodyshop: ActiveBodyshopQueryResult = await client.request(
QUERY_ACTIVE_BODYSHOP_TYPED,
);
Store.set("app.bodyshop", activeBodyshop.bodyshops[0]);
const OpCodes: MasterdataQueryResult = await client.request(
QUERY_MASTERDATA_TYPED,
{
key: `${activeBodyshop.bodyshops[0].region_config}_ciecaopcodes`,
},
);
Store.set(
"app.masterdata.opcodes",
JSON.parse(OpCodes.masterdata[0]?.value),
);
if (reloadWindow) {
const mainWindow = getMainWindow();
if (mainWindow) {
mainWindow.reload();
}
}
} catch (error) {
log.error("Error while fetching shop metadata", errorTypeCheck(error));
throw error;
}
};
const ipMainHandleResetPassword = async (): Promise<void> => {
shell.openExternal(
store.get("app.isTest")
@@ -72,4 +88,8 @@ const ipMainHandleResetPassword = async (): Promise<void> => {
);
};
export { ipcMainHandleAuthStateChanged, ipMainHandleResetPassword };
export {
ipcMainHandleAuthStateChanged,
ipMainHandleResetPassword,
handleShopMetaDataFetch,
};