From bb0f780e7f6608b312772f503545228e1df79138 Mon Sep 17 00:00:00 2001 From: Casper Sparre Date: Tue, 14 Oct 2025 00:35:31 +0200 Subject: [PATCH] Fixed parameters to ensure no null values are passed incorrectly --- OF DL/Helpers/APIHelper.cs | 4 ++-- OF DL/Helpers/DBHelper.cs | 6 +++--- OF DL/Helpers/Interfaces/IAPIHelper.cs | 2 +- OF DL/Helpers/Interfaces/IDBHelper.cs | 2 +- OF DL/Program.cs | 10 +++++----- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/OF DL/Helpers/APIHelper.cs b/OF DL/Helpers/APIHelper.cs index fea8e1c..58c74f0 100644 --- a/OF DL/Helpers/APIHelper.cs +++ b/OF DL/Helpers/APIHelper.cs @@ -248,7 +248,7 @@ public class APIHelper : IAPIHelper } - public async Task GetUserInfo(string endpoint) + public async Task GetUserInfo(string username, string endpoint) { Log.Debug($"Calling GetUserInfo: {endpoint}"); @@ -277,7 +277,7 @@ public class APIHelper : IAPIHelper user = JsonConvert.DeserializeObject(body, m_JsonSerializerSettings); if (user is not null && !endpoint.EndsWith("/me")) - await m_DBHelper.UpdateUserInfo(user); + await m_DBHelper.UpdateUserInfo(username, user); return user; } diff --git a/OF DL/Helpers/DBHelper.cs b/OF DL/Helpers/DBHelper.cs index 7516c2d..2126c32 100644 --- a/OF DL/Helpers/DBHelper.cs +++ b/OF DL/Helpers/DBHelper.cs @@ -254,9 +254,9 @@ namespace OF_DL.Helpers return result; } - public async Task UpdateUserInfo(User? user) + public async Task UpdateUserInfo(string username, User? user) { - if (user is null) + if (user?.id is null) return; SqliteConnection connection = await GetAndOpenConnectionAsync($"Data Source={Directory.GetCurrentDirectory()}/users.db"); @@ -270,7 +270,7 @@ namespace OF_DL.Helpers ); cmdInfo.Parameters.AddWithValue("@userId", user.id); - cmdInfo.Parameters.AddWithValue("@name", user.name); + cmdInfo.Parameters.AddWithValue("@name", user.name ?? user.username ?? username); cmdInfo.Parameters.AddWithValue("@about", user.about); cmdInfo.Parameters.AddWithValue("@expiresOn", user.subscribedByExpireDate); cmdInfo.Parameters.AddWithValue("@photoCount", user.photosCount ?? 0); diff --git a/OF DL/Helpers/Interfaces/IAPIHelper.cs b/OF DL/Helpers/Interfaces/IAPIHelper.cs index 2cf2680..ce9b5ef 100644 --- a/OF DL/Helpers/Interfaces/IAPIHelper.cs +++ b/OF DL/Helpers/Interfaces/IAPIHelper.cs @@ -29,7 +29,7 @@ namespace OF_DL.Helpers Task GetPaidMessages(string endpoint, string folder, string username, int userId, IDownloadConfig config, StatusContext ctx); Task> GetPurchasedTabUsers(string endpoint, IDownloadConfig config, Dictionary users); Task> GetPurchasedTab(string endpoint, string folder, IDownloadConfig config, Dictionary users); - Task GetUserInfo(string endpoint); + Task GetUserInfo(string username, string endpoint); Task GetUserInfoById(string endpoint); Dictionary GetDynamicHeaders(string path, string queryParam); Task> GetActiveSubscriptions(string endpoint, bool includeRestrictedSubscriptions, IDownloadConfig config); diff --git a/OF DL/Helpers/Interfaces/IDBHelper.cs b/OF DL/Helpers/Interfaces/IDBHelper.cs index 0a83ae5..a978f1c 100644 --- a/OF DL/Helpers/Interfaces/IDBHelper.cs +++ b/OF DL/Helpers/Interfaces/IDBHelper.cs @@ -15,6 +15,6 @@ namespace OF_DL.Helpers Task GetStoredFileSize(string folder, long media_id, string api_type); Task CheckDownloaded(string folder, long media_id, string api_type); Task GetMostRecentPostDate(string folder); - Task UpdateUserInfo(User? user); + Task UpdateUserInfo(string username, User? user); } } diff --git a/OF DL/Program.cs b/OF DL/Program.cs index 33e9642..acd1ec0 100644 --- a/OF DL/Program.cs +++ b/OF DL/Program.cs @@ -912,7 +912,7 @@ public class Program //Check if auth is valid var apiHelper = new APIHelper(auth, config); - Entities.User? validate = await apiHelper.GetUserInfo($"/users/me"); + Entities.User? validate = await apiHelper.GetUserInfo(string.Empty, $"/users/me"); if (validate == null || (validate?.name == null && validate?.username == null)) { Log.Error("Auth failed"); @@ -1052,8 +1052,8 @@ public class Program try { Log.Information("Updating User Info for for: {Username:l}"); - User? user_info = await m_ApiHelper.GetUserInfo($"/users/{username}"); - await dbHelper.UpdateUserInfo(user_info); + User? user_info = await m_ApiHelper.GetUserInfo(username, $"/users/{username}"); + await dbHelper.UpdateUserInfo(username, user_info); } catch (Exception ex) { @@ -1281,7 +1281,7 @@ public class Program Log.Debug($"Folder for {user.Key} already created"); } - Entities.User user_info = await m_ApiHelper.GetUserInfo($"/users/{user.Key}"); + Entities.User user_info = await m_ApiHelper.GetUserInfo(user.Key, $"/users/{user.Key}"); await dBHelper.CreateDB(path); } @@ -1474,7 +1474,7 @@ public class Program var downloadContext = new DownloadContext(Auth, Config, GetCreatorFileNameFormatConfig(Config, user.Key), m_ApiHelper, dBHelper); - User? user_info = await m_ApiHelper.GetUserInfo($"/users/{user.Key}"); + User? user_info = await m_ApiHelper.GetUserInfo(user.Key, $"/users/{user.Key}"); if (Config.DownloadAvatarHeaderPhoto && user_info != null) {