ParadoxSaveParser/ParadoxSaveParser.WebAPI/SaveFileMetadata.cs
2025-03-20 19:57:29 +05:00

37 lines
991 B
C#

using System.IO;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace ParadoxSaveParser.WebAPI;
public enum SaveFileProcessingStatus
{
Initialized, Uploading, Parsing, SavingResults, Done, Error
}
public enum Game
{
Unknown, EU4
}
public class SaveFileMetadata
{
public required string id { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public required Game game { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public required SaveFileProcessingStatus status { get; set; }
[JsonIgnore]
public string? errorMesage { get; set; }
private static readonly JsonSerializerOptions _jsonOptions = new() { WriteIndented = true };
public void SaveToFile()
{
using var metaFile = File.Open(PathHelper.GetMetaFilePath(id), FileMode.CreateNew, FileAccess.Write);
JsonSerializer.Serialize(metaFile, this, _jsonOptions);
}
}