using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System.Text.Json.Serialization;

namespace Insight.Infrastructure.Entities
{
    [BsonIgnoreExtraElements]
    public class HostLogMonitoringEntity
    {
        [BsonId, BsonRepresentation(BsonType.ObjectId), JsonPropertyName("id")]
        public string? Id { get; set; }

        [BsonElement("_host"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("host")]
        public string? Host { get; set; }

        [BsonElement("insert")]
        public DateTime? Insert { get; set; }

        [BsonElement("update")]
        public DateTime? Update { get; set; }

        [BsonElement("hostname")]
        public string? Hostname { get; set; }

        [BsonElement("category")]
        public string? Category { get; set; }

        [BsonElement("status")]
        public string? Status { get; set; }

        [BsonElement("task")]
        public string? Task { get; set; }

        [BsonElement("message")]
        public string? Message { get; set; }

        [BsonElement("dispatch")]
        public string? Dispatch { get; set; }

        [BsonElement("timestamp")]
        public DateTime? Timestamp { get; set; }
    }
}