// EN: Query to get the barista queue for a shop.
// VI: Query de lay hang doi barista cho shop.

using MediatR;

namespace FnbEngine.API.Application.Queries;

/// <summary>
/// EN: Query to get active barista queue items for a shop.
/// VI: Query de lay cac item hang doi barista dang hoat dong cho shop.
/// </summary>
public record GetBaristaQueueQuery(Guid ShopId) : IRequest<IEnumerable<BaristaQueueItemDto>>;

/// <summary>
/// EN: Barista queue item DTO.
/// VI: DTO item hang doi barista.
/// </summary>
public record BaristaQueueItemDto(
    Guid Id,
    Guid ShopId,
    Guid OrderId,
    Guid OrderItemId,
    string DrinkName,
    string? Customizations,
    int Priority,
    int StatusId,
    string StatusName,
    string? AssignedTo,
    int EstimatedMinutes,
    DateTime CreatedAt,
    DateTime? StartedAt,
    DateTime? CompletedAt
);
