feat(installer): add IReleaseClient + Gitea ReleaseClient

This commit is contained in:
Mika Kuns
2026-04-15 09:10:02 +02:00
parent d0c0e2ce1f
commit 5603fd458d
3 changed files with 206 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
namespace ClaudeDo.Installer.Core;
public sealed record ReleaseAsset(string Name, string BrowserDownloadUrl, long Size);
public sealed record GiteaRelease(
string TagName,
string Name,
IReadOnlyList<ReleaseAsset> Assets);
public interface IReleaseClient
{
Task<GiteaRelease?> GetLatestReleaseAsync(CancellationToken ct);
Task DownloadAsync(string url, string destPath, IProgress<long> progress, CancellationToken ct);
}