using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace Nalu.Web.Data.Models;

public class CepCache
{
    [BsonId]
    public ObjectId Id { get; set; }

    [BsonElement("cep")]
    public string Cep { get; set; } = "";          // 8 dígitos, sem hífen

    [BsonElement("logradouro")]
    public string Logradouro { get; set; } = "";

    [BsonElement("bairro")]
    public string Bairro { get; set; } = "";

    [BsonElement("cidade")]
    public string Cidade { get; set; } = "";

    [BsonElement("estado")]
    public string Estado { get; set; } = "";

    [BsonElement("formatted_address")]
    public string FormattedAddress { get; set; } = "";

    [BsonElement("source")]
    public string Source { get; set; } = "";       // "viacep" | "brasilapi" | "seed"

    [BsonElement("cached_at")]
    public DateTime CachedAt { get; set; } = DateTime.UtcNow;
}
