updated to accept only .tar.zstd uploads
This commit is contained in:
@@ -28,14 +28,17 @@ public class DatabaseConnector
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
public async Task<SaveFileMetadata> CreateMetadata(Game game)
|
||||
public async Task<SaveFileMetadata> CreateMetadata(Game game,
|
||||
OriginalFileType originalFileType, string originalFileName)
|
||||
{
|
||||
var meta = new SaveFileMetadata
|
||||
{
|
||||
id = Guid.NewGuid().ToString(),
|
||||
game = game,
|
||||
status = SaveFileProcessingStatus.Initialized,
|
||||
uploadDateTime = DateTime.Now
|
||||
uploadDateTime = DateTime.Now,
|
||||
originalFileType = originalFileType,
|
||||
originalFileName = originalFileName,
|
||||
};
|
||||
await _db.InsertAsync(meta);
|
||||
return meta;
|
||||
|
||||
@@ -12,6 +12,14 @@ public enum SaveFileProcessingStatus
|
||||
Error,
|
||||
}
|
||||
|
||||
public enum OriginalFileType
|
||||
{
|
||||
Text,
|
||||
Zip,
|
||||
}
|
||||
|
||||
public class LowerCaseEnumConverter<T>() : JsonStringEnumConverter<T>(JsonNamingPolicy.SnakeCaseLower) where T : struct, Enum;
|
||||
|
||||
public class SaveFileMetadata
|
||||
{
|
||||
[SQLite.PrimaryKey]
|
||||
@@ -22,19 +30,26 @@ public class SaveFileMetadata
|
||||
[SQLite.NotNull]
|
||||
public Game game { get; init; }
|
||||
|
||||
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||
[JsonConverter(typeof(LowerCaseEnumConverter<SaveFileProcessingStatus>))]
|
||||
[SQLite.NotNull]
|
||||
public SaveFileProcessingStatus status { get; set; }
|
||||
|
||||
|
||||
[SQLite.NotNull]
|
||||
public DateTime uploadDateTime { get; set; }
|
||||
|
||||
|
||||
[JsonConverter(typeof(LowerCaseEnumConverter<OriginalFileType>))]
|
||||
[SQLite.NotNull]
|
||||
public OriginalFileType originalFileType { get; init; }
|
||||
|
||||
[SQLite.NotNull]
|
||||
public string originalFileName { get; init; } = null!;
|
||||
|
||||
// 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 GetSaveFilePath() => Path.Concat(PathHelper.SAVES_DIR, id + ".tar.zst");
|
||||
|
||||
public IOPath GetParsedDataPath() => Path.Concat(PathHelper.PARSED_DIR, id + ".parsed.json");
|
||||
|
||||
@@ -42,4 +57,4 @@ public class SaveFileMetadata
|
||||
{
|
||||
return File.Exists(GetSaveFilePath()) && File.Exists(GetParsedDataPath());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user