@memberjunction/actions-bizapps-social 2.112.0 → 2.113.1

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,173 +1,174 @@
1
1
  import { RegisterClass } from '@memberjunction/global';
2
2
  import { HootSuiteBaseAction } from '../hootsuite-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
  * Action to delete a scheduled post from HootSuite
8
8
  */
9
9
  @RegisterClass(BaseAction, 'HootSuiteDeleteScheduledPostAction')
10
10
  export class HootSuiteDeleteScheduledPostAction extends HootSuiteBaseAction {
11
- /**
12
- * Delete a scheduled post from HootSuite
13
- */
14
- protected async InternalRunAction(params: RunActionParams): Promise<ActionResultSimple> {
15
- const { Params, ContextUser } = params;
16
-
17
- try {
18
- // Initialize OAuth
19
- const companyIntegrationId = this.getParamValue(Params, 'CompanyIntegrationID');
20
- if (!(await this.initializeOAuth(companyIntegrationId))) {
21
- throw new Error('Failed to initialize OAuth connection');
22
- }
23
-
24
- // Extract parameters
25
- const postId = this.getParamValue(Params, 'PostID');
26
- const confirmDeletion = this.getParamValue(Params, 'ConfirmDeletion') || false;
27
-
28
- // Validate required parameters
29
- if (!postId) {
30
- throw new Error('PostID is required');
31
- }
32
-
33
- // Safety check - require confirmation
34
- if (!confirmDeletion) {
35
- return {
36
- Success: false,
37
- ResultCode: 'CONFIRMATION_REQUIRED',
38
- Message: 'Deletion not confirmed. Set ConfirmDeletion to true to proceed.',
39
- Params,
40
- };
41
- }
42
-
43
- // First, get the post details to verify it exists and can be deleted
44
- LogStatus(`Fetching post ${postId} details...`);
45
- let postDetails: any;
46
-
47
- try {
48
- const response = await this.axiosInstance.get(`/messages/${postId}`);
49
- postDetails = response.data;
50
- } catch (error: any) {
51
- if (error.response?.status === 404) {
52
- return {
53
- Success: false,
54
- ResultCode: 'POST_NOT_FOUND',
55
- Message: `Post with ID ${postId} not found`,
56
- Params,
57
- };
58
- }
59
- throw error;
60
- }
61
-
62
- // Check if post can be deleted
63
- if (postDetails.state === 'PUBLISHED') {
64
- return {
65
- Success: false,
66
- ResultCode: 'CANNOT_DELETE_PUBLISHED',
67
- Message: 'Cannot delete published posts. Only scheduled, draft, or failed posts can be deleted.',
68
- Params,
69
- };
70
- }
71
-
72
- // Store post details before deletion
73
- const deletedPostInfo = {
74
- id: postDetails.id,
75
- content: postDetails.text,
76
- state: postDetails.state,
77
- scheduledTime: postDetails.scheduledTime,
78
- profiles: postDetails.socialProfileIds,
79
- mediaCount: postDetails.mediaIds?.length || 0,
80
- tags: postDetails.tags || [],
81
- deletedAt: new Date().toISOString(),
82
- };
83
-
84
- // Delete the post
85
- LogStatus(`Deleting post ${postId}...`);
86
- await this.axiosInstance.delete(`/messages/${postId}`);
87
-
88
- // Verify deletion by trying to fetch the post again
89
- let verificationFailed = false;
90
- try {
91
- await this.axiosInstance.get(`/messages/${postId}`);
92
- verificationFailed = true;
93
- } catch (error: any) {
94
- if (error.response?.status !== 404) {
95
- verificationFailed = true;
11
+ /**
12
+ * Delete a scheduled post from HootSuite
13
+ */
14
+ protected async InternalRunAction(params: RunActionParams): Promise<ActionResultSimple> {
15
+ const { Params, ContextUser } = params;
16
+
17
+ try {
18
+ // Initialize OAuth
19
+ const companyIntegrationId = this.getParamValue(Params, 'CompanyIntegrationID');
20
+ if (!await this.initializeOAuth(companyIntegrationId)) {
21
+ throw new Error('Failed to initialize OAuth connection');
22
+ }
23
+
24
+ // Extract parameters
25
+ const postId = this.getParamValue(Params, 'PostID');
26
+ const confirmDeletion = this.getParamValue(Params, 'ConfirmDeletion') || false;
27
+
28
+ // Validate required parameters
29
+ if (!postId) {
30
+ throw new Error('PostID is required');
31
+ }
32
+
33
+ // Safety check - require confirmation
34
+ if (!confirmDeletion) {
35
+ return {
36
+ Success: false,
37
+ ResultCode: 'CONFIRMATION_REQUIRED',
38
+ Message: 'Deletion not confirmed. Set ConfirmDeletion to true to proceed.',
39
+ Params
40
+ };
41
+ }
42
+
43
+ // First, get the post details to verify it exists and can be deleted
44
+ LogStatus(`Fetching post ${postId} details...`);
45
+ let postDetails: any;
46
+
47
+ try {
48
+ const response = await this.axiosInstance.get(`/messages/${postId}`);
49
+ postDetails = response.data;
50
+ } catch (error: any) {
51
+ if (error.response?.status === 404) {
52
+ return {
53
+ Success: false,
54
+ ResultCode: 'POST_NOT_FOUND',
55
+ Message: `Post with ID ${postId} not found`,
56
+ Params
57
+ };
58
+ }
59
+ throw error;
60
+ }
61
+
62
+ // Check if post can be deleted
63
+ if (postDetails.state === 'PUBLISHED') {
64
+ return {
65
+ Success: false,
66
+ ResultCode: 'CANNOT_DELETE_PUBLISHED',
67
+ Message: 'Cannot delete published posts. Only scheduled, draft, or failed posts can be deleted.',
68
+ Params
69
+ };
70
+ }
71
+
72
+ // Store post details before deletion
73
+ const deletedPostInfo = {
74
+ id: postDetails.id,
75
+ content: postDetails.text,
76
+ state: postDetails.state,
77
+ scheduledTime: postDetails.scheduledTime,
78
+ profiles: postDetails.socialProfileIds,
79
+ mediaCount: postDetails.mediaIds?.length || 0,
80
+ tags: postDetails.tags || [],
81
+ deletedAt: new Date().toISOString()
82
+ };
83
+
84
+ // Delete the post
85
+ LogStatus(`Deleting post ${postId}...`);
86
+ await this.axiosInstance.delete(`/messages/${postId}`);
87
+
88
+ // Verify deletion by trying to fetch the post again
89
+ let verificationFailed = false;
90
+ try {
91
+ await this.axiosInstance.get(`/messages/${postId}`);
92
+ verificationFailed = true;
93
+ } catch (error: any) {
94
+ if (error.response?.status !== 404) {
95
+ verificationFailed = true;
96
+ }
97
+ }
98
+
99
+ if (verificationFailed) {
100
+ LogStatus('Warning: Post deletion could not be verified');
101
+ }
102
+
103
+ // Update output parameters
104
+ const outputParams = [...Params];
105
+ const deletedPostParam = outputParams.find(p => p.Name === 'DeletedPostInfo');
106
+ if (deletedPostParam) deletedPostParam.Value = deletedPostInfo;
107
+ const deletionVerifiedParam = outputParams.find(p => p.Name === 'DeletionVerified');
108
+ if (deletionVerifiedParam) deletionVerifiedParam.Value = !verificationFailed;
109
+
110
+ return {
111
+ Success: true,
112
+ ResultCode: 'SUCCESS',
113
+ Message: `Successfully deleted post ${postId}`,
114
+ Params: outputParams
115
+ };
116
+
117
+ } catch (error) {
118
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
119
+
120
+ // Handle specific error cases
121
+ if (error instanceof Error && error.message.includes('404')) {
122
+ return {
123
+ Success: false,
124
+ ResultCode: 'POST_NOT_FOUND',
125
+ Message: `Post ${this.getParamValue(Params, 'PostID')} not found or already deleted`,
126
+ Params
127
+ };
128
+ }
129
+
130
+ return {
131
+ Success: false,
132
+ ResultCode: 'ERROR',
133
+ Message: `Failed to delete scheduled post: ${errorMessage}`,
134
+ Params
135
+ };
96
136
  }
97
- }
98
-
99
- if (verificationFailed) {
100
- LogStatus('Warning: Post deletion could not be verified');
101
- }
102
-
103
- // Update output parameters
104
- const outputParams = [...Params];
105
- const deletedPostParam = outputParams.find((p) => p.Name === 'DeletedPostInfo');
106
- if (deletedPostParam) deletedPostParam.Value = deletedPostInfo;
107
- const deletionVerifiedParam = outputParams.find((p) => p.Name === 'DeletionVerified');
108
- if (deletionVerifiedParam) deletionVerifiedParam.Value = !verificationFailed;
109
-
110
- return {
111
- Success: true,
112
- ResultCode: 'SUCCESS',
113
- Message: `Successfully deleted post ${postId}`,
114
- Params: outputParams,
115
- };
116
- } catch (error) {
117
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
118
-
119
- // Handle specific error cases
120
- if (error instanceof Error && error.message.includes('404')) {
121
- return {
122
- Success: false,
123
- ResultCode: 'POST_NOT_FOUND',
124
- Message: `Post ${this.getParamValue(Params, 'PostID')} not found or already deleted`,
125
- Params,
126
- };
127
- }
128
-
129
- return {
130
- Success: false,
131
- ResultCode: 'ERROR',
132
- Message: `Failed to delete scheduled post: ${errorMessage}`,
133
- Params,
134
- };
135
137
  }
136
- }
137
138
 
138
- /**
139
- * Define the parameters this action expects
140
- */
141
- public get Params(): ActionParam[] {
142
- return [
143
- ...this.oauthParams,
144
- {
145
- Name: 'PostID',
146
- Type: 'Input',
147
- Value: null,
148
- },
149
- {
150
- Name: 'ConfirmDeletion',
151
- Type: 'Input',
152
- Value: null,
153
- },
154
- {
155
- Name: 'DeletedPostInfo',
156
- Type: 'Output',
157
- Value: null,
158
- },
159
- {
160
- Name: 'DeletionVerified',
161
- Type: 'Output',
162
- Value: null,
163
- },
164
- ];
165
- }
139
+ /**
140
+ * Define the parameters this action expects
141
+ */
142
+ public get Params(): ActionParam[] {
143
+ return [
144
+ ...this.oauthParams,
145
+ {
146
+ Name: 'PostID',
147
+ Type: 'Input',
148
+ Value: null
149
+ },
150
+ {
151
+ Name: 'ConfirmDeletion',
152
+ Type: 'Input',
153
+ Value: null
154
+ },
155
+ {
156
+ Name: 'DeletedPostInfo',
157
+ Type: 'Output',
158
+ Value: null
159
+ },
160
+ {
161
+ Name: 'DeletionVerified',
162
+ Type: 'Output',
163
+ Value: null
164
+ }
165
+ ];
166
+ }
166
167
 
167
- /**
168
- * Get action description
169
- */
170
- public get Description(): string {
171
- return 'Deletes a scheduled post from HootSuite. Only SCHEDULED, DRAFT, or FAILED posts can be deleted. Published posts cannot be deleted.';
172
- }
173
- }
168
+ /**
169
+ * Get action description
170
+ */
171
+ public get Description(): string {
172
+ return 'Deletes a scheduled post from HootSuite. Only SCHEDULED, DRAFT, or FAILED posts can be deleted. Published posts cannot be deleted.';
173
+ }
174
+ }