Files
ForgejoReleaseSync/DTOs/Forgejo/ForgejoGetReleasesDto.cs
T

102 lines
3.5 KiB
C#

using System.Text.Json.Serialization;
namespace ForgejoReleaseSync.DTOs.Forgejo;
public sealed record ForgejoReleaseResponseDto(
[property: JsonPropertyName("archive_download_count")]
ArchiveDownloadCount ArchiveDownloadCount,
[property: JsonPropertyName("assets")]
ForgejoReleaseAsset[] Assets,
[property: JsonPropertyName("author")]
ForgejoUser Author,
[property: JsonPropertyName("body")]
string Body,
[property: JsonPropertyName("created_at")]
DateTimeOffset CreatedAt,
[property: JsonPropertyName("draft")]
bool Draft,
[property: JsonPropertyName("hide_archive_links")]
bool HideArchiveLinks,
[property: JsonPropertyName("html_url")]
string HtmlUrl,
[property: JsonPropertyName("id")]
long Id,
[property: JsonPropertyName("name")]
string Name,
[property: JsonPropertyName("prerelease")]
bool Prerelease,
[property: JsonPropertyName("published_at")]
DateTimeOffset PublishedAt,
[property: JsonPropertyName("tag_name")]
string TagName,
[property: JsonPropertyName("tarball_url")]
string TarballUrl,
[property: JsonPropertyName("target_commitish")]
string TargetCommitish,
[property: JsonPropertyName("upload_url")]
string UploadUrl,
[property: JsonPropertyName("url")]
string Url,
[property: JsonPropertyName("zipball_url")]
string ZipballUrl
);
public sealed record ArchiveDownloadCount(
[property: JsonPropertyName("tar_gz")] long TarGz,
[property: JsonPropertyName("zip")] long Zip
);
public sealed record ForgejoReleaseAsset(
[property: JsonPropertyName("browser_download_url")] string BrowserDownloadUrl,
[property: JsonPropertyName("created_at")] DateTimeOffset CreatedAt,
[property: JsonPropertyName("download_count")] long DownloadCount,
[property: JsonPropertyName("id")] long Id,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("size")] long Size,
[property: JsonPropertyName("type")] string Type,
[property: JsonPropertyName("uuid")] string Uuid
);
public sealed record ForgejoUser(
[property: JsonPropertyName("active")] bool Active,
[property: JsonPropertyName("avatar_url")] string AvatarUrl,
[property: JsonPropertyName("created")] DateTimeOffset Created,
[property: JsonPropertyName("description")] string Description,
[property: JsonPropertyName("email")] string Email,
[property: JsonPropertyName("followers_count")] long FollowersCount,
[property: JsonPropertyName("following_count")] long FollowingCount,
[property: JsonPropertyName("full_name")] string FullName,
[property: JsonPropertyName("html_url")] string HtmlUrl,
[property: JsonPropertyName("id")] long Id,
[property: JsonPropertyName("is_admin")] bool IsAdmin,
[property: JsonPropertyName("language")] string Language,
[property: JsonPropertyName("last_login")] DateTimeOffset LastLogin,
[property: JsonPropertyName("location")] string Location,
[property: JsonPropertyName("login")] string Login,
[property: JsonPropertyName("login_name")] string LoginName,
[property: JsonPropertyName("prohibit_login")] bool ProhibitLogin,
[property: JsonPropertyName("pronouns")] string Pronouns,
[property: JsonPropertyName("restricted")] bool Restricted,
[property: JsonPropertyName("source_id")] long SourceId,
[property: JsonPropertyName("starred_repos_count")] long StarredReposCount,
[property: JsonPropertyName("visibility")] string Visibility,
[property: JsonPropertyName("website")] string Website
);