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!;
}
}