using System.Text.Json;

namespace MemberCenter.Domain.Entities;

public sealed class UserAddress
{
    public Guid Id { get; set; }
    public Guid UserId { get; set; }
    public string Label { get; set; } = string.Empty;
    public string RecipientName { get; set; } = string.Empty;
    public string RecipientPhone { get; set; } = string.Empty;
    public string CountryCode { get; set; } = "TW";
    public string? PostalCode { get; set; }
    public string? StateRegion { get; set; }
    public string? City { get; set; }
    public string? District { get; set; }
    public string AddressLine1 { get; set; } = string.Empty;
    public string? AddressLine2 { get; set; }
    public string? CompanyName { get; set; }
    public bool IsDefault { get; set; }
    public JsonDocument? AddressMetaJson { get; set; }
    public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
    public DateTimeOffset UpdatedAt { get; set; } = DateTimeOffset.UtcNow;
}
