96 lines
3.9 KiB
C#
96 lines
3.9 KiB
C#
namespace PlotLine.Models;
|
|
|
|
public static class StoryIntelligenceNarrativeCandidateTypes
|
|
{
|
|
public const string PlotLine = "PlotLine";
|
|
public const string Thread = "Thread";
|
|
}
|
|
|
|
public static class StoryIntelligenceNarrativeCandidateStatuses
|
|
{
|
|
public const string Pending = "Pending";
|
|
public const string Accepted = "Accepted";
|
|
public const string Rejected = "Rejected";
|
|
public const string Merged = "Merged";
|
|
}
|
|
|
|
public static class StoryIntelligenceNarrativeReviewActions
|
|
{
|
|
public const string AcceptNew = "AcceptNew";
|
|
public const string MergeExisting = "MergeExisting";
|
|
public const string MergeCandidate = "MergeCandidate";
|
|
public const string Reject = "Reject";
|
|
}
|
|
|
|
public sealed class StoryIntelligenceNarrativeCandidate
|
|
{
|
|
public int NarrativeCandidateID { get; set; }
|
|
public int ProjectID { get; set; }
|
|
public int BookID { get; set; }
|
|
public string CandidateType { get; set; } = string.Empty;
|
|
public string CandidateKey { get; set; } = string.Empty;
|
|
public string ProposedTitle { get; set; } = string.Empty;
|
|
public string? ProposedDescription { get; set; }
|
|
public string? Category { get; set; }
|
|
public string? InferredState { get; set; }
|
|
public string? ChangeType { get; set; }
|
|
public string? Significance { get; set; }
|
|
public int? ExistingPlotLineID { get; set; }
|
|
public string? ExistingPlotLineName { get; set; }
|
|
public int? ExistingPlotThreadID { get; set; }
|
|
public string? ExistingPlotThreadTitle { get; set; }
|
|
public int? RelatedPlotLineID { get; set; }
|
|
public string? RelatedPlotLineName { get; set; }
|
|
public string? ParentCandidateKey { get; set; }
|
|
public int? ParentNarrativeCandidateID { get; set; }
|
|
public string? ParentCandidateTitle { get; set; }
|
|
public int? MergeTargetNarrativeCandidateID { get; set; }
|
|
public decimal? Confidence { get; set; }
|
|
public string Status { get; set; } = StoryIntelligenceNarrativeCandidateStatuses.Pending;
|
|
public string? ReviewAction { get; set; }
|
|
public int? AcceptedPlotLineID { get; set; }
|
|
public string? AcceptedPlotLineName { get; set; }
|
|
public int? AcceptedPlotThreadID { get; set; }
|
|
public string? AcceptedPlotThreadTitle { get; set; }
|
|
public int? ReviewedByUserID { get; set; }
|
|
public DateTime? ReviewedUtc { get; set; }
|
|
public DateTime CreatedUtc { get; set; }
|
|
public DateTime UpdatedUtc { get; set; }
|
|
public IReadOnlyList<StoryIntelligenceNarrativeCandidateEvidence> Evidence { get; set; } = [];
|
|
}
|
|
|
|
public sealed class StoryIntelligenceNarrativeCandidateEvidence
|
|
{
|
|
public int NarrativeCandidateEvidenceID { get; set; }
|
|
public int NarrativeCandidateID { get; set; }
|
|
public int SceneID { get; set; }
|
|
public decimal SceneNumber { get; set; }
|
|
public string SceneTitle { get; set; } = string.Empty;
|
|
public decimal ChapterNumber { get; set; }
|
|
public string ChapterTitle { get; set; } = string.Empty;
|
|
public string? ContributionType { get; set; }
|
|
public string? Evidence { get; set; }
|
|
public int SortOrder { get; set; }
|
|
public DateTime CreatedUtc { get; set; }
|
|
}
|
|
|
|
public sealed class StoryIntelligenceNarrativeCandidateSeed
|
|
{
|
|
public int ProjectID { get; init; }
|
|
public int BookID { get; init; }
|
|
public string CandidateType { get; init; } = string.Empty;
|
|
public string CandidateKey { get; init; } = string.Empty;
|
|
public string ProposedTitle { get; init; } = string.Empty;
|
|
public string? ProposedDescription { get; init; }
|
|
public string? Category { get; init; }
|
|
public string? InferredState { get; init; }
|
|
public string? ChangeType { get; init; }
|
|
public string? Significance { get; init; }
|
|
public int? ExistingPlotLineID { get; init; }
|
|
public int? ExistingPlotThreadID { get; init; }
|
|
public int? RelatedPlotLineID { get; init; }
|
|
public string? ParentCandidateKey { get; init; }
|
|
public int? ParentNarrativeCandidateID { get; init; }
|
|
public decimal? Confidence { get; init; }
|
|
}
|