Added new API endpoints for suggesting collections based on existing shows and for bulk adding shows to collections. Enhanced the backend with necessary logic and DTOs to support these features. Updated the frontend to include new components for displaying collection suggestions and managing bulk additions, improving the user experience for collection management. Localization updates were made to support these new features in both English and Russian.
23 lines
1.3 KiB
C#
23 lines
1.3 KiB
C#
using LiteCqrs;
|
|
using TeleWave.Application.Common.Models;
|
|
|
|
namespace TeleWave.Application.Library.Collections.AddShowsToCollection;
|
|
|
|
/// <summary>
|
|
/// Отправляет несколько шоу во франшизу разом. Коллекция либо уже есть
|
|
/// (<paramref name="CollectionId"/>), либо заводится по имени
|
|
/// (<paramref name="NewCollectionName"/>) — иначе на сборку франшизы уходило бы два экрана.
|
|
///
|
|
/// Порядок добавления — по году выпуска: сиквелы почти всегда идут так, а исключения правятся
|
|
/// перетаскиванием в карточке коллекции.
|
|
/// </summary>
|
|
public sealed record AddShowsToCollectionCommand(
|
|
IReadOnlyList<Guid> ShowIds,
|
|
Guid? CollectionId = null,
|
|
string? NewCollectionName = null
|
|
) : ICommand<Result<AddShowsToCollectionResultDto>>;
|
|
|
|
/// <param name="CollectionId">Куда в итоге сложили — новая коллекция или переданная.</param>
|
|
/// <param name="Added">Сколько шоу реально добавлено (уже входящие пропускаются).</param>
|
|
public sealed record AddShowsToCollectionResultDto(Guid CollectionId, string Name, int Added);
|