using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using System.Text.Json.Serialization; namespace Insight.Infrastructure.Entities { [BsonIgnoreExtraElements] public class HostUserEntity { [BsonId, BsonRepresentation(BsonType.ObjectId), JsonPropertyName("id")] public string? Id { get; set; } [BsonElement("_host"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("host")] public string? Host { get; set; } [BsonElement("_batch"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("batch")] public string? Batch { get; set; } [BsonElement("insert")] public DateTime? Insert { get; set; } [BsonElement("update")] public DateTime? Update { get; set; } [BsonElement("sid")] public string? Sid { get; set; } [BsonElement("name")] public string? Name { get; set; } [BsonElement("domain")] public string? Domain { get; set; } [BsonElement("fullname")] public string? FullName { get; set; } [BsonElement("description")] public string? Description { get; set; } [BsonElement("status")] public string? Status { get; set; } [BsonElement("localaccount")] public bool? LocalAccount { get; set; } [BsonElement("disabled")] public bool? Disabled { get; set; } [BsonElement("lockout")] public bool? Lockout { get; set; } [BsonElement("password_changeable")] public bool? PasswordChangeable { get; set; } [BsonElement("password_expires")] public bool? PasswordExpires { get; set; } [BsonElement("password_required")] public bool? PasswordRequired { get; set; } } [BsonIgnoreExtraElements] public class HostGroupEntity { [BsonId, BsonRepresentation(BsonType.ObjectId), JsonPropertyName("id")] public string? Id { get; set; } [BsonElement("_host"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("host")] public string? Host { get; set; } [BsonElement("_batch"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("batch")] public string? Batch { get; set; } [BsonElement("insert")] public DateTime? Insert { get; set; } [BsonElement("update")] public DateTime? Update { get; set; } [BsonElement("sid")] public string? Sid { get; set; } [BsonElement("name")] public string? Name { get; set; } [BsonElement("domain")] public string? Domain { get; set; } [BsonElement("description")] public string? Description { get; set; } [BsonElement("localaccount")] public bool? LocalAccount { get; set; } } [BsonIgnoreExtraElements] public class HostUserGroupEntity { [BsonId, BsonRepresentation(BsonType.ObjectId), JsonPropertyName("id")] public string? Id { get; set; } [BsonElement("_host"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("host")] public string? Host { get; set; } [BsonElement("_user"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("user")] public string? User { get; set; } [BsonElement("_group"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("group")] public string? Group { get; set; } [BsonElement("_batch"), BsonRepresentation(BsonType.ObjectId), JsonPropertyName("batch")] public string? Batch { get; set; } [BsonElement("insert")] public DateTime? Insert { get; set; } [BsonElement("update")] public DateTime? Update { get; set; } } }