added database to store metadata

This commit is contained in:
2025-04-10 19:56:35 +05:00
parent c4af1f31e8
commit d7dcd7afc9
15 changed files with 278 additions and 153 deletions
@@ -1,4 +1,5 @@
using System.Net;
using ParadoxSaveParser.WebAPI.Database;
using ParadoxSaveParser.WebAPI.HttpHelpers;
namespace ParadoxSaveParser.WebAPI.Routes;
@@ -18,7 +19,8 @@ internal class GetSaveDataHandler : RouteHandlerBase
return await ReturnHelper.ResponseError(ctx, requestLogger, _cancelAllToken, idOrError.Error!);
string id = idOrError.Value!;
if(!Program._saveMetadataStorage.TryGetValue(id, out var meta))
var meta = await Program.DB.GetMetadata(id);
if(meta is null)
return await ReturnHelper.ResponseError(ctx, requestLogger, _cancelAllToken,
new ErrorMessage(HttpStatusCode.NotFound,
$"Save with id {id} not found"));
@@ -27,7 +29,7 @@ internal class GetSaveDataHandler : RouteHandlerBase
new ErrorMessage(HttpStatusCode.BadRequest,
$"Save with id {id} has status {meta.status}"));
IOPath dataFilePath = PathHelper.GetParsedSaveFilePath(id);
IOPath dataFilePath = meta.GetParsedDataPath();
if (!File.Exists(dataFilePath))
return await ReturnHelper.ResponseError(ctx, requestLogger, _cancelAllToken,
new ErrorMessage(HttpStatusCode.InternalServerError,