From 8407369485541b1fce28f1c9c8d5bf5852579c57 Mon Sep 17 00:00:00 2001 From: Jeysson Jose Guevara Mendivil Date: Tue, 17 Jul 2018 05:21:48 +0300 Subject: [PATCH] Added 'Archived' flag to Repository response. (#1845) * Added 'Archived' flag to Repository response. * add Archived support to repository update add Archived support to search repo and search issues * add archived field to ctor --- Octokit/Models/Request/RepositoryUpdate.cs | 5 +++++ Octokit/Models/Request/SearchIssuesRequest.cs | 10 ++++++++++ Octokit/Models/Request/SearchRepositoriesRequest.cs | 11 +++++++++++ Octokit/Models/Response/Repository.cs | 5 ++++- 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/Octokit/Models/Request/RepositoryUpdate.cs b/Octokit/Models/Request/RepositoryUpdate.cs index 0a3925a4..1ee0dd74 100644 --- a/Octokit/Models/Request/RepositoryUpdate.cs +++ b/Octokit/Models/Request/RepositoryUpdate.cs @@ -78,6 +78,11 @@ namespace Octokit /// public bool? AllowMergeCommit { get; set; } + /// + /// Optional. True to archive this repository. Note: you cannot unarchive repositories through the API. + /// + public bool? Archived { get; set; } + [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal string DebuggerDisplay { diff --git a/Octokit/Models/Request/SearchIssuesRequest.cs b/Octokit/Models/Request/SearchIssuesRequest.cs index f0c66287..a644cdc6 100644 --- a/Octokit/Models/Request/SearchIssuesRequest.cs +++ b/Octokit/Models/Request/SearchIssuesRequest.cs @@ -264,6 +264,11 @@ namespace Octokit /// public string Milestone { get; set; } + /// + /// Filters issues or pull requests based on whether they are in an archived repository. + /// + public bool? Archived { get; set; } + [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] public RepositoryCollection Repos { get; set; } @@ -402,6 +407,11 @@ namespace Octokit parameters.Add(string.Format(CultureInfo.InvariantCulture, "milestone:\"{0}\"", Milestone.EscapeDoubleQuotes())); } + if (Archived != null) + { + parameters.Add(string.Format(CultureInfo.InvariantCulture, "archived:{0}", Archived.ToString().ToLower())); + } + // Add any exclusion parameters if (Exclusions != null) { diff --git a/Octokit/Models/Request/SearchRepositoriesRequest.cs b/Octokit/Models/Request/SearchRepositoriesRequest.cs index 61530922..f4101dde 100644 --- a/Octokit/Models/Request/SearchRepositoriesRequest.cs +++ b/Octokit/Models/Request/SearchRepositoriesRequest.cs @@ -112,6 +112,11 @@ namespace Octokit /// public DateRange Updated { get; set; } + /// + /// Filters whether archived repositories should be included (true) or not (false). + /// + public bool? Archived { get; set; } + public override IReadOnlyList MergedQualifiers() { var parameters = new List(); @@ -160,6 +165,12 @@ namespace Octokit { parameters.Add(string.Format(CultureInfo.InvariantCulture, "pushed:{0}", Updated)); } + + if (Archived != null) + { + parameters.Add(string.Format(CultureInfo.InvariantCulture, "archived:{0}", Archived.ToString().ToLower())); + } + return parameters; } diff --git a/Octokit/Models/Response/Repository.cs b/Octokit/Models/Response/Repository.cs index 65a2716f..8ae09602 100644 --- a/Octokit/Models/Response/Repository.cs +++ b/Octokit/Models/Response/Repository.cs @@ -14,7 +14,7 @@ namespace Octokit Id = id; } - public Repository(string url, string htmlUrl, string cloneUrl, string gitUrl, string sshUrl, string svnUrl, string mirrorUrl, long id, string nodeId, User owner, string name, string fullName, string description, string homepage, string language, bool @private, bool fork, int forksCount, int stargazersCount, string defaultBranch, int openIssuesCount, DateTimeOffset? pushedAt, DateTimeOffset createdAt, DateTimeOffset updatedAt, RepositoryPermissions permissions, Repository parent, Repository source, LicenseMetadata license, bool hasIssues, bool hasWiki, bool hasDownloads, bool hasPages, int subscribersCount, long size, bool? allowRebaseMerge, bool? allowSquashMerge, bool? allowMergeCommit) + public Repository(string url, string htmlUrl, string cloneUrl, string gitUrl, string sshUrl, string svnUrl, string mirrorUrl, long id, string nodeId, User owner, string name, string fullName, string description, string homepage, string language, bool @private, bool fork, int forksCount, int stargazersCount, string defaultBranch, int openIssuesCount, DateTimeOffset? pushedAt, DateTimeOffset createdAt, DateTimeOffset updatedAt, RepositoryPermissions permissions, Repository parent, Repository source, LicenseMetadata license, bool hasIssues, bool hasWiki, bool hasDownloads, bool hasPages, int subscribersCount, long size, bool? allowRebaseMerge, bool? allowSquashMerge, bool? allowMergeCommit, bool archived) { Url = url; HtmlUrl = htmlUrl; @@ -53,6 +53,7 @@ namespace Octokit AllowRebaseMerge = allowRebaseMerge; AllowSquashMerge = allowSquashMerge; AllowMergeCommit = allowMergeCommit; + Archived = archived; } public string Url { get; protected set; } @@ -132,6 +133,8 @@ namespace Octokit public long Size { get; protected set; } + public bool Archived { get; protected set; } + internal string DebuggerDisplay { get