using System;
namespace GmRelay.Shared.Features.Sessions.CreateSession.Wizard;
public sealed class WizardDraft
{
public Guid Id { get; set; }
///
/// Stable string id of the chat/guild/channel this draft lives in.
/// Stored as TEXT to fit both Telegram's long chat ids
/// and Discord's snowflakes.
///
public string ChatId { get; set; } = string.Empty;
///
/// Optional thread/topic id within the chat. Telegram's
/// message_thread_id, Discord's thread snowflake, null
/// when the chat has no sub-thread concept.
///
public string? MessageThreadId { get; set; }
///
/// Platform-specific user id of the wizard owner. Telegram uses
/// long, Discord uses snowflakes — both fit in a string.
///
public string OwnerId { get; set; } = string.Empty;
///
/// Which messenger platform owns this draft. Defaults to
/// "Telegram" for backward compatibility with pre-V032 rows.
///
public string Platform { get; set; } = "Telegram";
public string Step { get; set; } = string.Empty;
public string PayloadJson { get; set; } = "{}";
///
/// Id of the message that the wizard last edited. Stored as
/// TEXT to fit both Telegram's int32 ids and Discord's
/// 64-bit snowflakes.
///
public string? DraftMessageId { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
public DateTime ExpiresAt { get; set; }
}