38 lines
1.5 KiB
C#
38 lines
1.5 KiB
C#
namespace CursorLang.Services;
|
|
|
|
/// <summary>
|
|
/// Where the application learns about new versions from.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// These settings belong to the build rather than to the user: the repository is
|
|
/// chosen by whoever releases the application, and these values have no business
|
|
/// being in <c>settings.json</c>. The defaults point at the repository the
|
|
/// application is built from.
|
|
/// </remarks>
|
|
public sealed class UpdateOptions
|
|
{
|
|
/// <summary>
|
|
/// The address of the Gitea server. Its API lives on the same host as the
|
|
/// repository pages, so this is the same address the repository is opened at
|
|
/// in a browser.
|
|
/// </summary>
|
|
public Uri ServiceUri { get; init; } = new("https://git.alrakis.kz/");
|
|
|
|
/// <summary>The project: <c>owner/repository</c>.</summary>
|
|
public string Project { get; init; } = "alrakis/cursor-lang";
|
|
|
|
/// <summary>How often the application checks the releases on its own.</summary>
|
|
public TimeSpan CheckInterval { get; init; } = TimeSpan.FromDays(1);
|
|
|
|
/// <summary>
|
|
/// An access token for a private repository.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Taken from an environment variable rather than from a file in the repository:
|
|
/// a secret that gets into a build gets to everyone who received it as well.
|
|
/// A public repository needs no token at all.
|
|
/// </remarks>
|
|
public string? AccessToken { get; init; } =
|
|
Environment.GetEnvironmentVariable("CURSORLANG_UPDATE_TOKEN");
|
|
}
|