Files
flatrender/services/content/FlatRender.ContentSvc/Models/PresetStory.cs
T

33 lines
1.5 KiB
C#
Raw Normal View History

namespace FlatRender.ContentSvc.Models;
// ── Preset stories (admin-authored premade example videos per template) ───────
// A preset story is a ready-made, pre-filled version of a template that a user can
// pick to start a project already populated with text + media. The filled values
// live in ScenesSpa (the studio scene JSON); PresetScene rows order the scenes.
public record PresetSceneInput(Guid SceneId, int Sort, decimal? DefaultDurationSec);
public record PresetSceneResponse(
Guid Id, Guid SceneId, string? SceneKey, string? SceneTitle, int Sort, decimal? DefaultDurationSec
);
// Light projection for list endpoints (omits the heavy ScenesSpa blob).
public record PresetStorySummary(
Guid Id, Guid ProjectId, string Name, string? Description, string? Demo,
Guid? MusicId, int Sort, bool IsPublished, int SceneCount,
DateTime CreatedAt, DateTime UpdatedAt
);
// Full story incl. scenes + the filled-values blob (GET one).
public record PresetStoryResponse(
Guid Id, Guid ProjectId, string Name, string? Description, string? Demo,
Guid? MusicId, string? ScenesSpa, int Sort, bool IsPublished,
DateTime CreatedAt, DateTime UpdatedAt, List<PresetSceneResponse> Scenes
);
public record SavePresetStoryRequest(
Guid ProjectId, string Name, string? Description = null, string? Demo = null,
Guid? MusicId = null, string? ScenesSpa = null, int Sort = 0, bool IsPublished = true,
List<PresetSceneInput>? Scenes = null
);