Owners invite existing users to coauthor a track; invitees accept or reject, and either side can remove a coauthor. Only accepted coauthors appear in track responses and in the coauthor's public track list. The owner also receives the full invitation list with statuses on the user tracks response.
24 lines
700 B
C#
24 lines
700 B
C#
using Musify.Domain.ValueObjects;
|
|
|
|
namespace Musify.Application.Tracks.Responses
|
|
{
|
|
public record TrackAlbumReference(Guid Id, string Title);
|
|
|
|
public record UserTrackApplicationResponse(
|
|
Guid Id,
|
|
string Title,
|
|
string? Artist,
|
|
ProcessingStatus AudioStatus,
|
|
double Duration,
|
|
int ListensCount,
|
|
DateTime CreatedAt,
|
|
DateTime UpdatedAt,
|
|
long OwnerUserId,
|
|
IReadOnlyCollection<Genre> Tags,
|
|
bool IsExplicit,
|
|
bool IsPublished,
|
|
IReadOnlyList<TrackAlbumReference> Albums,
|
|
IReadOnlyList<TrackCoauthorReference> Coauthors,
|
|
IReadOnlyList<TrackCoauthorInviteReference> CoauthorInvites);
|
|
}
|