using SurrealDb.Net.Models;
namespace RelayServer.Models;
///
/// Surreal record for the `channel_message_edits` table. One row per historical version of
/// an edited message — written by HandleEditMessage BEFORE overwriting the live row.
///
/// Encrypted with the channel AES key (same as ChannelMessages), so HandleGetEditHistory
/// can decrypt + re-encrypt per requester.
///
public class ChannelMessageEdits : Record
{
/// "channel_messages:abc" — which live message this version belonged to.
public required string MessageId { get; set; }
/// Base64 AES-GCM ciphertext of the JSON-serialised previous ChatMessageContent.
public required string CipherText { get; set; }
public required string Nonce { get; set; }
public required string Tag { get; set; }
/// When this version was the current text (i.e. when it was replaced).
public required DateTime EditedAt { get; set; }
}