86 lines
3.3 KiB
C#
86 lines
3.3 KiB
C#
namespace PlotLine.Models;
|
|
|
|
public static class StoryIntelligenceReviewModules
|
|
{
|
|
public const string Characters = "Characters";
|
|
public const string Locations = "Locations";
|
|
public const string Assets = "Assets";
|
|
public const string Relationships = "Relationships";
|
|
public const string Knowledge = "Knowledge";
|
|
}
|
|
|
|
public static class StoryIntelligenceReviewCandidateGenerationStatuses
|
|
{
|
|
public const string Preparing = "Preparing";
|
|
public const string Ready = "Ready";
|
|
public const string Failed = "Failed";
|
|
}
|
|
|
|
public sealed class StoryIntelligenceReviewCandidateGeneration
|
|
{
|
|
public int ReviewCandidateGenerationID { get; init; }
|
|
public int ProjectID { get; init; }
|
|
public int BookID { get; init; }
|
|
public string Module { get; init; } = string.Empty;
|
|
public string Status { get; init; } = string.Empty;
|
|
public string Source { get; init; } = string.Empty;
|
|
public int CandidateCount { get; init; }
|
|
public int PendingCount { get; init; }
|
|
public string? ErrorMessage { get; init; }
|
|
public bool IsCurrent { get; init; }
|
|
public DateTime CreatedUtc { get; init; }
|
|
public DateTime? PreparedUtc { get; init; }
|
|
public DateTime? FailedUtc { get; init; }
|
|
public DateTime UpdatedUtc { get; init; }
|
|
}
|
|
|
|
public sealed class StoryIntelligenceReviewCandidateRow
|
|
{
|
|
public int ReviewCandidateID { get; init; }
|
|
public int ReviewCandidateGenerationID { get; init; }
|
|
public int ProjectID { get; init; }
|
|
public int BookID { get; init; }
|
|
public string Module { get; init; } = string.Empty;
|
|
public string StableKey { get; init; } = string.Empty;
|
|
public string? CandidateType { get; init; }
|
|
public string DisplayName { get; init; } = string.Empty;
|
|
public int SortOrder { get; init; }
|
|
public decimal? Confidence { get; init; }
|
|
public int? ExistingCanonicalID { get; init; }
|
|
public string DecisionStatus { get; init; } = string.Empty;
|
|
public string? DecisionAction { get; init; }
|
|
public string? DecisionTargetKey { get; init; }
|
|
public int? DecisionCanonicalID { get; init; }
|
|
public string CandidatePayloadJson { get; init; } = string.Empty;
|
|
public DateTime CreatedUtc { get; init; }
|
|
public DateTime? ReviewedUtc { get; init; }
|
|
public DateTime UpdatedUtc { get; init; }
|
|
public int TotalCount { get; init; }
|
|
public int PendingCount { get; init; }
|
|
}
|
|
|
|
public sealed class StoryIntelligenceReviewCandidateSaveRequest
|
|
{
|
|
public int ReviewCandidateGenerationID { get; init; }
|
|
public int ProjectID { get; init; }
|
|
public int BookID { get; init; }
|
|
public string Module { get; init; } = string.Empty;
|
|
public string StableKey { get; init; } = string.Empty;
|
|
public string? CandidateType { get; init; }
|
|
public string DisplayName { get; init; } = string.Empty;
|
|
public int SortOrder { get; init; }
|
|
public decimal? Confidence { get; init; }
|
|
public int? ExistingCanonicalID { get; init; }
|
|
public string CandidatePayloadJson { get; init; } = string.Empty;
|
|
}
|
|
|
|
public sealed class StoryIntelligenceReviewCandidateDecisionRequest
|
|
{
|
|
public int BookID { get; init; }
|
|
public string Module { get; init; } = string.Empty;
|
|
public string StableKey { get; init; } = string.Empty;
|
|
public string DecisionAction { get; init; } = string.Empty;
|
|
public string? DecisionTargetKey { get; init; }
|
|
public int? DecisionCanonicalID { get; init; }
|
|
}
|