diff --git a/src/main/events/profile/get-me.ts b/src/main/events/profile/get-me.ts index 6e451134..1626125b 100644 --- a/src/main/events/profile/get-me.ts +++ b/src/main/events/profile/get-me.ts @@ -24,12 +24,18 @@ const getMe = async ( return me; }) - .catch((err) => { + .catch(async (err) => { if (err instanceof UserNotLoggedInError) { return null; } - return userAuthRepository.findOne({ where: { id: 1 } }); + const loggedUser = await userAuthRepository.findOne({ where: { id: 1 } }); + + if (loggedUser) { + return { ...loggedUser, id: loggedUser.userId }; + } + + return null; }); }; diff --git a/src/main/index.ts b/src/main/index.ts index e288302b..9ff74bf6 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -20,6 +20,8 @@ autoUpdater.setFeedURL({ autoUpdater.logger = logger; +logger.log("Init Hydra"); + const gotTheLock = app.requestSingleInstanceLock(); if (!gotTheLock) app.quit(); @@ -121,6 +123,7 @@ app.on("window-all-closed", () => { app.on("before-quit", () => { /* Disconnects libtorrent */ PythonInstance.kill(); + logger.log("Quit Hydra"); }); app.on("activate", () => { diff --git a/src/main/services/hydra-api.ts b/src/main/services/hydra-api.ts index f74403ce..97517b5b 100644 --- a/src/main/services/hydra-api.ts +++ b/src/main/services/hydra-api.ts @@ -10,7 +10,7 @@ import { UserNotLoggedInError } from "@shared"; export class HydraApi { private static instance: AxiosInstance; - private static readonly EXPIRATION_OFFSET_IN_MS = 1000 * 60 * 5; + private static readonly EXPIRATION_OFFSET_IN_MS = 1000 * 60 * 5; // 5 minutes private static secondsToMilliseconds = (seconds: number) => seconds * 1000; @@ -45,6 +45,8 @@ export class HydraApi { expirationTimestamp: tokenExpirationTimestamp, }; + logger.log("Sign in received", this.userAuth); + await userAuthRepository.upsert( { id: 1, @@ -74,7 +76,7 @@ export class HydraApi { return request; }, (error) => { - logger.log("request error", error); + logger.error("request error", error); return Promise.reject(error); } ); @@ -95,7 +97,13 @@ export class HydraApi { const { config } = error; - logger.error(config.method, config.baseURL, config.url, config.headers); + logger.error( + config.method, + config.baseURL, + config.url, + config.headers, + config.data + ); if (error.response) { logger.error("Response", error.response.status, error.response.data); @@ -146,6 +154,8 @@ export class HydraApi { this.userAuth.authToken = accessToken; this.userAuth.expirationTimestamp = tokenExpirationTimestamp; + logger.log("Token refreshed", this.userAuth); + userAuthRepository.upsert( { id: 1, @@ -170,6 +180,8 @@ export class HydraApi { private static handleUnauthorizedError = (err) => { if (err instanceof AxiosError && err.response?.status === 401) { + logger.error("401 - Current credentials:", this.userAuth); + this.userAuth = { authToken: "", expirationTimestamp: 0,