﻿using System;
using System.IO;

namespace KuriousKat.Core.Utilities.Logging
{
    /// <summary>
    /// Specifies a helper static class to retrieve config file paths used by KuriousKat.
    /// </summary>
    internal static class ConfigFilePathProvider
    {
        /// <summary>
        /// Returns the path to <see cref="SaveableConfigCollectionSingleton" />'s serialized instance.
        /// </summary>
        public static string ConfigCollectionPath => Path.Combine(AppDataLocation, "ConfigCollection.json");

        /// <summary>
        /// Returns the path to <see cref="SaveableEventSchedulerSingleton" />'s serialized instance.
        /// </summary>
        public static string LogHistoryPath => Path.Combine(AppDataLocation, "LogHistory.json");

        /// <summary>
        /// Returns the path to the KuriousKat directory inside of current user's AppData folder.
        /// </summary>
        private static string AppDataLocation => 
            Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "KuriousKat");
    }
}