145 lines
6.7 KiB
C#
145 lines
6.7 KiB
C#
namespace PlotLine.Models;
|
|
|
|
public sealed class ProjectBackupExport
|
|
{
|
|
public string Format { get; init; } = "PlotWeaver.ProjectBackup";
|
|
public string FormatVersion { get; init; } = "1.0";
|
|
public DateTime ExportedAtUtc { get; init; }
|
|
public string SourceApplication { get; init; } = "PlotWeaver Studio";
|
|
public Project? Project { get; init; }
|
|
public ProjectBackupData Data { get; init; } = new();
|
|
public ProjectBackupDiagnostics Diagnostics { get; init; } = new();
|
|
}
|
|
|
|
public sealed class ProjectBackupData
|
|
{
|
|
public IReadOnlyList<Book> Books { get; init; } = [];
|
|
public IReadOnlyList<Chapter> Chapters { get; init; } = [];
|
|
public IReadOnlyList<Scene> Scenes { get; init; } = [];
|
|
public IReadOnlyList<ProjectBackupScenePurpose> ScenePurposes { get; init; } = [];
|
|
public IReadOnlyList<ProjectBackupSceneOutcome> SceneOutcomes { get; init; } = [];
|
|
public IReadOnlyList<SceneMetricType> SceneMetricTypes { get; init; } = [];
|
|
public IReadOnlyList<SceneMetricValue> SceneMetricValues { get; init; } = [];
|
|
public IReadOnlyList<ProjectTimelineSettings> TimelineSettings { get; init; } = [];
|
|
public IReadOnlyList<ProjectTimelineMetricSetting> TimelineMetricSettings { get; init; } = [];
|
|
public IReadOnlyList<TimelineViewPreset> TimelineViewPresets { get; init; } = [];
|
|
public IReadOnlyList<PlotLineItem> PlotLines { get; init; } = [];
|
|
public IReadOnlyList<PlotThread> PlotThreads { get; init; } = [];
|
|
public IReadOnlyList<ThreadEvent> ThreadEvents { get; init; } = [];
|
|
public IReadOnlyList<StoryAsset> StoryAssets { get; init; } = [];
|
|
public IReadOnlyList<AssetState> AssetStates { get; init; } = [];
|
|
public IReadOnlyList<AssetEvent> AssetEvents { get; init; } = [];
|
|
public IReadOnlyList<AssetDependency> AssetDependencies { get; init; } = [];
|
|
public IReadOnlyList<AssetCustodyEvent> AssetCustodyEvents { get; init; } = [];
|
|
public IReadOnlyList<ProjectBackupAssetCustodyCharacter> AssetCustodyCharacters { get; init; } = [];
|
|
public IReadOnlyList<Character> Characters { get; init; } = [];
|
|
public IReadOnlyList<SceneCharacter> SceneCharacters { get; init; } = [];
|
|
public IReadOnlyList<CharacterAttributeType> CharacterAttributeTypes { get; init; } = [];
|
|
public IReadOnlyList<CharacterAttributeEvent> CharacterAttributeEvents { get; init; } = [];
|
|
public IReadOnlyList<CharacterKnowledgeItem> CharacterKnowledge { get; init; } = [];
|
|
public IReadOnlyList<CharacterRelationship> CharacterRelationships { get; init; } = [];
|
|
public IReadOnlyList<RelationshipEvent> RelationshipEvents { get; init; } = [];
|
|
public IReadOnlyList<LocationItem> Locations { get; init; } = [];
|
|
public IReadOnlyList<LocationRelationship> LocationRelationships { get; init; } = [];
|
|
public IReadOnlyList<SceneAssetLocation> SceneAssetLocations { get; init; } = [];
|
|
public IReadOnlyList<SceneDependency> SceneDependencies { get; init; } = [];
|
|
public IReadOnlyList<ProjectBackupValidationRun> ValidationRuns { get; init; } = [];
|
|
public IReadOnlyList<ContinuityWarning> ContinuityWarnings { get; init; } = [];
|
|
public IReadOnlyList<SceneNote> SceneNotes { get; init; } = [];
|
|
public IReadOnlyList<SceneWorkflow> SceneWorkflow { get; init; } = [];
|
|
public IReadOnlyList<SceneChecklistItem> SceneChecklistItems { get; init; } = [];
|
|
public IReadOnlyList<SceneAttachment> SceneAttachments { get; init; } = [];
|
|
public IReadOnlyList<ChapterGoal> ChapterGoals { get; init; } = [];
|
|
public IReadOnlyList<Scenario> Scenarios { get; init; } = [];
|
|
public IReadOnlyList<ProjectBackupScenarioSceneOrder> ScenarioSceneOrder { get; init; } = [];
|
|
public IReadOnlyList<ProjectBackupScenarioValidationRun> ScenarioValidationRuns { get; init; } = [];
|
|
public IReadOnlyList<ScenarioWarning> ScenarioWarnings { get; init; } = [];
|
|
public IReadOnlyList<GenreMetricPreset> GenreMetricPresets { get; init; } = [];
|
|
public IReadOnlyList<ProjectBackupGenreMetricPresetMetric> GenreMetricPresetMetrics { get; init; } = [];
|
|
}
|
|
|
|
public sealed class ProjectBackupDiagnostics
|
|
{
|
|
public int ProjectId { get; init; }
|
|
public IReadOnlyList<string> IncludedEntitySets { get; init; } = [];
|
|
public string? Note { get; init; }
|
|
}
|
|
|
|
public sealed class ProjectBackupResult
|
|
{
|
|
public string FileName { get; init; } = string.Empty;
|
|
public string ContentType { get; init; } = "application/json";
|
|
public string Json { get; init; } = string.Empty;
|
|
}
|
|
|
|
public sealed class ProjectBackupScenePurpose
|
|
{
|
|
public int SceneID { get; set; }
|
|
public int ScenePurposeTypeID { get; set; }
|
|
public string PurposeName { get; set; } = string.Empty;
|
|
public int SortOrder { get; set; }
|
|
}
|
|
|
|
public sealed class ProjectBackupSceneOutcome
|
|
{
|
|
public int SceneOutcomeID { get; set; }
|
|
public int SceneID { get; set; }
|
|
public string OutcomeDescription { get; set; } = string.Empty;
|
|
public int? OutcomeTypeID { get; set; }
|
|
public DateTime CreatedDate { get; set; }
|
|
public DateTime UpdatedDate { get; set; }
|
|
}
|
|
|
|
public sealed class ProjectBackupAssetCustodyCharacter
|
|
{
|
|
public int AssetCustodyEventCharacterID { get; set; }
|
|
public int AssetCustodyEventID { get; set; }
|
|
public int? CharacterID { get; set; }
|
|
public string? CharacterName { get; set; }
|
|
public string? CharacterNameText { get; set; }
|
|
public int CustodyRoleID { get; set; }
|
|
public string CustodyRoleName { get; set; } = string.Empty;
|
|
}
|
|
|
|
public sealed class ProjectBackupValidationRun
|
|
{
|
|
public int ValidationRunID { get; set; }
|
|
public int ProjectID { get; set; }
|
|
public int? BookID { get; set; }
|
|
public DateTime StartedDate { get; set; }
|
|
public DateTime? CompletedDate { get; set; }
|
|
public string? TriggeredBy { get; set; }
|
|
public string? ScopeDescription { get; set; }
|
|
}
|
|
|
|
public sealed class ProjectBackupScenarioSceneOrder
|
|
{
|
|
public int ScenarioSceneOrderID { get; set; }
|
|
public int ScenarioID { get; set; }
|
|
public int SceneID { get; set; }
|
|
public int? ProposedChapterID { get; set; }
|
|
public int ProposedSortOrder { get; set; }
|
|
public string? Notes { get; set; }
|
|
public DateTime CreatedDate { get; set; }
|
|
public DateTime UpdatedDate { get; set; }
|
|
}
|
|
|
|
public sealed class ProjectBackupScenarioValidationRun
|
|
{
|
|
public int ScenarioValidationRunID { get; set; }
|
|
public int ScenarioID { get; set; }
|
|
public DateTime StartedDate { get; set; }
|
|
public DateTime? CompletedDate { get; set; }
|
|
public int WarningCount { get; set; }
|
|
}
|
|
|
|
public sealed class ProjectBackupGenreMetricPresetMetric
|
|
{
|
|
public int GenreMetricPresetID { get; set; }
|
|
public string PresetKey { get; set; } = string.Empty;
|
|
public string PresetName { get; set; } = string.Empty;
|
|
public int MetricTypeID { get; set; }
|
|
public string MetricName { get; set; } = string.Empty;
|
|
public int SortOrder { get; set; }
|
|
}
|