8856fb1614
- Relocate dashboard routing to /creator and editor workspace to /creator/edit/{BookId}
- Implement CreateBookCommand and handler with transactional default chapter seeding
- Implement PublishBookVersionCommand and GetCreatorDashboardDataQuery
- Build CreatorDashboard modal and UI components with customized dark input styles
- Add run-stage.sh script to automate staging environment setup, database migrations, and health checks
- Update developer workflow rules in GEMINI.md
62 lines
1.3 KiB
C#
62 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace NexusReader.Application.DTOs.Creator;
|
|
|
|
/// <summary>
|
|
/// Telemetry metrics for the Creator Dashboard.
|
|
/// </summary>
|
|
public record DashboardMetricsDto(
|
|
int TotalReads,
|
|
double AvgReadTimeMinutes,
|
|
int ActiveReaders,
|
|
decimal GrossRevenue
|
|
);
|
|
|
|
/// <summary>
|
|
/// Lightweight revision details for the Creator Dashboard.
|
|
/// </summary>
|
|
public record CreatorBookRevisionDto(
|
|
Guid Id,
|
|
string VersionString,
|
|
bool IsPublished,
|
|
DateTime CreatedAt,
|
|
DateTime? PublishedAt
|
|
);
|
|
|
|
/// <summary>
|
|
/// Lightweight book publication details for the Creator Dashboard.
|
|
/// </summary>
|
|
public record CreatorBookDto(
|
|
Guid Id,
|
|
string Title,
|
|
int WordCount,
|
|
int AggregatedReads,
|
|
Guid? FirstChapterId,
|
|
CreatorBookRevisionDto? LivePublishedRevision,
|
|
CreatorBookRevisionDto? CurrentDraftRevision
|
|
);
|
|
|
|
/// <summary>
|
|
/// Root data envelope for Creator Dashboard loading.
|
|
/// </summary>
|
|
public record CreatorDashboardDataDto(
|
|
DashboardMetricsDto Metrics,
|
|
List<CreatorBookDto> Books
|
|
);
|
|
|
|
/// <summary>
|
|
/// Request DTO for creating a new Book.
|
|
/// </summary>
|
|
public record CreateBookRequestDto(
|
|
string Title,
|
|
string? Description
|
|
);
|
|
|
|
/// <summary>
|
|
/// Response DTO for creating a new Book.
|
|
/// </summary>
|
|
public record CreateBookResponseDto(
|
|
Guid BookId
|
|
);
|