using System.Text.Json;

namespace SharpChat.EventStorage;

public class StoredEventInfo(
    long id,
    string type,
    User? sender,
    DateTimeOffset created,
    DateTimeOffset? deleted,
    string? channelName,
    JsonDocument data,
    StoredEventFlags flags
) {
    public long Id { get; set; } = id;
    public string Type { get; set; } = type;
    public User? Sender { get; set; } = sender;
    public DateTimeOffset Created { get; set; } = created;
    public DateTimeOffset? Deleted { get; set; } = deleted;
    public string? ChannelName { get; set; } = channelName;
    public StoredEventFlags Flags { get; set; } = flags;
    public JsonDocument Data { get; set; } = data;
}