added database to store metadata
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace ParadoxSaveParser.WebAPI.Database;
|
||||
|
||||
public enum SaveFileProcessingStatus
|
||||
{
|
||||
Initialized,
|
||||
Uploaded,
|
||||
Parsing,
|
||||
SavingResults,
|
||||
Done,
|
||||
Error,
|
||||
}
|
||||
|
||||
public class SaveFileMetadata
|
||||
{
|
||||
[SQLite.PrimaryKey]
|
||||
[SQLite.NotNull]
|
||||
public string id { get; init; } = null!;
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
[SQLite.NotNull]
|
||||
public Game game { get; init; }
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
[SQLite.NotNull]
|
||||
public SaveFileProcessingStatus status { get; set; }
|
||||
|
||||
[SQLite.NotNull]
|
||||
public DateTime uploadDateTime { get; set; }
|
||||
|
||||
// if error occured during parsing, it's message is saved here
|
||||
// status stays the same as when error occured
|
||||
public string? errorMessage { get; set; }
|
||||
|
||||
|
||||
public IOPath GetSaveFilePath() => Path.Concat(PathHelper.SAVES_DIR, id + ".eu4");
|
||||
|
||||
public IOPath GetParsedDataPath() => Path.Concat(PathHelper.PARSED_DIR, id + ".parsed.json");
|
||||
|
||||
public bool AssociatedFilesExist()
|
||||
{
|
||||
return File.Exists(GetSaveFilePath()) && File.Exists(GetParsedDataPath());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user