using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using static Managing.Common.Enums;

namespace Managing.Infrastructure.Databases.PostgreSql.Entities;

[Table("Accounts")]
public class AccountEntity
{
    [Key] public int Id { get; set; }
    [Required] public string Name { get; set; }
    [Required] public TradingExchanges Exchange { get; set; }
    [Required] public AccountType Type { get; set; }
    [Required] public string? Key { get; set; }
    public string? Secret { get; set; }
    [Required] public int UserId { get; set; }

    // Navigation properties
    public UserEntity? User { get; set; }

    // Store balances as JSON if needed, or skip them entirely
    // public string? BalancesJson { get; set; }
}