OSDN Git Service

DeleteTweetメソッドをISocialProtocolMutationに移動
authorKimura Youichi <kim.upsilon@bucyou.net>
Fri, 10 May 2024 15:26:38 +0000 (00:26 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Fri, 10 May 2024 15:26:38 +0000 (00:26 +0900)
OpenTween/SocialProtocol/ISocialProtocolMutation.cs
OpenTween/SocialProtocol/Twitter/TwitterGraphqlMutation.cs
OpenTween/SocialProtocol/Twitter/TwitterV1Mutation.cs
OpenTween/Tween.cs
OpenTween/Twitter.cs

index 23346df..88f6bb0 100644 (file)
@@ -28,6 +28,8 @@ namespace OpenTween.SocialProtocol
 {
     public interface ISocialProtocolMutation
     {
+        public Task DeletePost(PostId postId);
+
         public Task FavoritePost(PostId postId);
 
         public Task UnfavoritePost(PostId postId);
index a9cfe86..7c55054 100644 (file)
@@ -42,6 +42,18 @@ namespace OpenTween.SocialProtocol.Twitter
             this.account = account;
         }
 
+        public async Task DeletePost(PostId postId)
+        {
+            var statusId = this.AssertTwitterStatusId(postId);
+            var request = new DeleteTweetRequest
+            {
+                TweetId = statusId,
+            };
+
+            await request.Send(this.account.Legacy.Api.Connection)
+                .ConfigureAwait(false);
+        }
+
         public async Task FavoritePost(PostId postId)
         {
             var statusId = this.AssertTwitterStatusId(postId);
index 35aaaeb..d959c3f 100644 (file)
@@ -45,6 +45,14 @@ namespace OpenTween.SocialProtocol.Twitter
             this.account = account;
         }
 
+        public async Task DeletePost(PostId postId)
+        {
+            var statusId = this.AssertTwitterStatusId(postId);
+
+            await this.account.Legacy.Api.StatusesDestroy(statusId)
+                .IgnoreResponse();
+        }
+
         public async Task FavoritePost(PostId postId)
         {
             var statusId = this.AssertTwitterStatusId(postId);
index e5dd81e..98ae2a8 100644 (file)
@@ -2327,13 +2327,13 @@ namespace OpenTween
                                     {
                                         // 他人に RT された自分のツイート
                                         //   => RT 元の自分のツイートを削除
-                                        await this.tw.DeleteTweet(post.RetweetedId.ToTwitterStatusId());
+                                        await this.CurrentTabAccount.Mutation.DeletePost(post.RetweetedId);
                                     }
                                     else
                                     {
                                         // 自分のツイート
                                         //   => ツイートを削除
-                                        await this.tw.DeleteTweet(post.StatusId.ToTwitterStatusId());
+                                        await this.CurrentTabAccount.Mutation.DeletePost(post.StatusId);
                                     }
                                 }
                             }
index bee74ff..4dfdb24 100644 (file)
@@ -287,23 +287,6 @@ namespace OpenTween
             return post;
         }
 
-        public async Task DeleteTweet(TwitterStatusId tweetId)
-        {
-            if (this.Api.AuthType == APIAuthType.TwitterComCookie)
-            {
-                var request = new DeleteTweetRequest
-                {
-                    TweetId = tweetId,
-                };
-                await request.Send(this.Api.Connection);
-            }
-            else
-            {
-                await this.Api.StatusesDestroy(tweetId)
-                    .IgnoreResponse();
-            }
-        }
-
         public async Task<long> UploadMedia(IMediaItem item, string? mediaCategory = null)
         {
             this.CheckAccountState();