Fix deserialization mistakes

This commit is contained in:
JustArchi
2020-11-15 00:30:20 +01:00
parent 9642b067a0
commit 76818e28d7
5 changed files with 54 additions and 54 deletions

View File

@@ -41,7 +41,7 @@ namespace ArchiSteamFarm.CustomPlugins.ExamplePlugin {
internal sealed class ExamplePlugin : IASF, IBot, IBotCommand, IBotConnection, IBotFriendRequest, IBotMessage, IBotModules, IBotTradeOffer {
// Plugins can expose custom properties for our GET /Api/Plugins API call, simply annotate them with [JsonProperty] (or keep public)
[JsonProperty]
public readonly bool CustomIsEnabledField = true;
public bool CustomIsEnabledField { get; private set; } = true;
// This is used for identification purposes, typically you want to use a friendly name of your plugin here, such as the name of your main class
// Please note that this property can have direct dependencies only on structures that were initialized by the constructor, as it's possible to be called before OnLoaded() takes place

View File

@@ -24,7 +24,7 @@ using Newtonsoft.Json;
namespace ArchiSteamFarm.OfficialPlugins.SteamTokenDumper {
public sealed class GlobalConfigExtension {
[JsonProperty]
public readonly bool SteamTokenDumperPluginEnabled;
public bool SteamTokenDumperPluginEnabled { get; private set; }
[JsonConstructor]
internal GlobalConfigExtension() { }

View File

@@ -138,82 +138,82 @@ namespace ArchiSteamFarm {
private static readonly SemaphoreSlim WriteSemaphore = new(1, 1);
[JsonProperty(Required = Required.DisallowNull)]
public bool AcceptGifts { get; } = DefaultAcceptGifts;
public bool AcceptGifts { get; private set; } = DefaultAcceptGifts;
[JsonProperty(Required = Required.DisallowNull)]
public bool AutoSteamSaleEvent { get; } = DefaultAutoSteamSaleEvent;
public bool AutoSteamSaleEvent { get; private set; } = DefaultAutoSteamSaleEvent;
[JsonProperty(Required = Required.DisallowNull)]
public EBotBehaviour BotBehaviour { get; } = DefaultBotBehaviour;
public EBotBehaviour BotBehaviour { get; private set; } = DefaultBotBehaviour;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableHashSet<Steam.Asset.EType> CompleteTypesToSend { get; } = DefaultCompleteTypesToSend;
public ImmutableHashSet<Steam.Asset.EType> CompleteTypesToSend { get; private set; } = DefaultCompleteTypesToSend;
[JsonProperty]
public string? CustomGamePlayedWhileFarming { get; } = DefaultCustomGamePlayedWhileFarming;
public string? CustomGamePlayedWhileFarming { get; private set; } = DefaultCustomGamePlayedWhileFarming;
[JsonProperty]
public string? CustomGamePlayedWhileIdle { get; } = DefaultCustomGamePlayedWhileIdle;
public string? CustomGamePlayedWhileIdle { get; private set; } = DefaultCustomGamePlayedWhileIdle;
[JsonProperty(Required = Required.DisallowNull)]
public bool Enabled { get; } = DefaultEnabled;
public bool Enabled { get; private set; } = DefaultEnabled;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableList<EFarmingOrder> FarmingOrders { get; } = DefaultFarmingOrders;
public ImmutableList<EFarmingOrder> FarmingOrders { get; private set; } = DefaultFarmingOrders;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableHashSet<uint> GamesPlayedWhileIdle { get; } = DefaultGamesPlayedWhileIdle;
public ImmutableHashSet<uint> GamesPlayedWhileIdle { get; private set; } = DefaultGamesPlayedWhileIdle;
[JsonProperty(Required = Required.DisallowNull)]
public byte HoursUntilCardDrops { get; } = DefaultHoursUntilCardDrops;
public byte HoursUntilCardDrops { get; private set; } = DefaultHoursUntilCardDrops;
[JsonProperty(Required = Required.DisallowNull)]
public bool IdlePriorityQueueOnly { get; } = DefaultIdlePriorityQueueOnly;
public bool IdlePriorityQueueOnly { get; private set; } = DefaultIdlePriorityQueueOnly;
[JsonProperty(Required = Required.DisallowNull)]
public bool IdleRefundableGames { get; } = DefaultIdleRefundableGames;
public bool IdleRefundableGames { get; private set; } = DefaultIdleRefundableGames;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableHashSet<Steam.Asset.EType> LootableTypes { get; } = DefaultLootableTypes;
public ImmutableHashSet<Steam.Asset.EType> LootableTypes { get; private set; } = DefaultLootableTypes;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableHashSet<Steam.Asset.EType> MatchableTypes { get; } = DefaultMatchableTypes;
public ImmutableHashSet<Steam.Asset.EType> MatchableTypes { get; private set; } = DefaultMatchableTypes;
[JsonProperty(Required = Required.DisallowNull)]
public EPersonaState OnlineStatus { get; } = DefaultOnlineStatus;
public EPersonaState OnlineStatus { get; private set; } = DefaultOnlineStatus;
[JsonProperty(Required = Required.DisallowNull)]
public ArchiCryptoHelper.ECryptoMethod PasswordFormat { get; } = DefaultPasswordFormat;
public ArchiCryptoHelper.ECryptoMethod PasswordFormat { get; private set; } = DefaultPasswordFormat;
[JsonProperty(Required = Required.DisallowNull)]
public bool Paused { get; } = DefaultPaused;
public bool Paused { get; private set; } = DefaultPaused;
[JsonProperty(Required = Required.DisallowNull)]
public ERedeemingPreferences RedeemingPreferences { get; } = DefaultRedeemingPreferences;
public ERedeemingPreferences RedeemingPreferences { get; private set; } = DefaultRedeemingPreferences;
[JsonProperty(Required = Required.DisallowNull)]
public bool SendOnFarmingFinished { get; } = DefaultSendOnFarmingFinished;
public bool SendOnFarmingFinished { get; private set; } = DefaultSendOnFarmingFinished;
[JsonProperty(Required = Required.DisallowNull)]
public byte SendTradePeriod { get; } = DefaultSendTradePeriod;
public byte SendTradePeriod { get; private set; } = DefaultSendTradePeriod;
[JsonProperty(Required = Required.DisallowNull)]
public bool ShutdownOnFarmingFinished { get; } = DefaultShutdownOnFarmingFinished;
public bool ShutdownOnFarmingFinished { get; private set; } = DefaultShutdownOnFarmingFinished;
[JsonProperty]
public string? SteamTradeToken { get; } = DefaultSteamTradeToken;
public string? SteamTradeToken { get; private set; } = DefaultSteamTradeToken;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableDictionary<ulong, EAccess> SteamUserPermissions { get; } = DefaultSteamUserPermissions;
public ImmutableDictionary<ulong, EAccess> SteamUserPermissions { get; private set; } = DefaultSteamUserPermissions;
[JsonProperty(Required = Required.DisallowNull)]
public ETradingPreferences TradingPreferences { get; } = DefaultTradingPreferences;
public ETradingPreferences TradingPreferences { get; private set; } = DefaultTradingPreferences;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableHashSet<Steam.Asset.EType> TransferableTypes { get; } = DefaultTransferableTypes;
public ImmutableHashSet<Steam.Asset.EType> TransferableTypes { get; private set; } = DefaultTransferableTypes;
[JsonProperty(Required = Required.DisallowNull)]
public bool UseLoginKeys { get; } = DefaultUseLoginKeys;
public bool UseLoginKeys { get; private set; } = DefaultUseLoginKeys;
[JsonProperty(Required = Required.DisallowNull)]
public ulong SteamMasterClanID { get; private set; } = DefaultSteamMasterClanID;

View File

@@ -127,73 +127,73 @@ namespace ArchiSteamFarm {
private static readonly SemaphoreSlim WriteSemaphore = new(1, 1);
[JsonProperty(Required = Required.DisallowNull)]
public bool AutoRestart { get; } = DefaultAutoRestart;
public bool AutoRestart { get; private set; } = DefaultAutoRestart;
[JsonProperty(Required = Required.DisallowNull)]
public ImmutableHashSet<uint> Blacklist { get; } = DefaultBlacklist;
public ImmutableHashSet<uint> Blacklist { get; private set; } = DefaultBlacklist;
[JsonProperty]
public string? CommandPrefix { get; } = DefaultCommandPrefix;
public string? CommandPrefix { get; private set; } = DefaultCommandPrefix;
[JsonProperty(Required = Required.DisallowNull)]
public byte ConfirmationsLimiterDelay { get; } = DefaultConfirmationsLimiterDelay;
public byte ConfirmationsLimiterDelay { get; private set; } = DefaultConfirmationsLimiterDelay;
[JsonProperty(Required = Required.DisallowNull)]
public byte ConnectionTimeout { get; } = DefaultConnectionTimeout;
public byte ConnectionTimeout { get; private set; } = DefaultConnectionTimeout;
[JsonProperty]
public string? CurrentCulture { get; } = DefaultCurrentCulture;
public string? CurrentCulture { get; private set; } = DefaultCurrentCulture;
[JsonProperty(Required = Required.DisallowNull)]
public bool Debug { get; } = DefaultDebug;
public bool Debug { get; private set; } = DefaultDebug;
[JsonProperty(Required = Required.DisallowNull)]
public byte FarmingDelay { get; } = DefaultFarmingDelay;
public byte FarmingDelay { get; private set; } = DefaultFarmingDelay;
[JsonProperty(Required = Required.DisallowNull)]
public byte GiftsLimiterDelay { get; } = DefaultGiftsLimiterDelay;
public byte GiftsLimiterDelay { get; private set; } = DefaultGiftsLimiterDelay;
[JsonProperty(Required = Required.DisallowNull)]
public bool Headless { get; } = DefaultHeadless;
public bool Headless { get; private set; } = DefaultHeadless;
[JsonProperty(Required = Required.DisallowNull)]
public byte IdleFarmingPeriod { get; } = DefaultIdleFarmingPeriod;
public byte IdleFarmingPeriod { get; private set; } = DefaultIdleFarmingPeriod;
[JsonProperty(Required = Required.DisallowNull)]
public byte InventoryLimiterDelay { get; } = DefaultInventoryLimiterDelay;
public byte InventoryLimiterDelay { get; private set; } = DefaultInventoryLimiterDelay;
[JsonProperty(Required = Required.DisallowNull)]
public bool IPC { get; } = DefaultIPC;
public bool IPC { get; private set; } = DefaultIPC;
[JsonProperty(Required = Required.DisallowNull)]
public ArchiCryptoHelper.EHashingMethod IPCPasswordFormat { get; } = DefaultIPCPasswordFormat;
public ArchiCryptoHelper.EHashingMethod IPCPasswordFormat { get; private set; } = DefaultIPCPasswordFormat;
[JsonProperty(Required = Required.DisallowNull)]
public byte LoginLimiterDelay { get; } = DefaultLoginLimiterDelay;
public byte LoginLimiterDelay { get; private set; } = DefaultLoginLimiterDelay;
[JsonProperty(Required = Required.DisallowNull)]
public byte MaxFarmingTime { get; } = DefaultMaxFarmingTime;
public byte MaxFarmingTime { get; private set; } = DefaultMaxFarmingTime;
[JsonProperty(Required = Required.DisallowNull)]
public byte MaxTradeHoldDuration { get; } = DefaultMaxTradeHoldDuration;
public byte MaxTradeHoldDuration { get; private set; } = DefaultMaxTradeHoldDuration;
[JsonProperty(Required = Required.DisallowNull)]
public EOptimizationMode OptimizationMode { get; } = DefaultOptimizationMode;
public EOptimizationMode OptimizationMode { get; private set; } = DefaultOptimizationMode;
[JsonProperty(Required = Required.DisallowNull)]
public bool Statistics { get; } = DefaultStatistics;
public bool Statistics { get; private set; } = DefaultStatistics;
[JsonProperty]
public string? SteamMessagePrefix { get; } = DefaultSteamMessagePrefix;
public string? SteamMessagePrefix { get; private set; } = DefaultSteamMessagePrefix;
[JsonProperty(Required = Required.DisallowNull)]
public EUpdateChannel UpdateChannel { get; } = DefaultUpdateChannel;
public EUpdateChannel UpdateChannel { get; private set; } = DefaultUpdateChannel;
[JsonProperty(Required = Required.DisallowNull)]
public byte UpdatePeriod { get; } = DefaultUpdatePeriod;
public byte UpdatePeriod { get; private set; } = DefaultUpdatePeriod;
[JsonProperty(Required = Required.DisallowNull)]
public ushort WebLimiterDelay { get; } = DefaultWebLimiterDelay;
public ushort WebLimiterDelay { get; private set; } = DefaultWebLimiterDelay;
[JsonIgnore]
[PublicAPI]
@@ -243,10 +243,10 @@ namespace ArchiSteamFarm {
}
[JsonProperty(PropertyName = nameof(WebProxy))]
public string? WebProxyText { get; } = DefaultWebProxyText;
public string? WebProxyText { get; private set; } = DefaultWebProxyText;
[JsonProperty]
public string? WebProxyUsername { get; } = DefaultWebProxyUsername;
public string? WebProxyUsername { get; private set; } = DefaultWebProxyUsername;
[JsonProperty]
internal readonly string? IPCPassword = DefaultIPCPassword;

View File

@@ -37,7 +37,7 @@ namespace ArchiSteamFarm {
public sealed class GlobalDatabase : SerializableFile {
[JsonProperty(Required = Required.DisallowNull)]
[PublicAPI]
public Guid Identifier { get; } = Guid.NewGuid();
public Guid Identifier { get; private set; } = Guid.NewGuid();
[JsonIgnore]
[PublicAPI]