From f5532fa26fff0ff54108d3f9aa7a33b65aefacb8 Mon Sep 17 00:00:00 2001 From: Chubby Granny Chaser Date: Wed, 22 Jan 2025 01:57:27 +0000 Subject: [PATCH] chore: encrypting real-debrid --- .../user-preferences/get-user-preferences.ts | 17 ++++++++++++++--- src/main/main.ts | 17 +++++++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/main/events/user-preferences/get-user-preferences.ts b/src/main/events/user-preferences/get-user-preferences.ts index 5a20b2b7..19458496 100644 --- a/src/main/events/user-preferences/get-user-preferences.ts +++ b/src/main/events/user-preferences/get-user-preferences.ts @@ -1,10 +1,21 @@ import { registerEvent } from "../register-event"; import { db, levelKeys } from "@main/level"; +import { Crypto } from "@main/services"; import type { UserPreferences } from "@types"; const getUserPreferences = async () => - db.get(levelKeys.userPreferences, { - valueEncoding: "json", - }); + db + .get(levelKeys.userPreferences, { + valueEncoding: "json", + }) + .then((userPreferences) => { + if (userPreferences.realDebridApiToken) { + userPreferences.realDebridApiToken = Crypto.decrypt( + userPreferences.realDebridApiToken + ); + } + + return userPreferences; + }); registerEvent("getUserPreferences", getUserPreferences); diff --git a/src/main/main.ts b/src/main/main.ts index 5140e426..988e84b3 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -27,7 +27,9 @@ const loadState = async (userPreferences: UserPreferences | null) => { Aria2.spawn(); if (userPreferences?.realDebridApiToken) { - RealDebridClient.authorize(userPreferences?.realDebridApiToken); + RealDebridClient.authorize( + Crypto.decrypt(userPreferences.realDebridApiToken) + ); } Ludusavi.addManifestToLudusaviConfig(); @@ -97,10 +99,17 @@ const migrateFromSqlite = async () => { .select("*") .then(async (userPreferences) => { if (userPreferences.length > 0) { - await db.put(levelKeys.userPreferences, userPreferences[0]); + const { realDebridApiToken, ...rest } = userPreferences[0]; - if (userPreferences[0].language) { - await db.put(levelKeys.language, userPreferences[0].language); + await db.put(levelKeys.userPreferences, { + ...rest, + realDebridApiToken: realDebridApiToken + ? Crypto.encrypt(realDebridApiToken) + : null, + }); + + if (rest.language) { + await db.put(levelKeys.language, rest.language); } } })