Expose critical curation and source image APIs
This commit is contained in:
@@ -61,6 +61,9 @@
|
||||
"rollBand": "66-70",
|
||||
"groupKey": null,
|
||||
"columnKey": "C",
|
||||
"isCurated": false,
|
||||
"sourcePageNumber": 1,
|
||||
"sourceImageUrl": "/api/tables/critical/slash/cells/412/source-image",
|
||||
"rawCellText": "Original imported full cell text",
|
||||
"descriptionText": "Current curated prose",
|
||||
"rawAffixText": "+8H - 2S",
|
||||
@@ -77,6 +80,12 @@
|
||||
<p class="panel-copy">Use this to retrieve the full editable result graph for one critical-table cell, including nested branches, normalized effects, and review notes for unresolved quick-parse tokens.</p>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<h2 class="panel-title">Cell source image</h2>
|
||||
<p class="panel-copy"><code>GET /api/tables/critical/{slug}/cells/{resultId}/source-image</code></p>
|
||||
<p class="panel-copy">Streams the importer-generated PNG crop for the current critical cell. Returns <code>404</code> when the row has no stored crop or the artifact is missing.</p>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<h2 class="panel-title">Cell re-parse</h2>
|
||||
<p class="panel-copy"><code>POST /api/tables/critical/{slug}/cells/{resultId}/reparse</code></p>
|
||||
@@ -87,6 +96,7 @@
|
||||
"rawAffixText": "+8H",
|
||||
"parseStatus": "partial",
|
||||
"parsedJson": "{}",
|
||||
"isCurated": false,
|
||||
"isDescriptionOverridden": true,
|
||||
"isRawAffixTextOverridden": false,
|
||||
"areEffectsOverridden": false,
|
||||
@@ -103,10 +113,11 @@
|
||||
<p class="panel-copy"><code>PUT /api/tables/critical/{slug}/cells/{resultId}</code></p>
|
||||
<pre class="code-block">{
|
||||
"rawCellText": "Corrected imported text",
|
||||
"descriptionText": "Rewritten prose after manual review",
|
||||
"descriptionText": "Rewritten prose after manual review",
|
||||
"rawAffixText": "+10H - must parry 2 rnds",
|
||||
"parseStatus": "manually_curated",
|
||||
"parsedJson": "{\"reviewed\":true}",
|
||||
"isCurated": true,
|
||||
"isDescriptionOverridden": true,
|
||||
"isRawAffixTextOverridden": false,
|
||||
"areEffectsOverridden": false,
|
||||
|
||||
@@ -15,6 +15,9 @@ public sealed class CriticalCellEditorModel
|
||||
public string ColumnKey { get; set; } = string.Empty;
|
||||
public string ColumnLabel { get; set; } = string.Empty;
|
||||
public string ColumnRole { get; set; } = string.Empty;
|
||||
public bool IsCurated { get; set; }
|
||||
public int? SourcePageNumber { get; set; }
|
||||
public string? SourceImageUrl { get; set; }
|
||||
public string RawCellText { get; set; } = string.Empty;
|
||||
public string QuickParseInput { get; set; } = string.Empty;
|
||||
public string DescriptionText { get; set; } = string.Empty;
|
||||
@@ -43,6 +46,9 @@ public sealed class CriticalCellEditorModel
|
||||
ColumnKey = response.ColumnKey,
|
||||
ColumnLabel = response.ColumnLabel,
|
||||
ColumnRole = response.ColumnRole,
|
||||
IsCurated = response.IsCurated,
|
||||
SourcePageNumber = response.SourcePageNumber,
|
||||
SourceImageUrl = response.SourceImageUrl,
|
||||
RawCellText = response.RawCellText,
|
||||
QuickParseInput = response.QuickParseInput,
|
||||
DescriptionText = response.DescriptionText,
|
||||
@@ -68,6 +74,7 @@ public sealed class CriticalCellEditorModel
|
||||
RawAffixText,
|
||||
ResolveParseStatus(Effects, Branches),
|
||||
SerializeParsedEffects(Effects),
|
||||
IsCurated,
|
||||
IsDescriptionOverridden,
|
||||
IsRawAffixTextOverridden,
|
||||
AreEffectsOverridden,
|
||||
@@ -101,6 +108,9 @@ public sealed class CriticalCellEditorModel
|
||||
ColumnKey = ColumnKey,
|
||||
ColumnLabel = ColumnLabel,
|
||||
ColumnRole = ColumnRole,
|
||||
IsCurated = IsCurated,
|
||||
SourcePageNumber = SourcePageNumber,
|
||||
SourceImageUrl = SourceImageUrl,
|
||||
RawCellText = RawCellText,
|
||||
QuickParseInput = QuickParseInput,
|
||||
DescriptionText = DescriptionText,
|
||||
|
||||
Reference in New Issue
Block a user