diff --git a/SlackNet/WebApi/FilesApi.cs b/SlackNet/WebApi/FilesApi.cs index 3f66a62..3600f71 100644 --- a/SlackNet/WebApi/FilesApi.cs +++ b/SlackNet/WebApi/FilesApi.cs @@ -24,8 +24,12 @@ public interface IFilesApi /// Specify a file by providing its ID. /// Number of comments to return per page. /// Page number of comments to return. + /// + /// Parameter for pagination. File comments are paginated for a single file. + /// Set cursor equal to the returned by the previous request's . + /// /// - Task Info(string fileId, int count = 100, int page = 1, CancellationToken? cancellationToken = null); + Task Info(string fileId, int count = 100, int page = 1, string cursor = null, CancellationToken? cancellationToken = null); /// /// Returns a list of files within the team. It can be filtered and sliced in various ways. @@ -173,12 +177,13 @@ public Task Delete(string fileId, CancellationToken? cancellationToken = null) = /// Number of comments to return per page. /// Page number of comments to return. /// - public Task Info(string fileId, int count = 100, int page = 1, CancellationToken? cancellationToken = null) => + public Task Info(string fileId, int count = 100, int page = 1, string cursor = null, CancellationToken? cancellationToken = null) => _client.Get("files.info", new Args { { "file", fileId }, { "count", count }, - { "page", page } + { "page", page }, + { "cursor", cursor } }, cancellationToken); /// diff --git a/SlackNet/WebApi/ReactionsApi.cs b/SlackNet/WebApi/ReactionsApi.cs index f27c25e..006271a 100644 --- a/SlackNet/WebApi/ReactionsApi.cs +++ b/SlackNet/WebApi/ReactionsApi.cs @@ -48,8 +48,12 @@ public interface IReactionsApi /// If true always return the complete reaction list. /// Number of items to return per page. /// Page number of results to return. + /// + /// Parameter for pagination. + /// Set cursor equal to the returned by the previous request's . + /// /// - Task List(string userId = null, bool full = false, int count = 100, int page = 1, CancellationToken? cancellationToken = null); + Task List(string userId = null, bool full = false, int count = 100, int page = 1, string cursor = null, CancellationToken? cancellationToken = null); /// /// Removes a reaction (emoji) from a file. @@ -148,14 +152,19 @@ public async Task GetForMessage(string channelId, string ts, bool /// If true always return the complete reaction list. /// Number of items to return per page. /// Page number of results to return. + /// + /// Parameter for pagination. + /// Set cursor equal to the returned by the previous request's . + /// /// - public Task List(string userId = null, bool full = false, int count = 100, int page = 1, CancellationToken? cancellationToken = null) => + public Task List(string userId = null, bool full = false, int count = 100, int page = 1, string cursor = null, CancellationToken? cancellationToken = null) => _client.Get("reactions.list", new Args { { "user", userId }, { "full", full }, { "count", count }, - { "page", page } + { "page", page }, + { "cursor", cursor } }, cancellationToken); /// diff --git a/SlackNet/WebApi/Responses/ConversationListResponse.cs b/SlackNet/WebApi/Responses/ConversationListResponse.cs index dc1770c..5982661 100644 --- a/SlackNet/WebApi/Responses/ConversationListResponse.cs +++ b/SlackNet/WebApi/Responses/ConversationListResponse.cs @@ -4,7 +4,7 @@ namespace SlackNet.WebApi { public class ConversationListResponse { - public IList Channels { get; set; } - public ResponseMetadata ResponseMetadata { get; set; } + public IList Channels { get; set; } = new List(); + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/Responses/ConversationMembersResponse.cs b/SlackNet/WebApi/Responses/ConversationMembersResponse.cs index df8e315..c9161e0 100644 --- a/SlackNet/WebApi/Responses/ConversationMembersResponse.cs +++ b/SlackNet/WebApi/Responses/ConversationMembersResponse.cs @@ -5,6 +5,6 @@ namespace SlackNet.WebApi public class ConversationMembersResponse { public IList Members { get; set; } = new List(); - public ResponseMetadata ResponseMetadata { get; set; } + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/Responses/ConversationMessagesResponse.cs b/SlackNet/WebApi/Responses/ConversationMessagesResponse.cs index 78e466c..c55a25f 100644 --- a/SlackNet/WebApi/Responses/ConversationMessagesResponse.cs +++ b/SlackNet/WebApi/Responses/ConversationMessagesResponse.cs @@ -7,6 +7,6 @@ public class ConversationMessagesResponse { public IList Messages { get; set; } = new List(); public bool HasMore { get; set; } - public ResponseMetadata ResponseMetadata { get; set; } + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/Responses/FileAndCommentsResponse.cs b/SlackNet/WebApi/Responses/FileAndCommentsResponse.cs index 27c404d..519ee1b 100644 --- a/SlackNet/WebApi/Responses/FileAndCommentsResponse.cs +++ b/SlackNet/WebApi/Responses/FileAndCommentsResponse.cs @@ -5,6 +5,7 @@ namespace SlackNet.WebApi public class FileAndCommentsResponse : FileResponse { public IList Comments { get; set; } = new List(); - public Paging Paging { get; set; } + public Paging Paging { get; set; } = new Paging(); + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/Responses/FileListResponse.cs b/SlackNet/WebApi/Responses/FileListResponse.cs index 5e4b949..ef99b99 100644 --- a/SlackNet/WebApi/Responses/FileListResponse.cs +++ b/SlackNet/WebApi/Responses/FileListResponse.cs @@ -5,7 +5,7 @@ namespace SlackNet.WebApi public class FileListResponse { public IList Files { get; set; } = new List(); - public Paging Paging { get; set; } - public ResponseMetadata ResponseMetadata { get; set; } + public Paging Paging { get; set; } = new Paging(); + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/Responses/ReactionItemListResponse.cs b/SlackNet/WebApi/Responses/ReactionItemListResponse.cs index 67d4122..ef40e3b 100644 --- a/SlackNet/WebApi/Responses/ReactionItemListResponse.cs +++ b/SlackNet/WebApi/Responses/ReactionItemListResponse.cs @@ -4,7 +4,8 @@ namespace SlackNet.WebApi { public class ReactionItemListResponse { - public IList Items { get; set; } - public Paging Paging { get; set; } + public IList Items { get; set; } = new List(); + public Paging Paging { get; set; } = new Paging(); + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/Responses/ScheduledMessageListResponse.cs b/SlackNet/WebApi/Responses/ScheduledMessageListResponse.cs index 4032850..ad778b5 100644 --- a/SlackNet/WebApi/Responses/ScheduledMessageListResponse.cs +++ b/SlackNet/WebApi/Responses/ScheduledMessageListResponse.cs @@ -5,7 +5,7 @@ namespace SlackNet.WebApi public class ScheduledMessageListResponse { public IList ScheduledMessages { get; set; } = new List(); - public ResponseMetadata ResponseMetadata { get; set; } + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } public class ScheduledMessage diff --git a/SlackNet/WebApi/Responses/StarListResponse.cs b/SlackNet/WebApi/Responses/StarListResponse.cs index 43addb1..b378e8c 100644 --- a/SlackNet/WebApi/Responses/StarListResponse.cs +++ b/SlackNet/WebApi/Responses/StarListResponse.cs @@ -4,7 +4,8 @@ namespace SlackNet.WebApi { public class StarListResponse { - public IList Items { get; set; } - public Paging Paging { get; set; } + public IList Items { get; set; } = new List(); + public Paging Paging { get; set; } = new Paging(); + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/Responses/UserListResponse.cs b/SlackNet/WebApi/Responses/UserListResponse.cs index c298566..8e95289 100644 --- a/SlackNet/WebApi/Responses/UserListResponse.cs +++ b/SlackNet/WebApi/Responses/UserListResponse.cs @@ -10,6 +10,6 @@ public class UserListResponse public int CacheTs { get; set; } [JsonIgnore] public DateTime CacheTime => CacheTs.ToDateTime().GetValueOrDefault(); - public ResponseMetadata ResponseMetadata { get; set; } + public ResponseMetadata ResponseMetadata { get; set; } = new ResponseMetadata(); } } \ No newline at end of file diff --git a/SlackNet/WebApi/StarsApi.cs b/SlackNet/WebApi/StarsApi.cs index 19b2d07..01bd8f9 100644 --- a/SlackNet/WebApi/StarsApi.cs +++ b/SlackNet/WebApi/StarsApi.cs @@ -40,9 +40,12 @@ public interface IStarsApi /// /// Number of items to return per page. /// Page number of results to return. + /// + /// Parameter for pagination. + /// Set cursor equal to the returned by the previous request's . + /// /// - /// - Task List(int count = 100, int page = 1, CancellationToken? cancellationToken = null); + Task List(int count = 100, int page = 1, string cursor = null, CancellationToken? cancellationToken = null); /// /// Removes a star from a file. @@ -121,13 +124,17 @@ public Task AddToMessage(string channelId, string ts, CancellationToken? cancell /// /// Number of items to return per page. /// Page number of results to return. + /// + /// Parameter for pagination. + /// Set cursor equal to the returned by the previous request's . + /// /// - /// - public Task List(int count = 100, int page = 1, CancellationToken? cancellationToken = null) => + public Task List(int count = 100, int page = 1, string cursor = null, CancellationToken? cancellationToken = null) => _client.Get("stars.list", new Args { { "count", count }, - { "page", page } + { "page", page }, + { "cursor", cursor } }, cancellationToken); ///