7f06856f45
build-and-deploy / deploy (push) Successful in 10m50s
Blazor UI + ASP.NET API + Postgres; push to main builds images and rolls out namespace tafsirquran.
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
namespace TafsirQuran.Shared.Dtos;
|
|
|
|
public record TafsirDto(Guid Id, string Title, string Author, string Slug, string? CoverUrl);
|
|
|
|
public record EpisodeListItemDto(
|
|
Guid Id,
|
|
string Title,
|
|
int SurahNumber,
|
|
string SurahNameFa,
|
|
int AyahNumber,
|
|
int DurationSeconds,
|
|
int SortOrder);
|
|
|
|
public record EpisodeDetailDto(
|
|
Guid Id,
|
|
Guid TafsirId,
|
|
string TafsirSlug,
|
|
string Title,
|
|
int SurahNumber,
|
|
string SurahNameFa,
|
|
int AyahNumber,
|
|
string AyahTextAr,
|
|
string? AyahTextFa,
|
|
string AudioUrl,
|
|
int DurationSeconds,
|
|
string? Summary);
|
|
|
|
public record ProgressDto(Guid EpisodeId, double PositionSeconds, DateTimeOffset UpdatedAt, EpisodeListItemDto? Episode);
|
|
|
|
public record UpsertProgressRequest(Guid EpisodeId, double PositionSeconds, string DeviceId);
|
|
|
|
public record FavoriteDto(Guid Id, Guid EpisodeId, DateTimeOffset CreatedAt, EpisodeListItemDto Episode);
|
|
|
|
public record BookmarkDto(Guid Id, Guid EpisodeId, string? Note, DateTimeOffset CreatedAt, EpisodeListItemDto Episode);
|
|
|
|
public record ToggleEpisodeRequest(Guid EpisodeId, string DeviceId, string? Note = null);
|
|
|
|
public record AuthRequest(string Email, string Password, string? DisplayName = null);
|
|
|
|
public record AuthResponse(Guid UserId, string Email, string DisplayName, string Token);
|
|
|
|
public record UserStatusDto(bool IsAuthenticated, Guid? UserId, string? Email, string? DisplayName);
|