using MediatR;

namespace ChatService.API.Application.Queries.Keys;

/// <summary>
/// EN: Query to get current user's own key bundle status.
/// VI: Query để lấy trạng thái key bundle của user hiện tại.
/// </summary>
public record GetMyKeyBundleQuery(
    string IdentityUserId
) : IRequest<MyKeyBundleDto?>;

/// <summary>
/// EN: User's own key bundle status.
/// VI: Trạng thái key bundle của user.
/// </summary>
public record MyKeyBundleDto(
    Guid ChatUserId,
    bool HasKeyBundle,
    DateTime? SignedPreKeyTimestamp,
    bool NeedsKeyRotation,
    int AvailableOneTimeKeys
);
