import_viewer: round-trip ViewerMissionData scalars (mission_meta)

This commit is contained in:
gamer147
2026-06-23 19:30:05 -04:00
parent 06bf9eb615
commit d53628f8cc
3 changed files with 60 additions and 0 deletions

View File

@@ -253,6 +253,18 @@ public class AdminController : SVSimController
}
}
// Pass A: MissionMeta scalars
if (request.MissionMeta is { } meta)
{
viewer.MissionData ??= new ViewerMissionData();
if (meta.HasReceivedPickTwoMission is { } hrptm)
viewer.MissionData.HasReceivedPickTwoMission = hrptm;
if (meta.MissionReceiveType is { } mrt)
viewer.MissionData.MissionReceiveType = mrt;
if (meta.MissionChangeTime is { } mct)
viewer.MissionData.MissionChangeTime = DateTimeOffset.FromUnixTimeSeconds(mct).UtcDateTime;
}
await _dbContext.SaveChangesAsync();
if (skippedCardIds.Count > 0)

View File

@@ -33,6 +33,8 @@ public class ImportViewerRequest
[JsonPropertyName("items")] public List<ImportItem>? Items { get; set; }
[JsonPropertyName("decks")] public List<ImportDeck>? Decks { get; set; }
[JsonPropertyName("mission_meta")] public ImportMissionMeta? MissionMeta { get; set; }
}
public class ImportDeck
@@ -78,3 +80,15 @@ public class ImportItem
[JsonPropertyName("item_id")] public int ItemId { get; set; }
[JsonPropertyName("count")] public int Count { get; set; }
}
public class ImportMissionMeta
{
[JsonPropertyName("has_received_pick_two_mission")]
public bool? HasReceivedPickTwoMission { get; set; }
[JsonPropertyName("mission_receive_type")]
public int? MissionReceiveType { get; set; }
[JsonPropertyName("mission_change_time")]
public long? MissionChangeTime { get; set; }
}