Ejemplo n.º 1
0
        /// <summary>
        /// Get users who user follows.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="userId">User in question.</param>
        /// <param name="limit">End index.</param>
        /// <param name="offset">Start index.</param>
        public static void GetUserFollowingsAsync(KipptClient client, int userId, int limit = 0, int offset = 0)
        {
            var parameters = new Dictionary<string, object>();

            if (limit > 0) parameters.Add("limit", limit);
            if (offset > 0) parameters.Add("offset", offset);

            client.ApiAsync<KipptUserCollection>(ApiCommand.UserFollowings, HttpMethod.Get, parameters, userId);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Returns a collection of notifications.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="limit">End index.</param>
        /// <param name="offset">Start index.</param>
        public static void GetNotificationsAsync(KipptClient client, int limit, int offset)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();

            parameters.Add("limit", limit);

            if (offset > 0) parameters.Add("offset", offset);

            client.ApiAsync<KipptNotificationCollection>(ApiCommand.Notifications, HttpMethod.Get, parameters);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Returns a clip by its id.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="id">Clip id.</param>
 public static void GetClipAsync(KipptClient client, int id)
 {
     client.ApiAsync<KipptClip>(ApiCommand.Clip, HttpMethod.Get, id);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Returns the logged-in user profile.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 public static void MeAsync(KipptClient client)
 {
     client.ApiAsync<KipptUser>(ApiCommand.Account, HttpMethod.Get);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Returns basic informations of a user.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="user">User id.</param>
 public static void GetUserAsync(KipptClient client, int userId)
 {
     client.ApiAsync<KipptUser>(ApiCommand.User, HttpMethod.Get, userId);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Remove clip from favorites.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="clipId">Clip id.</param>
 public static void UnFavoriteClipAsync(KipptClient client, int clipId)
 {
     client.ApiAsync<object>(ApiCommand.FavoriteClip, HttpMethod.Delete, clipId);
 }
Ejemplo n.º 7
0
        /// <summary>
        /// HTTP basic authentication.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="username">Username.</param>
        /// <param name="password">Password.</param>
        /// 
        /// <exception cref="KipptException">Empty parameters or wrong credentials.</exception>
        /// 
        /// <returns><see cref="KipptUser"/> instance.</returns>
        public static void AuthenticateAsync(KipptClient client, string username, string password)
        {
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                throw new ArgumentNullException("Username/Password cannot be null or empty !");
            }

            Dictionary<string, object> parameters = new Dictionary<string, object>();

            parameters.Add("username", username);
            parameters.Add("password", password);

            client.ApiAsync<KipptUser>(ApiCommand.Account, HttpMethod.Get, parameters);
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Creates a list.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// 
 /// <remarks>
 ///     * Title (required).
 /// </remarks>
 /// 
 /// <returns>Created <see cref="KipptList"/> instance.</returns>
 public void CreateAsync(KipptClient client)
 {
     client.ApiAsync<KipptList>(ApiCommand.Lists, HttpMethod.Post, JsonHelper.Serialize<KipptList>(this));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Deleted a list.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 public void DeleteAsync(KipptClient client)
 {
     client.ApiAsync<KipptList>(ApiCommand.List, HttpMethod.Delete, this.Id);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Returns a list by its id.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="id">List id.</param>
 /// <param name="scopes">List of scopes.</param>
 public static void GetListAsync(KipptClient client, int id)
 {
     client.ApiAsync<KipptList>(ApiCommand.List, HttpMethod.Get, id);
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Unfollow a list.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="listId">List id.</param>
 public static void UnFollowListAsync(KipptClient client, int listId)
 {
     client.ApiAsync<KipptRelationship>(ApiCommand.ListRelationship, HttpMethod.Post, JsonHelper.Serialize<KipptAction>(new KipptAction("unfollow")), listId);
 }
Ejemplo n.º 12
0
        /// <summary>
        /// Returns a query filtered collection of clips.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="query">Query.</param>
        /// <param name="limit">End index.</param>
        /// <param name="offset">Start index.</param>
        /// <param name="list">List id.</param>
        /// <param name="isStarred">Filter clips by returning only starred ones.</param>
        public static void SearchAsync(KipptClient client, string query, int limit, int offset, int? list = null, bool isStarred = false)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();

            parameters.Add("q", query);

            if (limit > 0) parameters.Add("limit", limit);
            if (offset > 0) parameters.Add("offset", offset);
            if (list != null) parameters.Add("list", list);
            if (isStarred) parameters.Add("is_starred", "true");

            client.ApiAsync<KipptClipCollection>(ApiCommand.ClipSearch, HttpMethod.Get, parameters);
        }
Ejemplo n.º 13
0
 /// <summary>
 /// Deletes a clip.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 public void DeleteAsync(KipptClient client)
 {
     client.ApiAsync<KipptClip>(ApiCommand.Clip, HttpMethod.Delete, Id);
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Returns a collection of feed items.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 public static void GetFeedAsync(KipptClient client)
 {
     client.ApiAsync<KipptClipCollection>(ApiCommand.Feed, HttpMethod.Get);
 }
Ejemplo n.º 15
0
        /// <summary>
        /// Returns a collection of clips in a specific list.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="list">List id.</param>
        /// <param name="limit">End index.</param>
        /// <param name="offset">Start index.</param>
        /// <param name="isStarred">Filter clips by returning only starred ones.</param>
        /// <param name="isReadLater">Filter clips returning only read later ones.</param>
        /// <param name="since">Specify a start date as a filter.</param>
        public static void GetClipsByListAsync(KipptClient client, int list, int limit, int offset, bool isStarred = false, bool isReadLater = false, DateTime? since = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();

            parameters.Add("list", list);

            if (limit > 0) parameters.Add("limit", limit);
            if (offset > 0) parameters.Add("offset", offset);
            if (isStarred) parameters.Add("is_starred", "true");
            if (isReadLater) parameters.Add("is_read_later", "true");
            if (since != null) parameters.Add("since", Utils.ToUnixTime((DateTime)since));

            client.ApiAsync<KipptClipCollection>(ApiCommand.Clips, HttpMethod.Get, parameters);
        }
Ejemplo n.º 16
0
 /// <summary>
 /// Unlike a clip.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="clipId">Clip id.</param>
 public static void UnLikeClipAsync(KipptClient client, int clipId)
 {
     client.ApiAsync<object>(ApiCommand.ClipLikes, HttpMethod.Delete, clipId);
 }
Ejemplo n.º 17
0
 /// <summary>
 /// Delete a comment.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="clipId">clip id.</param>
 /// <param name="commentId">comment id.</param>
 public static void DeleteCommentAsync(KipptClient client, int clipId, int commentId)
 {
     client.ApiAsync<object>(ApiCommand.DeleteComment, HttpMethod.Delete, clipId, commentId);
 }
Ejemplo n.º 18
0
        /// <summary>
        /// Add comment to a clip.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="clipId">Clip id.</param>
        /// <param name="commentText">Comment text.</param>
        public static void AddCommentAsync(KipptClient client, int clipId, string commentText)
        {
            var comment = new KipptComment();

            comment.Body = commentText;

            client.ApiAsync<KipptComment>(ApiCommand.ClipComments, HttpMethod.Post, JsonHelper.Serialize<KipptComment>(comment), clipId);
        }
Ejemplo n.º 19
0
 /// <summary>
 /// Checks whether the logged in user is following a list.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="listId">List id.</param>        
 public static void IsFollowingAsync(KipptClient client, int listId)
 {
     client.ApiAsync<KipptRelationship>(ApiCommand.ListRelationship, HttpMethod.Get, listId);
 }
Ejemplo n.º 20
0
 /// <summary>
 /// Returns a collection of notifications.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 public static void GetNotificationsAsync(KipptClient client)
 {
     client.ApiAsync<KipptNotificationCollection>(ApiCommand.Notifications, HttpMethod.Get);
 }
Ejemplo n.º 21
0
        /// <summary>
        /// Search for a list.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="query">Query.</param>
        /// <param name="limit">End index.</param>
        /// <param name="offset">Start index.</param>
        public static void SearchAsync(KipptClient client, string query, int limit = 0, int offset = 0)
        {
            var parameters = new Dictionary<string, object>();

            parameters.Add("q", query);

            if (limit > 0) parameters.Add("limit", limit);
            if (offset > 0) parameters.Add("offset", offset);

            client.ApiAsync<KipptListCollection>(ApiCommand.ListSearch, HttpMethod.Get, parameters);
        }
Ejemplo n.º 22
0
 /// <summary>
 /// Mark all notifications as seen.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 public static void MarkNotificationsAsSeenAsync(KipptClient client)
 {
     client.ApiAsync<object>(ApiCommand.Notifications, HttpMethod.Post, JsonHelper.Serialize<KipptAction>(new KipptAction("mark_seen")));
 }
Ejemplo n.º 23
0
 /// <summary>
 /// Updates a list.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// 
 /// <returns>Updated <see cref="KipptList"/> instance.</returns>
 public void UpdateAsync(KipptClient client)
 {
     client.ApiAsync<KipptList>(ApiCommand.List, HttpMethod.Put, JsonHelper.Serialize<KipptList>(this), this.Id);
 }
Ejemplo n.º 24
0
 /// <summary>
 /// Follow a user.
 /// </summary>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="userId">User to follow.</param>
 public static void FollowUserAsync(KipptClient client, int userId)
 {
     client.ApiAsync<KipptRelationship>(ApiCommand.UserRelationship, HttpMethod.Post, JsonHelper.Serialize<KipptAction>(new KipptAction("follow")), userId);
 }
Ejemplo n.º 25
0
 /// <summary>
 /// Returns a collection of lists.
 /// </summary>
 /// 
 /// <remarks>
 /// Results are paginated.
 /// The default number of returned lists is 20.
 /// Pagination information are stored in the Meta property of <see cref="KipptListCollection"/> class.
 /// </remarks>
 /// 
 /// <param name="client"><see cref="KipptClient"/> instance.</param>
 /// <param name="scopes">List of scopes.</param>
 public static void GetListsAsync(KipptClient client)
 {
     client.ApiAsync<KipptListCollection>(ApiCommand.Lists, HttpMethod.Get);
 }
Ejemplo n.º 26
0
        /// <summary>
        /// Returns favorites clips. Both private and public.
        /// </summary>
        /// 
        /// <param name="client"><see cref="KipptClient"/> instance.</param>
        /// <param name="limit">End index.</param>
        /// <param name="offset">Start index.</param>
        /// <param name="since">Date filter.</param>
        public static void GetFavoriteClipsAsync(KipptClient client, int limit = 0, int offset = 0, DateTime? since = null)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();

            if (limit > 0) parameters.Add("limit", limit);
            if (offset > 0) parameters.Add("offset", offset);
            if (since != null) parameters.Add("since", Utils.ToUnixTime((DateTime)since));

            client.ApiAsync<KipptClipCollection>(ApiCommand.ClipFavorites, HttpMethod.Get, parameters);
        }