From 4834363fb5b99143ec42a2e3ae91ffa28fed16b6 Mon Sep 17 00:00:00 2001 From: Clansty Date: Mon, 25 Nov 2024 04:04:04 +0800 Subject: [PATCH] [+] Add LatestVersion to interface --- .../AquaMai.Config.Interfaces/IConfigMigrationManager.cs | 1 + AquaMai/AquaMai.Config/ConfigParser.cs | 4 ++-- .../AquaMai.Config/Migration/ConfigMigrationManager.cs | 8 ++++---- AquaMai/AquaMai.Core/ConfigLoader.cs | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/AquaMai/AquaMai.Config.Interfaces/IConfigMigrationManager.cs b/AquaMai/AquaMai.Config.Interfaces/IConfigMigrationManager.cs index aef08812..0c343b5e 100644 --- a/AquaMai/AquaMai.Config.Interfaces/IConfigMigrationManager.cs +++ b/AquaMai/AquaMai.Config.Interfaces/IConfigMigrationManager.cs @@ -4,4 +4,5 @@ public interface IConfigMigrationManager { public IConfigView Migrate(IConfigView config); public string GetVersion(IConfigView config); + public string LatestVersion { get; } } diff --git a/AquaMai/AquaMai.Config/ConfigParser.cs b/AquaMai/AquaMai.Config/ConfigParser.cs index e84d8cdb..cbca0980 100644 --- a/AquaMai/AquaMai.Config/ConfigParser.cs +++ b/AquaMai/AquaMai.Config/ConfigParser.cs @@ -31,9 +31,9 @@ public class ConfigParser : IConfigParser public void Parse(IConfig config, IConfigView configView) { var configVersion = ConfigMigrationManager.Instance.GetVersion(configView); - if (configVersion != ConfigMigrationManager.Instance.latestVersion) + if (configVersion != ConfigMigrationManager.Instance.LatestVersion) { - throw new InvalidOperationException($"Config version mismatch: expected {ConfigMigrationManager.Instance.latestVersion}, got {configVersion}"); + throw new InvalidOperationException($"Config version mismatch: expected {ConfigMigrationManager.Instance.LatestVersion}, got {configVersion}"); } Hydrate((Config)config, ((ConfigView)configView).root, ""); } diff --git a/AquaMai/AquaMai.Config/Migration/ConfigMigrationManager.cs b/AquaMai/AquaMai.Config/Migration/ConfigMigrationManager.cs index d0be4bfd..98958830 100644 --- a/AquaMai/AquaMai.Config/Migration/ConfigMigrationManager.cs +++ b/AquaMai/AquaMai.Config/Migration/ConfigMigrationManager.cs @@ -15,11 +15,11 @@ public class ConfigMigrationManager : IConfigMigrationManager new ConfigMigration_V1_0_V2_0() }.ToDictionary(m => m.FromVersion); - public readonly string latestVersion; + public string LatestVersion { get; } private ConfigMigrationManager() { - latestVersion = migrationMap.Values + LatestVersion = migrationMap.Values .Select(m => m.ToVersion) .OrderByDescending(version => { @@ -39,9 +39,9 @@ public class ConfigMigrationManager : IConfigMigrationManager config = migration.Migrate(config); currentVersion = migration.ToVersion; } - if (currentVersion != latestVersion) + if (currentVersion != LatestVersion) { - throw new ArgumentException($"Could not migrate the config from v{currentVersion} to v{latestVersion}"); + throw new ArgumentException($"Could not migrate the config from v{currentVersion} to v{LatestVersion}"); } return config; } diff --git a/AquaMai/AquaMai.Core/ConfigLoader.cs b/AquaMai/AquaMai.Core/ConfigLoader.cs index 92a9eaa1..e87088fc 100644 --- a/AquaMai/AquaMai.Core/ConfigLoader.cs +++ b/AquaMai/AquaMai.Core/ConfigLoader.cs @@ -46,7 +46,7 @@ public static class ConfigLoader var configText = File.ReadAllText(ConfigFile); var configView = new ConfigView(configText); var configVersion = ConfigMigrationManager.Instance.GetVersion(configView); - if (configVersion != ConfigMigrationManager.Instance.latestVersion) + if (configVersion != ConfigMigrationManager.Instance.LatestVersion) { File.WriteAllText(OldConfigFile(configVersion), configText); configView = (ConfigView)ConfigMigrationManager.Instance.Migrate(configView);