using MessagePack;
using System.Text.Json.Serialization;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.GuildChat;
/// Request for POST /guild_chat/messages. Polling endpoint for guild chat.
[MessagePackObject]
public class GuildChatMessagesRequest
{
[JsonPropertyName("viewer_id"), Key("viewer_id")]
public string ViewerId { get; set; } = "";
[JsonPropertyName("steam_id"), Key("steam_id")]
public ulong SteamId { get; set; }
[JsonPropertyName("steam_session_ticket"), Key("steam_session_ticket")]
public string SteamSessionTicket { get; set; } = "";
/// Anchor message id. 0 = latest log head.
[JsonPropertyName("start_message_id"), Key("start_message_id")]
public long StartMessageId { get; set; }
/// Chat.eRequestDirection: 1=OLD 2=NEW 3=BOTH.
[JsonPropertyName("direction"), Key("direction")]
public int Direction { get; set; }
/// Client's current polling interval in seconds.
[JsonPropertyName("wait_interval"), Key("wait_interval")]
public int WaitInterval { get; set; }
}