chore(bootstrap): refresh stale GlobalsImporter references in docs/test names

This commit is contained in:
gamer147
2026-05-26 16:44:54 -04:00
parent c02991a5c2
commit 141f34f817
19 changed files with 41 additions and 44 deletions

View File

@@ -30,7 +30,7 @@ public class LoadController : SVSimController
// Defense-in-depth: client unconditionally accesses RotationCardSetList[1] and [Count-1]
// (LoadDetail.cs:184), so a list with < 2 entries crashes /load/index parsing. With both
// CardImport and GlobalsImporter run, the real list has ~6 entries. If something goes wrong
// CardImporter and per-domain seed importers run, the real list has ~6 entries. If something goes wrong
// upstream (empty DB, bootstrap not yet run, etc.), fall back to this stub so the client at
// least loads. Removing this is only safe once viewer-side bootstrap is unconditional.
private static readonly List<CardSetIdentifier> StubRotationSets = new()
@@ -147,7 +147,7 @@ public class LoadController : SVSimController
// Globals — one cached fetch per slice. The Rotation/Challenge/DefaultLoadout sections
// come via IGameConfigService (DB → appsettings → ShippedDefaults). Other repo methods
// come from SVSim.Bootstrap.GlobalsImporter seeding.
// come from the per-domain seed importers in SVSim.Bootstrap.
var rotation = _config.Get<RotationConfig>();
var challenge = _config.Get<ChallengeConfig>();
var defaultLoadout = _config.Get<DefaultLoadoutConfig>();
@@ -324,7 +324,7 @@ public class LoadController : SVSimController
/// The client gates the Custom Rotation format-selector button on <c>FreeBattle</c>'s window
/// being currently open (Wizard/MyRotationAllInfo.cs:45), so a default-initialised
/// <c>DateTime.MinValue</c> pair here hides the button. Config defaults reproduce the
/// 2026-05-23 prod capture; GlobalsImporter overwrites from newer captures.
/// 2026-05-23 prod capture; the rotation-config seed file overwrites from newer captures.
/// </summary>
private SpecialRotationSchedule BuildMyRotationSchedules()
{

View File

@@ -24,7 +24,7 @@ public class PracticeController : SVSimController
/// <summary>
/// /practice/info — returns the AI opponent catalog. Response data is a JSON array
/// directly (not wrapped in an object), per spec. Backed by PracticeOpponents table,
/// seeded by SVSim.Bootstrap from prod-captures/practice-info-*.json.
/// seeded by SVSim.Bootstrap from seeds/practice-opponents.json.
/// </summary>
[HttpPost("info")]
public async Task<List<PracticeOpponent>> Info(BaseRequest request)

View File

@@ -6,8 +6,8 @@ namespace SVSim.EmulatedEntrypoint.Infrastructure;
/// <summary>
/// Shared System.Text.Json options for deserializing jsonb-passthrough columns into typed DTOs.
///
/// The prod-captured globals JSON was seeded with snake_case_lower keys (see SVSim.Bootstrap
/// GlobalsImporter — jsonb columns store the original capture verbatim). Deserialize-back must
/// The seed-driven globals JSON was written with snake_case_lower keys (see SVSim.Bootstrap
/// per-domain importers — jsonb columns store the original wire-shape verbatim). Deserialize-back must
/// use the same naming policy so e.g. `card_pool_name` maps onto `CardPoolName`.
///
/// AllowReadingFromString handles prod's PHP-backend convention of emitting numeric values

View File

@@ -105,7 +105,7 @@ public class MyPageIndexResponse
/// <summary>
/// banner is consumed by per-entry parsing inside a TryGetValue guard
/// (Wizard/MyPageBannerBase.BannerInfo.Parse iterates the array if present). We always emit
/// the list — empty when no rows have been imported. See SVSim.Bootstrap.GlobalsImporter.ImportBanners.
/// the list — empty when no rows have been imported. See SVSim.Bootstrap.MyPageGlobalsImporter.ImportBannersAsync.
/// </summary>
[JsonPropertyName("banner")]
[Key("banner")]