using System;
using System.IO;
using System.Text.Json;

namespace sharpFRN
{
    public class Settings
    {
        public string WebSocketHost { get; set; }
        public FRNSettings FRNClient { get; set; }
    }

    public class FRNSettings
    {
        public string Host { get; set; }
        public int Port { get; set; }
        public string CallSign { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
        public string Password { get; set; }
        public string Network { get; set; }
        public string Country { get; set; }
        public string City { get; set; }
        public string Locator { get; set; }
        public string Type { get; set; }
        public string Description { get; set; }
    }

    public static class SettingsLoader
    {
        public static Settings Load(string filePath)
        {
            if (!File.Exists(filePath))
            {
                throw new FileNotFoundException($"Settings file not found: {filePath}");
            }

            string json = File.ReadAllText(filePath);
            return JsonSerializer.Deserialize<Settings>(json);
        }
    }
}
