@memberjunction/actions-bizapps-social 2.112.0 → 2.113.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/dist/base/base-social.action.d.ts.map +1 -1
  4. package/dist/base/base-social.action.js +24 -18
  5. package/dist/base/base-social.action.js.map +1 -1
  6. package/dist/providers/buffer/buffer-base.action.d.ts.map +1 -1
  7. package/dist/providers/buffer/buffer-base.action.js +34 -35
  8. package/dist/providers/buffer/buffer-base.action.js.map +1 -1
  9. package/dist/providers/facebook/actions/boost-post.action.d.ts.map +1 -1
  10. package/dist/providers/facebook/actions/boost-post.action.js +33 -33
  11. package/dist/providers/facebook/actions/boost-post.action.js.map +1 -1
  12. package/dist/providers/facebook/actions/create-album.action.d.ts.map +1 -1
  13. package/dist/providers/facebook/actions/create-album.action.js +36 -34
  14. package/dist/providers/facebook/actions/create-album.action.js.map +1 -1
  15. package/dist/providers/facebook/actions/create-post.action.d.ts.map +1 -1
  16. package/dist/providers/facebook/actions/create-post.action.js +20 -20
  17. package/dist/providers/facebook/actions/create-post.action.js.map +1 -1
  18. package/dist/providers/facebook/actions/get-page-insights.action.d.ts.map +1 -1
  19. package/dist/providers/facebook/actions/get-page-insights.action.js +27 -25
  20. package/dist/providers/facebook/actions/get-page-insights.action.js.map +1 -1
  21. package/dist/providers/facebook/actions/get-page-posts.action.d.ts.map +1 -1
  22. package/dist/providers/facebook/actions/get-page-posts.action.js +23 -19
  23. package/dist/providers/facebook/actions/get-page-posts.action.js.map +1 -1
  24. package/dist/providers/facebook/actions/get-post-insights.action.d.ts.map +1 -1
  25. package/dist/providers/facebook/actions/get-post-insights.action.js +32 -28
  26. package/dist/providers/facebook/actions/get-post-insights.action.js.map +1 -1
  27. package/dist/providers/facebook/actions/respond-to-comments.action.d.ts.map +1 -1
  28. package/dist/providers/facebook/actions/respond-to-comments.action.js +44 -42
  29. package/dist/providers/facebook/actions/respond-to-comments.action.js.map +1 -1
  30. package/dist/providers/facebook/actions/schedule-post.action.d.ts.map +1 -1
  31. package/dist/providers/facebook/actions/schedule-post.action.js +29 -29
  32. package/dist/providers/facebook/actions/schedule-post.action.js.map +1 -1
  33. package/dist/providers/facebook/actions/search-posts.action.d.ts.map +1 -1
  34. package/dist/providers/facebook/actions/search-posts.action.js +39 -37
  35. package/dist/providers/facebook/actions/search-posts.action.js.map +1 -1
  36. package/dist/providers/facebook/facebook-base.action.d.ts.map +1 -1
  37. package/dist/providers/facebook/facebook-base.action.js +59 -44
  38. package/dist/providers/facebook/facebook-base.action.js.map +1 -1
  39. package/dist/providers/hootsuite/actions/bulk-schedule-posts.action.d.ts.map +1 -1
  40. package/dist/providers/hootsuite/actions/bulk-schedule-posts.action.js +31 -33
  41. package/dist/providers/hootsuite/actions/bulk-schedule-posts.action.js.map +1 -1
  42. package/dist/providers/hootsuite/actions/create-scheduled-post.action.d.ts.map +1 -1
  43. package/dist/providers/hootsuite/actions/create-scheduled-post.action.js +32 -28
  44. package/dist/providers/hootsuite/actions/create-scheduled-post.action.js.map +1 -1
  45. package/dist/providers/hootsuite/actions/delete-scheduled-post.action.d.ts.map +1 -1
  46. package/dist/providers/hootsuite/actions/delete-scheduled-post.action.js +19 -19
  47. package/dist/providers/hootsuite/actions/delete-scheduled-post.action.js.map +1 -1
  48. package/dist/providers/hootsuite/actions/get-analytics.action.d.ts.map +1 -1
  49. package/dist/providers/hootsuite/actions/get-analytics.action.js +26 -24
  50. package/dist/providers/hootsuite/actions/get-analytics.action.js.map +1 -1
  51. package/dist/providers/hootsuite/actions/get-scheduled-posts.action.d.ts.map +1 -1
  52. package/dist/providers/hootsuite/actions/get-scheduled-posts.action.js +22 -22
  53. package/dist/providers/hootsuite/actions/get-scheduled-posts.action.js.map +1 -1
  54. package/dist/providers/hootsuite/actions/get-social-profiles.action.d.ts.map +1 -1
  55. package/dist/providers/hootsuite/actions/get-social-profiles.action.js +34 -32
  56. package/dist/providers/hootsuite/actions/get-social-profiles.action.js.map +1 -1
  57. package/dist/providers/hootsuite/actions/search-posts.action.d.ts.map +1 -1
  58. package/dist/providers/hootsuite/actions/search-posts.action.js +52 -43
  59. package/dist/providers/hootsuite/actions/search-posts.action.js.map +1 -1
  60. package/dist/providers/hootsuite/actions/update-scheduled-post.action.d.ts.map +1 -1
  61. package/dist/providers/hootsuite/actions/update-scheduled-post.action.js +28 -30
  62. package/dist/providers/hootsuite/actions/update-scheduled-post.action.js.map +1 -1
  63. package/dist/providers/hootsuite/hootsuite-base.action.d.ts.map +1 -1
  64. package/dist/providers/hootsuite/hootsuite-base.action.js +20 -18
  65. package/dist/providers/hootsuite/hootsuite-base.action.js.map +1 -1
  66. package/dist/providers/instagram/actions/create-post.action.d.ts.map +1 -1
  67. package/dist/providers/instagram/actions/create-post.action.js +26 -27
  68. package/dist/providers/instagram/actions/create-post.action.js.map +1 -1
  69. package/dist/providers/instagram/actions/create-story.action.d.ts.map +1 -1
  70. package/dist/providers/instagram/actions/create-story.action.js +35 -35
  71. package/dist/providers/instagram/actions/create-story.action.js.map +1 -1
  72. package/dist/providers/instagram/actions/get-account-insights.action.d.ts.map +1 -1
  73. package/dist/providers/instagram/actions/get-account-insights.action.js +59 -38
  74. package/dist/providers/instagram/actions/get-account-insights.action.js.map +1 -1
  75. package/dist/providers/instagram/actions/get-business-posts.action.d.ts.map +1 -1
  76. package/dist/providers/instagram/actions/get-business-posts.action.js +29 -29
  77. package/dist/providers/instagram/actions/get-business-posts.action.js.map +1 -1
  78. package/dist/providers/instagram/actions/get-comments.action.d.ts.map +1 -1
  79. package/dist/providers/instagram/actions/get-comments.action.js +36 -36
  80. package/dist/providers/instagram/actions/get-comments.action.js.map +1 -1
  81. package/dist/providers/instagram/actions/get-post-insights.action.d.ts.map +1 -1
  82. package/dist/providers/instagram/actions/get-post-insights.action.js +25 -23
  83. package/dist/providers/instagram/actions/get-post-insights.action.js.map +1 -1
  84. package/dist/providers/instagram/actions/schedule-post.action.d.ts.map +1 -1
  85. package/dist/providers/instagram/actions/schedule-post.action.js +25 -25
  86. package/dist/providers/instagram/actions/schedule-post.action.js.map +1 -1
  87. package/dist/providers/instagram/actions/search-posts.action.d.ts.map +1 -1
  88. package/dist/providers/instagram/actions/search-posts.action.js +60 -56
  89. package/dist/providers/instagram/actions/search-posts.action.js.map +1 -1
  90. package/dist/providers/instagram/instagram-base.action.d.ts.map +1 -1
  91. package/dist/providers/instagram/instagram-base.action.js +27 -25
  92. package/dist/providers/instagram/instagram-base.action.js.map +1 -1
  93. package/dist/providers/linkedin/actions/create-article.action.d.ts.map +1 -1
  94. package/dist/providers/linkedin/actions/create-article.action.js +45 -55
  95. package/dist/providers/linkedin/actions/create-article.action.js.map +1 -1
  96. package/dist/providers/linkedin/actions/create-post.action.d.ts.map +1 -1
  97. package/dist/providers/linkedin/actions/create-post.action.js +29 -31
  98. package/dist/providers/linkedin/actions/create-post.action.js.map +1 -1
  99. package/dist/providers/linkedin/actions/get-followers.action.d.ts.map +1 -1
  100. package/dist/providers/linkedin/actions/get-followers.action.js +28 -28
  101. package/dist/providers/linkedin/actions/get-followers.action.js.map +1 -1
  102. package/dist/providers/linkedin/actions/get-organization-posts.action.d.ts.map +1 -1
  103. package/dist/providers/linkedin/actions/get-organization-posts.action.js +20 -20
  104. package/dist/providers/linkedin/actions/get-organization-posts.action.js.map +1 -1
  105. package/dist/providers/linkedin/actions/get-personal-posts.action.d.ts.map +1 -1
  106. package/dist/providers/linkedin/actions/get-personal-posts.action.js +19 -19
  107. package/dist/providers/linkedin/actions/get-personal-posts.action.js.map +1 -1
  108. package/dist/providers/linkedin/actions/get-post-analytics.action.d.ts.map +1 -1
  109. package/dist/providers/linkedin/actions/get-post-analytics.action.js +23 -25
  110. package/dist/providers/linkedin/actions/get-post-analytics.action.js.map +1 -1
  111. package/dist/providers/linkedin/actions/schedule-post.action.d.ts.map +1 -1
  112. package/dist/providers/linkedin/actions/schedule-post.action.js +30 -32
  113. package/dist/providers/linkedin/actions/schedule-post.action.js.map +1 -1
  114. package/dist/providers/linkedin/actions/search-posts.action.d.ts.map +1 -1
  115. package/dist/providers/linkedin/actions/search-posts.action.js +30 -28
  116. package/dist/providers/linkedin/actions/search-posts.action.js.map +1 -1
  117. package/dist/providers/linkedin/linkedin-base.action.d.ts.map +1 -1
  118. package/dist/providers/linkedin/linkedin-base.action.js +38 -33
  119. package/dist/providers/linkedin/linkedin-base.action.js.map +1 -1
  120. package/dist/providers/tiktok/tiktok-base.action.d.ts.map +1 -1
  121. package/dist/providers/tiktok/tiktok-base.action.js +26 -25
  122. package/dist/providers/tiktok/tiktok-base.action.js.map +1 -1
  123. package/dist/providers/twitter/actions/create-thread.action.d.ts.map +1 -1
  124. package/dist/providers/twitter/actions/create-thread.action.js +29 -25
  125. package/dist/providers/twitter/actions/create-thread.action.js.map +1 -1
  126. package/dist/providers/twitter/actions/create-tweet.action.d.ts.map +1 -1
  127. package/dist/providers/twitter/actions/create-tweet.action.js +23 -23
  128. package/dist/providers/twitter/actions/create-tweet.action.js.map +1 -1
  129. package/dist/providers/twitter/actions/delete-tweet.action.d.ts.map +1 -1
  130. package/dist/providers/twitter/actions/delete-tweet.action.js +19 -19
  131. package/dist/providers/twitter/actions/delete-tweet.action.js.map +1 -1
  132. package/dist/providers/twitter/actions/get-analytics.action.d.ts.map +1 -1
  133. package/dist/providers/twitter/actions/get-analytics.action.js +47 -40
  134. package/dist/providers/twitter/actions/get-analytics.action.js.map +1 -1
  135. package/dist/providers/twitter/actions/get-mentions.action.d.ts.map +1 -1
  136. package/dist/providers/twitter/actions/get-mentions.action.js +31 -30
  137. package/dist/providers/twitter/actions/get-mentions.action.js.map +1 -1
  138. package/dist/providers/twitter/actions/get-timeline.action.d.ts.map +1 -1
  139. package/dist/providers/twitter/actions/get-timeline.action.js +29 -29
  140. package/dist/providers/twitter/actions/get-timeline.action.js.map +1 -1
  141. package/dist/providers/twitter/actions/schedule-tweet.action.d.ts.map +1 -1
  142. package/dist/providers/twitter/actions/schedule-tweet.action.js +26 -26
  143. package/dist/providers/twitter/actions/schedule-tweet.action.js.map +1 -1
  144. package/dist/providers/twitter/actions/search-tweets.action.d.ts.map +1 -1
  145. package/dist/providers/twitter/actions/search-tweets.action.js +58 -56
  146. package/dist/providers/twitter/actions/search-tweets.action.js.map +1 -1
  147. package/dist/providers/twitter/twitter-base.action.d.ts.map +1 -1
  148. package/dist/providers/twitter/twitter-base.action.js +68 -58
  149. package/dist/providers/twitter/twitter-base.action.js.map +1 -1
  150. package/dist/providers/youtube/youtube-base.action.d.ts +1 -1
  151. package/dist/providers/youtube/youtube-base.action.d.ts.map +1 -1
  152. package/dist/providers/youtube/youtube-base.action.js +25 -22
  153. package/dist/providers/youtube/youtube-base.action.js.map +1 -1
  154. package/package.json +6 -5
  155. package/src/base/base-social.action.ts +224 -217
  156. package/src/providers/buffer/buffer-base.action.ts +441 -435
  157. package/src/providers/facebook/actions/boost-post.action.ts +386 -350
  158. package/src/providers/facebook/actions/create-album.action.ts +307 -291
  159. package/src/providers/facebook/actions/create-post.action.ts +227 -224
  160. package/src/providers/facebook/actions/get-page-insights.action.ts +403 -383
  161. package/src/providers/facebook/actions/get-page-posts.action.ts +225 -214
  162. package/src/providers/facebook/actions/get-post-insights.action.ts +316 -300
  163. package/src/providers/facebook/actions/respond-to-comments.action.ts +336 -319
  164. package/src/providers/facebook/actions/schedule-post.action.ts +292 -289
  165. package/src/providers/facebook/actions/search-posts.action.ts +413 -399
  166. package/src/providers/facebook/facebook-base.action.ts +670 -653
  167. package/src/providers/hootsuite/actions/bulk-schedule-posts.action.ts +257 -257
  168. package/src/providers/hootsuite/actions/create-scheduled-post.action.ts +189 -184
  169. package/src/providers/hootsuite/actions/delete-scheduled-post.action.ts +161 -160
  170. package/src/providers/hootsuite/actions/get-analytics.action.ts +254 -249
  171. package/src/providers/hootsuite/actions/get-scheduled-posts.action.ts +207 -206
  172. package/src/providers/hootsuite/actions/get-social-profiles.action.ts +205 -206
  173. package/src/providers/hootsuite/actions/search-posts.action.ts +369 -351
  174. package/src/providers/hootsuite/actions/update-scheduled-post.action.ts +209 -211
  175. package/src/providers/hootsuite/hootsuite-base.action.ts +307 -301
  176. package/src/providers/instagram/actions/create-post.action.ts +296 -276
  177. package/src/providers/instagram/actions/create-story.action.ts +394 -378
  178. package/src/providers/instagram/actions/get-account-insights.action.ts +420 -384
  179. package/src/providers/instagram/actions/get-business-posts.action.ts +242 -233
  180. package/src/providers/instagram/actions/get-comments.action.ts +377 -365
  181. package/src/providers/instagram/actions/get-post-insights.action.ts +273 -265
  182. package/src/providers/instagram/actions/schedule-post.action.ts +235 -233
  183. package/src/providers/instagram/actions/search-posts.action.ts +538 -512
  184. package/src/providers/instagram/instagram-base.action.ts +393 -368
  185. package/src/providers/linkedin/actions/create-article.action.ts +266 -275
  186. package/src/providers/linkedin/actions/create-post.action.ts +177 -179
  187. package/src/providers/linkedin/actions/get-followers.action.ts +211 -211
  188. package/src/providers/linkedin/actions/get-organization-posts.action.ts +147 -146
  189. package/src/providers/linkedin/actions/get-personal-posts.action.ts +139 -138
  190. package/src/providers/linkedin/actions/get-post-analytics.action.ts +189 -190
  191. package/src/providers/linkedin/actions/schedule-post.action.ts +189 -191
  192. package/src/providers/linkedin/actions/search-posts.action.ts +283 -275
  193. package/src/providers/linkedin/linkedin-base.action.ts +421 -407
  194. package/src/providers/tiktok/tiktok-base.action.ts +320 -305
  195. package/src/providers/twitter/actions/create-thread.action.ts +207 -203
  196. package/src/providers/twitter/actions/create-tweet.action.ts +188 -187
  197. package/src/providers/twitter/actions/delete-tweet.action.ts +129 -128
  198. package/src/providers/twitter/actions/get-analytics.action.ts +411 -402
  199. package/src/providers/twitter/actions/get-mentions.action.ts +219 -218
  200. package/src/providers/twitter/actions/get-timeline.action.ts +233 -232
  201. package/src/providers/twitter/actions/schedule-tweet.action.ts +222 -221
  202. package/src/providers/twitter/actions/search-tweets.action.ts +543 -540
  203. package/src/providers/twitter/twitter-base.action.ts +560 -541
  204. package/src/providers/youtube/youtube-base.action.ts +333 -320
@@ -1,7 +1,7 @@
1
1
  import { RegisterClass } from '@memberjunction/global';
2
2
  import { TwitterBaseAction } from '../twitter-base.action';
3
3
  import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
4
- import { LogStatus, LogError } from '@memberjunction/global';
4
+ import { LogStatus, LogError } from '@memberjunction/core';
5
5
  import { BaseAction } from '@memberjunction/actions';
6
6
 
7
7
  /**
@@ -9,145 +9,146 @@ import { BaseAction } from '@memberjunction/actions';
9
9
  */
10
10
  @RegisterClass(BaseAction, 'TwitterDeleteTweetAction')
11
11
  export class TwitterDeleteTweetAction extends TwitterBaseAction {
12
- /**
13
- * Delete a tweet from Twitter
14
- */
15
- protected async InternalRunAction(params: RunActionParams): Promise<ActionResultSimple> {
16
- const { Params, ContextUser } = params;
12
+ /**
13
+ * Delete a tweet from Twitter
14
+ */
15
+ protected async InternalRunAction(params: RunActionParams): Promise<ActionResultSimple> {
16
+ const { Params, ContextUser } = params;
17
+
18
+ try {
19
+ // Initialize OAuth
20
+ const companyIntegrationId = this.getParamValue(Params, 'CompanyIntegrationID');
21
+ if (!await this.initializeOAuth(companyIntegrationId)) {
22
+ throw new Error('Failed to initialize OAuth connection');
23
+ }
17
24
 
18
- try {
19
- // Initialize OAuth
20
- const companyIntegrationId = this.getParamValue(Params, 'CompanyIntegrationID');
21
- if (!(await this.initializeOAuth(companyIntegrationId))) {
22
- throw new Error('Failed to initialize OAuth connection');
23
- }
25
+ // Extract parameters
26
+ const tweetId = this.getParamValue(Params, 'TweetID');
27
+ const confirmDeletion = this.getParamValue(Params, 'ConfirmDeletion') === true;
24
28
 
25
- // Extract parameters
26
- const tweetId = this.getParamValue(Params, 'TweetID');
27
- const confirmDeletion = this.getParamValue(Params, 'ConfirmDeletion') === true;
29
+ // Validate required parameters
30
+ if (!tweetId) {
31
+ throw new Error('TweetID is required');
32
+ }
28
33
 
29
- // Validate required parameters
30
- if (!tweetId) {
31
- throw new Error('TweetID is required');
32
- }
34
+ // Safety check - require explicit confirmation
35
+ if (!confirmDeletion) {
36
+ return {
37
+ Success: false,
38
+ ResultCode: 'CONFIRMATION_REQUIRED',
39
+ Message: 'Tweet deletion requires explicit confirmation. Set ConfirmDeletion to true.',
40
+ Params
41
+ };
42
+ }
33
43
 
34
- // Safety check - require explicit confirmation
35
- if (!confirmDeletion) {
36
- return {
37
- Success: false,
38
- ResultCode: 'CONFIRMATION_REQUIRED',
39
- Message: 'Tweet deletion requires explicit confirmation. Set ConfirmDeletion to true.',
40
- Params,
41
- };
42
- }
44
+ // Get the tweet details before deletion (for output)
45
+ let tweetDetails: any = null;
46
+ try {
47
+ LogStatus(`Retrieving tweet details for ID: ${tweetId}...`);
48
+ const response = await this.axiosInstance.get(`/tweets/${tweetId}`, {
49
+ params: {
50
+ 'tweet.fields': 'id,text,created_at,author_id,public_metrics',
51
+ 'expansions': 'author_id',
52
+ 'user.fields': 'id,username'
53
+ }
54
+ });
43
55
 
44
- // Get the tweet details before deletion (for output)
45
- let tweetDetails: any = null;
46
- try {
47
- LogStatus(`Retrieving tweet details for ID: ${tweetId}...`);
48
- const response = await this.axiosInstance.get(`/tweets/${tweetId}`, {
49
- params: {
50
- 'tweet.fields': 'id,text,created_at,author_id,public_metrics',
51
- expansions: 'author_id',
52
- 'user.fields': 'id,username',
53
- },
54
- });
56
+ if (response.data.data) {
57
+ tweetDetails = {
58
+ id: response.data.data.id,
59
+ text: response.data.data.text,
60
+ createdAt: response.data.data.created_at,
61
+ metrics: response.data.data.public_metrics
62
+ };
55
63
 
56
- if (response.data.data) {
57
- tweetDetails = {
58
- id: response.data.data.id,
59
- text: response.data.data.text,
60
- createdAt: response.data.data.created_at,
61
- metrics: response.data.data.public_metrics,
62
- };
64
+ // Verify ownership
65
+ const currentUser = await this.getCurrentUser();
66
+ if (response.data.data.author_id !== currentUser.id) {
67
+ throw new Error('You can only delete your own tweets');
68
+ }
69
+ }
70
+ } catch (error) {
71
+ // If we can't retrieve the tweet, it might already be deleted or we don't have access
72
+ LogStatus('Could not retrieve tweet details. It may already be deleted or inaccessible.');
73
+ }
63
74
 
64
- // Verify ownership
65
- const currentUser = await this.getCurrentUser();
66
- if (response.data.data.author_id !== currentUser.id) {
67
- throw new Error('You can only delete your own tweets');
68
- }
69
- }
70
- } catch (error) {
71
- // If we can't retrieve the tweet, it might already be deleted or we don't have access
72
- LogStatus('Could not retrieve tweet details. It may already be deleted or inaccessible.');
73
- }
74
-
75
- // Delete the tweet
76
- LogStatus(`Deleting tweet ID: ${tweetId}...`);
77
- await this.deleteTweet(tweetId);
75
+ // Delete the tweet
76
+ LogStatus(`Deleting tweet ID: ${tweetId}...`);
77
+ await this.deleteTweet(tweetId);
78
78
 
79
- // Update output parameters
80
- const outputParams = [...Params];
81
- const deletedDetailsParam = outputParams.find((p) => p.Name === 'DeletedTweetDetails');
82
- if (deletedDetailsParam && tweetDetails) deletedDetailsParam.Value = tweetDetails;
83
- const deletionTimeParam = outputParams.find((p) => p.Name === 'DeletionTime');
84
- if (deletionTimeParam) deletionTimeParam.Value = new Date().toISOString();
79
+ // Update output parameters
80
+ const outputParams = [...Params];
81
+ const deletedDetailsParam = outputParams.find(p => p.Name === 'DeletedTweetDetails');
82
+ if (deletedDetailsParam && tweetDetails) deletedDetailsParam.Value = tweetDetails;
83
+ const deletionTimeParam = outputParams.find(p => p.Name === 'DeletionTime');
84
+ if (deletionTimeParam) deletionTimeParam.Value = new Date().toISOString();
85
85
 
86
- return {
87
- Success: true,
88
- ResultCode: 'SUCCESS',
89
- Message: `Successfully deleted tweet (ID: ${tweetId})`,
90
- Params: outputParams,
91
- };
92
- } catch (error) {
93
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
86
+ return {
87
+ Success: true,
88
+ ResultCode: 'SUCCESS',
89
+ Message: `Successfully deleted tweet (ID: ${tweetId})`,
90
+ Params: outputParams
91
+ };
94
92
 
95
- return {
96
- Success: false,
97
- ResultCode: this.getErrorCode(error),
98
- Message: `Failed to delete tweet: ${errorMessage}`,
99
- Params,
100
- };
93
+ } catch (error) {
94
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
95
+
96
+ return {
97
+ Success: false,
98
+ ResultCode: this.getErrorCode(error),
99
+ Message: `Failed to delete tweet: ${errorMessage}`,
100
+ Params
101
+ };
102
+ }
101
103
  }
102
- }
103
104
 
104
- /**
105
- * Get error code based on error type
106
- */
107
- private getErrorCode(error: any): string {
108
- if (error instanceof Error) {
109
- if (error.message.includes('Rate Limit')) return 'RATE_LIMIT';
110
- if (error.message.includes('Unauthorized')) return 'INVALID_TOKEN';
111
- if (error.message.includes('Not Found')) return 'TWEET_NOT_FOUND';
112
- if (error.message.includes('Forbidden')) return 'INSUFFICIENT_PERMISSIONS';
113
- if (error.message.includes('own tweets')) return 'NOT_OWNER';
105
+ /**
106
+ * Get error code based on error type
107
+ */
108
+ private getErrorCode(error: any): string {
109
+ if (error instanceof Error) {
110
+ if (error.message.includes('Rate Limit')) return 'RATE_LIMIT';
111
+ if (error.message.includes('Unauthorized')) return 'INVALID_TOKEN';
112
+ if (error.message.includes('Not Found')) return 'TWEET_NOT_FOUND';
113
+ if (error.message.includes('Forbidden')) return 'INSUFFICIENT_PERMISSIONS';
114
+ if (error.message.includes('own tweets')) return 'NOT_OWNER';
115
+ }
116
+ return 'ERROR';
114
117
  }
115
- return 'ERROR';
116
- }
117
118
 
118
- /**
119
- * Define the parameters this action expects
120
- */
121
- public get Params(): ActionParam[] {
122
- return [
123
- ...this.commonSocialParams,
124
- {
125
- Name: 'TweetID',
126
- Type: 'Input',
127
- Value: null,
128
- },
129
- {
130
- Name: 'ConfirmDeletion',
131
- Type: 'Input',
132
- Value: false,
133
- },
134
- {
135
- Name: 'DeletedTweetDetails',
136
- Type: 'Output',
137
- Value: null,
138
- },
139
- {
140
- Name: 'DeletionTime',
141
- Type: 'Output',
142
- Value: null,
143
- },
144
- ];
145
- }
119
+ /**
120
+ * Define the parameters this action expects
121
+ */
122
+ public get Params(): ActionParam[] {
123
+ return [
124
+ ...this.commonSocialParams,
125
+ {
126
+ Name: 'TweetID',
127
+ Type: 'Input',
128
+ Value: null
129
+ },
130
+ {
131
+ Name: 'ConfirmDeletion',
132
+ Type: 'Input',
133
+ Value: false
134
+ },
135
+ {
136
+ Name: 'DeletedTweetDetails',
137
+ Type: 'Output',
138
+ Value: null
139
+ },
140
+ {
141
+ Name: 'DeletionTime',
142
+ Type: 'Output',
143
+ Value: null
144
+ }
145
+ ];
146
+ }
146
147
 
147
- /**
148
- * Get action description
149
- */
150
- public get Description(): string {
151
- return 'Deletes a tweet from Twitter/X. Requires explicit confirmation and ownership of the tweet.';
152
- }
153
- }
148
+ /**
149
+ * Get action description
150
+ */
151
+ public get Description(): string {
152
+ return 'Deletes a tweet from Twitter/X. Requires explicit confirmation and ownership of the tweet.';
153
+ }
154
+ }