diff --git a/GalaxyViewer/Services/ILiteDbService.cs b/GalaxyViewer/Services/ILiteDbService.cs index 7b60ce6..cb7d36b 100644 --- a/GalaxyViewer/Services/ILiteDbService.cs +++ b/GalaxyViewer/Services/ILiteDbService.cs @@ -6,7 +6,7 @@ namespace GalaxyViewer.Services; public interface ILiteDbService { LiteDatabase Database { get; } - ILiteCollection GetCollection(string name); SessionModel GetSession(); void SaveSession(SessionModel session); + ILiteCollection GetCollection(string name); } \ No newline at end of file diff --git a/GalaxyViewer/Services/LiteDbService.cs b/GalaxyViewer/Services/LiteDbService.cs index fdcf276..ec86886 100644 --- a/GalaxyViewer/Services/LiteDbService.cs +++ b/GalaxyViewer/Services/LiteDbService.cs @@ -95,15 +95,6 @@ namespace GalaxyViewer.Services private void ClearSessionData() { - // Commented out the code that clears the session data - // ILiteCollection? sessionCollection; - // if (_database.CollectionExists("session")) - // { - // sessionCollection = _database.GetCollection("session"); - // sessionCollection.DeleteAll(); - // Log.Information("Session data cleared on startup"); - // } - var sessionCollection = _database.GetCollection("session"); if (sessionCollection.Count() == 0) { @@ -119,12 +110,12 @@ namespace GalaxyViewer.Services public SessionModel GetSession() { - return _database.GetCollection("sessions").FindOne(Query.All()) ?? new SessionModel(); + return _database.GetCollection("session").FindOne(Query.All()) ?? new SessionModel(); } public void SaveSession(SessionModel session) { - _database.GetCollection("sessions").Upsert(session); + _database.GetCollection("session").Upsert(session); } public void Dispose() diff --git a/GalaxyViewer/Services/SessionManager.cs b/GalaxyViewer/Services/SessionManager.cs index 245fc1b..efea829 100644 --- a/GalaxyViewer/Services/SessionManager.cs +++ b/GalaxyViewer/Services/SessionManager.cs @@ -1,9 +1,9 @@ -using System; using GalaxyViewer.Models; using GalaxyViewer.Services; -using Serilog; +using LiteDB; +using System; -namespace GalaxyViewer +namespace GalaxyViewer.Services { public class SessionManager { @@ -23,19 +23,15 @@ namespace GalaxyViewer get => _session; set { - if (_session != value) - { - _session = value; - _liteDbService.SaveSession(_session); - OnSessionChanged(); - } + _session = value; + _liteDbService.SaveSession(_session); + OnSessionChanged(_session); } } - protected virtual void OnSessionChanged() + protected virtual void OnSessionChanged(SessionModel session) { - SessionChanged?.Invoke(this, _session); - Log.Information("Session changed: {@Session}", _session); + SessionChanged?.Invoke(this, session); } } } \ No newline at end of file diff --git a/GalaxyViewer/Tests/SessionManagerTests.cs b/GalaxyViewer/Tests/SessionManagerTests.cs index 5593407..e2a9a0e 100644 --- a/GalaxyViewer/Tests/SessionManagerTests.cs +++ b/GalaxyViewer/Tests/SessionManagerTests.cs @@ -24,8 +24,11 @@ public class SessionManagerTests }; var mockSessionCollection = new Mock>(); - mockLiteDbService.Setup(service => service.GetCollection("sessions")).Returns(mockSessionCollection.Object); - mockSessionCollection.Setup(collection => collection.FindOne(It.IsAny())).Returns(session); + mockLiteDbService.Setup(service => service.GetCollection("session")) + .Returns(mockSessionCollection.Object); + mockLiteDbService.Setup(service => service.GetSession()).Returns(session); + mockLiteDbService.Setup(service => service.SaveSession(It.IsAny())) + .Callback(s => mockSessionCollection.Object.Upsert(s)); var sessionManager = new SessionManager(mockLiteDbService.Object); @@ -41,6 +44,7 @@ public class SessionManagerTests }; // Assert - mockSessionCollection.Verify(collection => collection.Upsert(It.IsAny()), Times.Once); + mockSessionCollection.Verify(collection => collection.Upsert(It.IsAny()), + Times.Once); } } \ No newline at end of file diff --git a/GalaxyViewer/ViewModels/LoginViewModel.cs b/GalaxyViewer/ViewModels/LoginViewModel.cs index f385acb..b034684 100644 --- a/GalaxyViewer/ViewModels/LoginViewModel.cs +++ b/GalaxyViewer/ViewModels/LoginViewModel.cs @@ -166,7 +166,9 @@ namespace GalaxyViewer.ViewModels // Use a specific uriString for the testing phase var isTestingPhase = true; // Set this flag based on your testing condition - loginParams.URI = isTestingPhase ? "https://login.agni.lindenlab.com/cgi-bin/login.cgi" : SelectedGrid.LoginUri; + loginParams.URI = isTestingPhase + ? "https://login.agni.lindenlab.com/cgi-bin/login.cgi" + : SelectedGrid.LoginUri; loginParams.MfaEnabled = true; loginParams.Platform = ourPlatform; loginParams.PlatformVersion = Environment.OSVersion.VersionString;