Добавьте файлы проекта.
This commit is contained in:
27
PlaylistShared.Shared/Models/ApplicationUserDto.cs
Normal file
27
PlaylistShared.Shared/Models/ApplicationUserDto.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace PlaylistShared.Shared.Models;
|
||||
|
||||
/// <summary>DTO пользователя (без конфиденциальных данных).</summary>
|
||||
public class ApplicationUserDto
|
||||
{
|
||||
/// <summary>Идентификатор пользователя в системе.</summary>
|
||||
[JsonPropertyName("id")]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>Имя пользователя (логин).</summary>
|
||||
[JsonPropertyName("userName")]
|
||||
public string UserName { get; set; } = null!;
|
||||
|
||||
/// <summary>Email пользователя.</summary>
|
||||
[JsonPropertyName("email")]
|
||||
public string? Email { get; set; }
|
||||
|
||||
/// <summary>Идентификатор пользователя в Яндексе (если привязан).</summary>
|
||||
[JsonPropertyName("yandexId")]
|
||||
public string? YandexId { get; set; }
|
||||
|
||||
/// <summary>Отображаемое имя (можно использовать UserName).</summary>
|
||||
[JsonPropertyName("displayName")]
|
||||
public string? DisplayName { get; set; }
|
||||
}
|
||||
68
PlaylistShared.Shared/Models/SharedPlaylistDto.cs
Normal file
68
PlaylistShared.Shared/Models/SharedPlaylistDto.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using PlaylistShared.Shared.Enums;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace PlaylistShared.Shared.Models;
|
||||
|
||||
/// <summary>DTO шеринг-плейлиста (без навигационных свойств).</summary>
|
||||
public class SharedPlaylistDto
|
||||
{
|
||||
/// <summary>Уникальный идентификатор записи.</summary>
|
||||
[JsonPropertyName("id")]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>Идентификатор пользователя-создателя (владельца).</summary>
|
||||
[JsonPropertyName("creatorUserId")]
|
||||
public Guid CreatorUserId { get; set; }
|
||||
|
||||
/// <summary>Идентификатор плейлиста в Яндекс.Музыке (kind).</summary>
|
||||
[JsonPropertyName("yandexPlaylistKind")]
|
||||
public string YandexPlaylistKind { get; set; } = null!;
|
||||
|
||||
/// <summary>Идентификатор владельца плейлиста в Яндекс.Музыке (uid).</summary>
|
||||
[JsonPropertyName("yandexPlaylistOwnerUid")]
|
||||
public string YandexPlaylistOwnerUid { get; set; } = null!;
|
||||
|
||||
/// <summary>Название плейлиста.</summary>
|
||||
[JsonPropertyName("title")]
|
||||
public string Title { get; set; } = null!;
|
||||
|
||||
/// <summary>Описание плейлиста.</summary>
|
||||
[JsonPropertyName("description")]
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>URL обложки плейлиста.</summary>
|
||||
[JsonPropertyName("coverUrl")]
|
||||
public string? CoverUrl { get; set; }
|
||||
|
||||
/// <summary>Дата создания записи.</summary>
|
||||
[JsonPropertyName("createdAt")]
|
||||
public DateTime CreatedAt { get; set; }
|
||||
|
||||
/// <summary>Дата последнего обновления.</summary>
|
||||
[JsonPropertyName("updatedAt")]
|
||||
public DateTime UpdatedAt { get; set; }
|
||||
|
||||
/// <summary>Признак мягкого удаления.</summary>
|
||||
[JsonPropertyName("isDeleted")]
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
/// <summary>Уникальный токен для публичной ссылки.</summary>
|
||||
[JsonPropertyName("shareToken")]
|
||||
public string ShareToken { get; set; } = null!;
|
||||
|
||||
/// <summary>Права на просмотр.</summary>
|
||||
[JsonPropertyName("viewPermission")]
|
||||
public ViewPermission ViewPermission { get; set; }
|
||||
|
||||
/// <summary>Права на добавление треков.</summary>
|
||||
[JsonPropertyName("addPermission")]
|
||||
public EditPermission AddPermission { get; set; }
|
||||
|
||||
/// <summary>Права на удаление треков.</summary>
|
||||
[JsonPropertyName("removePermission")]
|
||||
public EditPermission RemovePermission { get; set; }
|
||||
|
||||
/// <summary>Информация о создателе (опционально, подгружается отдельно).</summary>
|
||||
[JsonPropertyName("creator")]
|
||||
public ApplicationUserDto? Creator { get; set; }
|
||||
}
|
||||
27
PlaylistShared.Shared/Models/TrackAdditionLogDto.cs
Normal file
27
PlaylistShared.Shared/Models/TrackAdditionLogDto.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace PlaylistShared.Shared.Models;
|
||||
|
||||
/// <summary>DTO лога добавления трека (без навигации).</summary>
|
||||
public class TrackAdditionLogDto
|
||||
{
|
||||
/// <summary>Уникальный идентификатор записи.</summary>
|
||||
[JsonPropertyName("id")]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>Идентификатор шеринг-плейлиста.</summary>
|
||||
[JsonPropertyName("sharedPlaylistId")]
|
||||
public Guid SharedPlaylistId { get; set; }
|
||||
|
||||
/// <summary>Идентификатор трека в Яндекс.Музыке.</summary>
|
||||
[JsonPropertyName("trackId")]
|
||||
public string TrackId { get; set; } = null!;
|
||||
|
||||
/// <summary>Идентификатор пользователя, добавившего трек.</summary>
|
||||
[JsonPropertyName("addedByUserId")]
|
||||
public Guid AddedByUserId { get; set; }
|
||||
|
||||
/// <summary>Дата и время добавления (UTC).</summary>
|
||||
[JsonPropertyName("addedAtUtc")]
|
||||
public DateTime AddedAtUtc { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user