using System;
using System.Collections.Generic;
namespace NexusReader.Application.DTOs.Creator;
///
/// Telemetry metrics for the Creator Dashboard.
///
public record DashboardMetricsDto(
int TotalReads,
double AvgReadTimeMinutes,
int ActiveReaders,
decimal GrossRevenue
);
///
/// Lightweight revision details for the Creator Dashboard.
///
public record CreatorBookRevisionDto(
Guid Id,
string VersionString,
bool IsPublished,
DateTime CreatedAt,
DateTime? PublishedAt
);
///
/// Lightweight book publication details for the Creator Dashboard.
///
public record CreatorBookDto(
Guid Id,
string Title,
int WordCount,
int AggregatedReads,
Guid? FirstChapterId,
CreatorBookRevisionDto? LivePublishedRevision,
CreatorBookRevisionDto? CurrentDraftRevision
);
///
/// Root data envelope for Creator Dashboard loading.
///
public record CreatorDashboardDataDto(
DashboardMetricsDto Metrics,
List Books
);
///
/// Request DTO for creating a new Book.
///
public record CreateBookRequestDto(
string Title,
string? Description
);
///
/// Response DTO for creating a new Book.
///
public record CreateBookResponseDto(
Guid BookId
);