separated classes into files

This commit is contained in:
Timerix 2025-03-20 13:46:01 +05:00
parent 1fa3e4eb6e
commit 60f24d6907
6 changed files with 57 additions and 35 deletions

View File

@ -24,4 +24,6 @@ public abstract class Parser
{ {
} }
public abstract SaveData Parse();
} }

View File

@ -5,4 +5,11 @@ public class ParserEU4 : Parser
public ParserEU4(Stream savefile) : base(savefile) public ParserEU4(Stream savefile) : base(savefile)
{ {
} }
public override SaveData Parse()
{
var saveData = new SaveData();
return saveData;
}
} }

View File

@ -0,0 +1,6 @@
namespace ParadoxSaveParser.Lib;
public class SaveData
{
}

View File

@ -0,0 +1,12 @@
using System.IO;
namespace ParadoxSaveParser.WebAPI;
public static class PathHelper
{
public const string DATA_DIR = "data";
public static string SAVES_DIR = Path.Join(DATA_DIR, "saves");
public static string GetMetaFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".meta.json");
public static string GetEU4SaveFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".eu4");
}

View File

@ -11,41 +11,6 @@ using ParadoxSaveParser.Lib;
namespace ParadoxSaveParser.WebAPI; 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; }
public required Game game { get; init; }
public required SaveFileProcessingStatus status { get; set; }
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);
}
}
public static class PathHelper
{
public const string DATA_DIR = "data";
public static string SAVES_DIR = Path.Join(DATA_DIR, "saves");
public static string GetMetaFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".meta.json");
public static string GetEU4SaveFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".eu4");
}
public class Program public class Program
{ {
private static ConcurrentDictionary<string, SaveFileMetadata> _saveMetadataStorage = new(); private static ConcurrentDictionary<string, SaveFileMetadata> _saveMetadataStorage = new();

View File

@ -0,0 +1,30 @@
using System.IO;
using System.Text.Json;
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; }
public required Game game { get; init; }
public required SaveFileProcessingStatus status { get; set; }
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);
}
}