namespace StardewModdingAPI.Web.Framework.ConfigModels { /// The config settings for the API clients. internal class ApiClientsConfig { /********* ** Accessors *********/ /**** ** Generic ****/ /// The user agent for API clients, where {0} is the SMAPI version. public string UserAgent { get; set; } = null!; /**** ** Azure ****/ /// The connection string for the Azure Blob storage account. public string? AzureBlobConnectionString { get; set; } /// The Azure Blob container in which to store temporary uploaded logs. public string AzureBlobTempContainer { get; set; } = null!; /// The number of days since the blob's last-modified date when it will be deleted. public int AzureBlobTempExpiryDays { get; set; } /**** ** Chucklefish ****/ /// The base URL for the Chucklefish mod site. public string ChucklefishBaseUrl { get; set; } = null!; /// The URL for a mod page on the Chucklefish mod site excluding the , where {0} is the mod ID. public string ChucklefishModPageUrlFormat { get; set; } = null!; /**** ** CurseForge ****/ /// The base URL for the CurseForge API. public string CurseForgeBaseUrl { get; set; } = null!; /// The API authentication key for the CurseForge API. public string CurseForgeApiKey { get; set; } = null!; /**** ** GitHub ****/ /// The base URL for the GitHub API. public string GitHubBaseUrl { get; set; } = null!; /// The Accept header value expected by the GitHub API. public string GitHubAcceptHeader { get; set; } = null!; /// The username with which to authenticate to the GitHub API (if any). public string? GitHubUsername { get; set; } /// The password with which to authenticate to the GitHub API (if any). public string? GitHubPassword { get; set; } /**** ** ModDrop ****/ /// The base URL for the ModDrop API. public string ModDropApiUrl { get; set; } = null!; /// The URL for a ModDrop mod page for the user, where {0} is the mod ID. public string ModDropModPageUrl { get; set; } = null!; /**** ** Nexus Mods ****/ /// The base URL for the Nexus Mods API. public string NexusBaseUrl { get; set; } = null!; /// The URL for a Nexus mod page for the user, excluding the , where {0} is the mod ID. public string NexusModUrlFormat { get; set; } = null!; /// The URL for a Nexus mod page to scrape for versions, excluding the , where {0} is the mod ID. public string NexusModScrapeUrlFormat { get; set; } = null!; /// The Nexus API authentication key. public string? NexusApiKey { get; set; } /**** ** Pastebin ****/ /// The base URL for the Pastebin API. public string PastebinBaseUrl { get; set; } = null!; } }