using System.Text.Json;
using System.Text.Json.Serialization;

namespace File_Folder_Helper.Models;

public record AppSettings(string Company,
                          string DefaultNoteType,
                          string[] ExcludeDirectoryNames,
                          string[] ExcludeSchemes,
                          string PersonBirthdayFormat,
                          char[] PersonCharacters,
                          char[] PersonTitleFilters,
                          string WorkingDirectoryName)
{

    public override string ToString()
    {
        string result = JsonSerializer.Serialize(this, AppSettingsSourceGenerationContext.Default.AppSettings);
        return result;
    }

}

[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(AppSettings))]
internal partial class AppSettingsSourceGenerationContext : JsonSerializerContext
{
}