@warriorteam/redai-zalo-sdk 1.1.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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +448 -0
  3. package/dist/clients/base-client.d.ts +67 -0
  4. package/dist/clients/base-client.d.ts.map +1 -0
  5. package/dist/clients/base-client.js +297 -0
  6. package/dist/clients/base-client.js.map +1 -0
  7. package/dist/clients/zalo-client.d.ts +131 -0
  8. package/dist/clients/zalo-client.d.ts.map +1 -0
  9. package/dist/clients/zalo-client.js +215 -0
  10. package/dist/clients/zalo-client.js.map +1 -0
  11. package/dist/index.d.ts +40 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +82 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/services/article.service.d.ts +144 -0
  16. package/dist/services/article.service.d.ts.map +1 -0
  17. package/dist/services/article.service.js +518 -0
  18. package/dist/services/article.service.js.map +1 -0
  19. package/dist/services/auth.service.d.ts +55 -0
  20. package/dist/services/auth.service.d.ts.map +1 -0
  21. package/dist/services/auth.service.js +269 -0
  22. package/dist/services/auth.service.js.map +1 -0
  23. package/dist/services/consultation.service.d.ts +73 -0
  24. package/dist/services/consultation.service.d.ts.map +1 -0
  25. package/dist/services/consultation.service.js +208 -0
  26. package/dist/services/consultation.service.js.map +1 -0
  27. package/dist/services/general-message.service.d.ts +85 -0
  28. package/dist/services/general-message.service.d.ts.map +1 -0
  29. package/dist/services/general-message.service.js +248 -0
  30. package/dist/services/general-message.service.js.map +1 -0
  31. package/dist/services/group-management.service.d.ts +220 -0
  32. package/dist/services/group-management.service.d.ts.map +1 -0
  33. package/dist/services/group-management.service.js +562 -0
  34. package/dist/services/group-management.service.js.map +1 -0
  35. package/dist/services/group-message.service.d.ts +102 -0
  36. package/dist/services/group-message.service.d.ts.map +1 -0
  37. package/dist/services/group-message.service.js +233 -0
  38. package/dist/services/group-message.service.js.map +1 -0
  39. package/dist/services/message-management.service.d.ts +135 -0
  40. package/dist/services/message-management.service.d.ts.map +1 -0
  41. package/dist/services/message-management.service.js +237 -0
  42. package/dist/services/message-management.service.js.map +1 -0
  43. package/dist/services/oa.service.d.ts +67 -0
  44. package/dist/services/oa.service.d.ts.map +1 -0
  45. package/dist/services/oa.service.js +223 -0
  46. package/dist/services/oa.service.js.map +1 -0
  47. package/dist/services/promotion.service.d.ts +114 -0
  48. package/dist/services/promotion.service.d.ts.map +1 -0
  49. package/dist/services/promotion.service.js +247 -0
  50. package/dist/services/promotion.service.js.map +1 -0
  51. package/dist/services/tag.service.d.ts +144 -0
  52. package/dist/services/tag.service.d.ts.map +1 -0
  53. package/dist/services/tag.service.js +184 -0
  54. package/dist/services/tag.service.js.map +1 -0
  55. package/dist/services/transaction.service.d.ts +110 -0
  56. package/dist/services/transaction.service.d.ts.map +1 -0
  57. package/dist/services/transaction.service.js +231 -0
  58. package/dist/services/transaction.service.js.map +1 -0
  59. package/dist/services/user-management.service.d.ts +117 -0
  60. package/dist/services/user-management.service.d.ts.map +1 -0
  61. package/dist/services/user-management.service.js +239 -0
  62. package/dist/services/user-management.service.js.map +1 -0
  63. package/dist/services/user.service.d.ts +84 -0
  64. package/dist/services/user.service.d.ts.map +1 -0
  65. package/dist/services/user.service.js +323 -0
  66. package/dist/services/user.service.js.map +1 -0
  67. package/dist/services/video-upload.service.d.ts +83 -0
  68. package/dist/services/video-upload.service.d.ts.map +1 -0
  69. package/dist/services/video-upload.service.js +267 -0
  70. package/dist/services/video-upload.service.js.map +1 -0
  71. package/dist/services/zns.service.d.ts +116 -0
  72. package/dist/services/zns.service.d.ts.map +1 -0
  73. package/dist/services/zns.service.js +234 -0
  74. package/dist/services/zns.service.js.map +1 -0
  75. package/dist/types/article.d.ts +352 -0
  76. package/dist/types/article.d.ts.map +1 -0
  77. package/dist/types/article.js +70 -0
  78. package/dist/types/article.js.map +1 -0
  79. package/dist/types/auth.d.ts +233 -0
  80. package/dist/types/auth.d.ts.map +1 -0
  81. package/dist/types/auth.js +39 -0
  82. package/dist/types/auth.js.map +1 -0
  83. package/dist/types/common.d.ts +237 -0
  84. package/dist/types/common.d.ts.map +1 -0
  85. package/dist/types/common.js +42 -0
  86. package/dist/types/common.js.map +1 -0
  87. package/dist/types/group.d.ts +523 -0
  88. package/dist/types/group.d.ts.map +1 -0
  89. package/dist/types/group.js +6 -0
  90. package/dist/types/group.js.map +1 -0
  91. package/dist/types/message.d.ts +333 -0
  92. package/dist/types/message.d.ts.map +1 -0
  93. package/dist/types/message.js +17 -0
  94. package/dist/types/message.js.map +1 -0
  95. package/dist/types/oa.d.ts +285 -0
  96. package/dist/types/oa.d.ts.map +1 -0
  97. package/dist/types/oa.js +25 -0
  98. package/dist/types/oa.js.map +1 -0
  99. package/dist/types/social.d.ts +427 -0
  100. package/dist/types/social.d.ts.map +1 -0
  101. package/dist/types/social.js +6 -0
  102. package/dist/types/social.js.map +1 -0
  103. package/dist/types/user-management.d.ts +280 -0
  104. package/dist/types/user-management.d.ts.map +1 -0
  105. package/dist/types/user-management.js +6 -0
  106. package/dist/types/user-management.js.map +1 -0
  107. package/dist/types/user.d.ts +365 -0
  108. package/dist/types/user.d.ts.map +1 -0
  109. package/dist/types/user.js +17 -0
  110. package/dist/types/user.js.map +1 -0
  111. package/dist/types/webhook.d.ts +1972 -0
  112. package/dist/types/webhook.d.ts.map +1 -0
  113. package/dist/types/webhook.js +419 -0
  114. package/dist/types/webhook.js.map +1 -0
  115. package/dist/types/zns.d.ts +277 -0
  116. package/dist/types/zns.d.ts.map +1 -0
  117. package/dist/types/zns.js +6 -0
  118. package/dist/types/zns.js.map +1 -0
  119. package/dist/zalo-sdk.d.ts +228 -0
  120. package/dist/zalo-sdk.d.ts.map +1 -0
  121. package/dist/zalo-sdk.js +307 -0
  122. package/dist/zalo-sdk.js.map +1 -0
  123. package/package.json +59 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * RedAI Zalo SDK - Main entry point
3
+ *
4
+ * A comprehensive TypeScript SDK for Zalo APIs including:
5
+ * - Official Account (OA) API
6
+ * - Zalo Notification Service (ZNS)
7
+ * - Social API
8
+ * - Group Message Framework (GMF)
9
+ * - Webhook handling
10
+ */
11
+ export * from "./types/common";
12
+ export * from "./types/auth";
13
+ export * from "./types/oa";
14
+ export * from "./types/user";
15
+ export * from "./types/zns";
16
+ export * from "./types/article";
17
+ export type { BaseMessage, TextMessage, ImageMessage, FileMessage, StickerMessage, TemplateMessage as MessageTemplateMessage, ReactionMessage as MessageReactionMessage, Message, MessageRecipient, SendMessageRequest, SendMessageResponse, UploadFileResponse, MessageStatus, MessageEvent, ConsultationTextMessage, ConsultationImageMessage, ConsultationFileMessage, ConsultationStickerMessage, ConsultationQuoteMessage, ConsultationRequestInfoMessage, TransactionMessage, PromotionMessage, AnonymousTextMessage, AnonymousImageMessage, AnonymousFileMessage, AnonymousStickerMessage, MiniAppMessage, ExtendedMessage, } from "./types/message";
18
+ export * from "./types/webhook";
19
+ export type { GroupMessage, GroupTextMessage, GroupImageMessage, GroupFileMessage, GroupStickerMessage, GroupMentionMessage, GroupMessageResult, GroupInfo as GroupManagementInfo, GroupMember, GroupMemberList, GroupSettings, GroupJoinRequest, GroupJoinRequestList, GroupInvitation, GroupActivity, GroupActivityList, GroupStatistics, GroupMessageTemplate, GroupMessageSchedule, GroupBroadcast, GroupPermission, GroupWebhookEvent as GroupManagementWebhookEvent, GroupApiResponse, GroupCreateResponse, GroupUpdateResponse, GroupDeleteResponse, GroupMemberActionResponse, GroupCreateRequest, GroupCreateResult, GroupUpdateRequest, GroupAvatarUpdateRequest, GroupMemberInviteRequest, GroupMemberActionRequest, GroupAdminActionRequest, GroupDeleteRequest, GroupPendingMember, GroupQuota, GroupQuotaAsset, GroupRecentChat, GroupConversationMessage, GroupsOfOAResponse, GroupDetailResponse, GroupPendingMembersResponse, GroupAcceptPendingMembersRequest, GroupAcceptPendingMembersResponse, GroupRemoveMembersRequest, GroupRemoveMembersResponse, GroupMembersResponse, GroupQuotaMessageRequest, GroupQuotaMessageResponse, } from "./types/group";
20
+ export type { UserProfile as UserManagementProfile, UserList as UserManagementList, UserTag, UserTagList, UserNote, UserInteraction, UserAnalytics, UserSegment, UserCustomField, UserCustomFieldValue, UserBehavior, UserJourney, UserPreference, UserActivity, UserExport, UserImport, UserSearch, UserSearchResult, BulkUserOperation, } from "./types/user-management";
21
+ export { BaseClient } from "./clients/base-client";
22
+ export { ZaloClient } from "./clients/zalo-client";
23
+ export { AuthService } from "./services/auth.service";
24
+ export { OAService } from "./services/oa.service";
25
+ export { UserService } from "./services/user.service";
26
+ export { ZNSService } from "./services/zns.service";
27
+ export { GroupMessageService } from "./services/group-message.service";
28
+ export { GroupManagementService } from "./services/group-management.service";
29
+ export { UserManagementService } from "./services/user-management.service";
30
+ export { TagService } from "./services/tag.service";
31
+ export { ArticleService } from "./services/article.service";
32
+ export { VideoUploadService } from "./services/video-upload.service";
33
+ export { ConsultationService } from "./services/consultation.service";
34
+ export { TransactionService } from "./services/transaction.service";
35
+ export { PromotionService } from "./services/promotion.service";
36
+ export { GeneralMessageService } from "./services/general-message.service";
37
+ export { MessageManagementService } from "./services/message-management.service";
38
+ export { ZaloSDK } from "./zalo-sdk";
39
+ export { ZaloSDK as default } from "./zalo-sdk";
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * RedAI Zalo SDK - Main entry point
4
+ *
5
+ * A comprehensive TypeScript SDK for Zalo APIs including:
6
+ * - Official Account (OA) API
7
+ * - Zalo Notification Service (ZNS)
8
+ * - Social API
9
+ * - Group Message Framework (GMF)
10
+ * - Webhook handling
11
+ */
12
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
+ desc = { enumerable: true, get: function() { return m[k]; } };
17
+ }
18
+ Object.defineProperty(o, k2, desc);
19
+ }) : (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ o[k2] = m[k];
22
+ }));
23
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
24
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.default = exports.ZaloSDK = exports.MessageManagementService = exports.GeneralMessageService = exports.PromotionService = exports.TransactionService = exports.ConsultationService = exports.VideoUploadService = exports.ArticleService = exports.TagService = exports.UserManagementService = exports.GroupManagementService = exports.GroupMessageService = exports.ZNSService = exports.UserService = exports.OAService = exports.AuthService = exports.ZaloClient = exports.BaseClient = void 0;
28
+ // Export types
29
+ __exportStar(require("./types/common"), exports);
30
+ __exportStar(require("./types/auth"), exports);
31
+ __exportStar(require("./types/oa"), exports);
32
+ __exportStar(require("./types/user"), exports);
33
+ __exportStar(require("./types/zns"), exports);
34
+ __exportStar(require("./types/article"), exports);
35
+ // Export webhook types (avoiding conflicts with message and group types)
36
+ __exportStar(require("./types/webhook"), exports);
37
+ // Export clients
38
+ var base_client_1 = require("./clients/base-client");
39
+ Object.defineProperty(exports, "BaseClient", { enumerable: true, get: function () { return base_client_1.BaseClient; } });
40
+ var zalo_client_1 = require("./clients/zalo-client");
41
+ Object.defineProperty(exports, "ZaloClient", { enumerable: true, get: function () { return zalo_client_1.ZaloClient; } });
42
+ // Export services
43
+ var auth_service_1 = require("./services/auth.service");
44
+ Object.defineProperty(exports, "AuthService", { enumerable: true, get: function () { return auth_service_1.AuthService; } });
45
+ var oa_service_1 = require("./services/oa.service");
46
+ Object.defineProperty(exports, "OAService", { enumerable: true, get: function () { return oa_service_1.OAService; } });
47
+ // export { MessageService } from "./services/message.service"; // Replaced by specialized message services
48
+ var user_service_1 = require("./services/user.service");
49
+ Object.defineProperty(exports, "UserService", { enumerable: true, get: function () { return user_service_1.UserService; } });
50
+ // export { WebhookService } from "./services/webhook.service";
51
+ var zns_service_1 = require("./services/zns.service");
52
+ Object.defineProperty(exports, "ZNSService", { enumerable: true, get: function () { return zns_service_1.ZNSService; } });
53
+ var group_message_service_1 = require("./services/group-message.service");
54
+ Object.defineProperty(exports, "GroupMessageService", { enumerable: true, get: function () { return group_message_service_1.GroupMessageService; } });
55
+ var group_management_service_1 = require("./services/group-management.service");
56
+ Object.defineProperty(exports, "GroupManagementService", { enumerable: true, get: function () { return group_management_service_1.GroupManagementService; } });
57
+ var user_management_service_1 = require("./services/user-management.service");
58
+ Object.defineProperty(exports, "UserManagementService", { enumerable: true, get: function () { return user_management_service_1.UserManagementService; } });
59
+ var tag_service_1 = require("./services/tag.service");
60
+ Object.defineProperty(exports, "TagService", { enumerable: true, get: function () { return tag_service_1.TagService; } });
61
+ var article_service_1 = require("./services/article.service");
62
+ Object.defineProperty(exports, "ArticleService", { enumerable: true, get: function () { return article_service_1.ArticleService; } });
63
+ var video_upload_service_1 = require("./services/video-upload.service");
64
+ Object.defineProperty(exports, "VideoUploadService", { enumerable: true, get: function () { return video_upload_service_1.VideoUploadService; } });
65
+ // Message Services - Specialized by message type
66
+ var consultation_service_1 = require("./services/consultation.service");
67
+ Object.defineProperty(exports, "ConsultationService", { enumerable: true, get: function () { return consultation_service_1.ConsultationService; } });
68
+ var transaction_service_1 = require("./services/transaction.service");
69
+ Object.defineProperty(exports, "TransactionService", { enumerable: true, get: function () { return transaction_service_1.TransactionService; } });
70
+ var promotion_service_1 = require("./services/promotion.service");
71
+ Object.defineProperty(exports, "PromotionService", { enumerable: true, get: function () { return promotion_service_1.PromotionService; } });
72
+ var general_message_service_1 = require("./services/general-message.service");
73
+ Object.defineProperty(exports, "GeneralMessageService", { enumerable: true, get: function () { return general_message_service_1.GeneralMessageService; } });
74
+ var message_management_service_1 = require("./services/message-management.service");
75
+ Object.defineProperty(exports, "MessageManagementService", { enumerable: true, get: function () { return message_management_service_1.MessageManagementService; } });
76
+ // Export main SDK class
77
+ var zalo_sdk_1 = require("./zalo-sdk");
78
+ Object.defineProperty(exports, "ZaloSDK", { enumerable: true, get: function () { return zalo_sdk_1.ZaloSDK; } });
79
+ // Export default
80
+ var zalo_sdk_2 = require("./zalo-sdk");
81
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return zalo_sdk_2.ZaloSDK; } });
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;AAEH,eAAe;AACf,iDAA+B;AAC/B,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,kDAAgC;AAkChC,yEAAyE;AACzE,kDAAgC;AA8EhC,iBAAiB;AACjB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AACnB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAEnB,kBAAkB;AAClB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,oDAAkD;AAAzC,uGAAA,SAAS,OAAA;AAClB,2GAA2G;AAC3G,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,+DAA+D;AAC/D,sDAAoD;AAA3C,yGAAA,UAAU,OAAA;AACnB,0EAAuE;AAA9D,4HAAA,mBAAmB,OAAA;AAC5B,gFAA6E;AAApE,kIAAA,sBAAsB,OAAA;AAC/B,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAC9B,sDAAoD;AAA3C,yGAAA,UAAU,OAAA;AACnB,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAE3B,iDAAiD;AACjD,wEAAsE;AAA7D,2HAAA,mBAAmB,OAAA;AAC5B,sEAAoE;AAA3D,yHAAA,kBAAkB,OAAA;AAC3B,kEAAgE;AAAvD,qHAAA,gBAAgB,OAAA;AACzB,8EAA2E;AAAlE,gIAAA,qBAAqB,OAAA;AAC9B,oFAAiF;AAAxE,sIAAA,wBAAwB,OAAA;AAEjC,wBAAwB;AACxB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAEhB,iBAAiB;AACjB,uCAAgD;AAAvC,mGAAA,OAAO,OAAW"}
@@ -0,0 +1,144 @@
1
+ import { ZaloClient } from "../clients/zalo-client";
2
+ import { ArticleRequest, ArticleNormalRequest, ArticleVideoRequest, ArticleResponse, ArticleProcessResponse, ArticleVerifyResponse, ArticleDetail, ArticleListRequest, ArticleListResponse, ArticleRemoveResponse, ArticleUpdateRequest, ArticleUpdateNormalRequest, ArticleUpdateVideoRequest, ArticleUpdateResponse } from "../types/article";
3
+ /**
4
+ * Service for handling Zalo Official Account Article Management APIs
5
+ *
6
+ * CONDITIONS FOR USING ZALO ARTICLE MANAGEMENT:
7
+ *
8
+ * 1. GENERAL CONDITIONS:
9
+ * - OA must have permission to create articles
10
+ * - Access token must have "manage_article" scope
11
+ * - OA must have active status and be verified
12
+ *
13
+ * 2. ARTICLE CREATION:
14
+ * - Title: required, max 150 characters
15
+ * - Author: required for normal articles, max 50 characters
16
+ * - Description: required, max 300 characters
17
+ * - Image size: max 1MB per image
18
+ * - Status: 'show' (publish immediately) or 'hide' (draft)
19
+ * - Comment: 'show' (allow comments) or 'hide' (disable comments)
20
+ *
21
+ * 3. CONTENT VALIDATION:
22
+ * - Normal articles: must have cover, body content, and author
23
+ * - Video articles: must have video_id and avatar
24
+ * - Body items: support text, image, video, and product types
25
+ * - Tracking links: must be valid URLs
26
+ *
27
+ * 4. LIMITS AND CONSTRAINTS:
28
+ * - Article list: max 100 items per request
29
+ * - Processing time: use token to check progress
30
+ * - Update frequency: reasonable intervals recommended
31
+ */
32
+ export declare class ArticleService {
33
+ private readonly client;
34
+ private readonly apiUrl;
35
+ constructor(client: ZaloClient);
36
+ /**
37
+ * Create normal article with rich content
38
+ * @param accessToken OA access token
39
+ * @param request Normal article information
40
+ * @returns Token for tracking creation progress
41
+ */
42
+ createNormalArticle(accessToken: string, request: ArticleNormalRequest): Promise<ArticleResponse>;
43
+ /**
44
+ * Create video article
45
+ * @param accessToken OA access token
46
+ * @param request Video article information
47
+ * @returns Token for tracking creation progress
48
+ */
49
+ createVideoArticle(accessToken: string, request: ArticleVideoRequest): Promise<ArticleResponse>;
50
+ /**
51
+ * Create article (automatically detect type)
52
+ * @param accessToken OA access token
53
+ * @param request Article information
54
+ * @returns Token for tracking creation progress
55
+ */
56
+ createArticle(accessToken: string, request: ArticleRequest): Promise<ArticleResponse>;
57
+ /**
58
+ * Check article creation progress
59
+ * @param accessToken OA access token
60
+ * @param token Token from article creation response
61
+ * @returns Progress information
62
+ */
63
+ checkArticleProcess(accessToken: string, token: string): Promise<ArticleProcessResponse>;
64
+ /**
65
+ * Verify article and get article ID
66
+ * @param accessToken OA access token
67
+ * @param token Token from article creation or update response
68
+ * @returns Article ID
69
+ */
70
+ verifyArticle(accessToken: string, token: string): Promise<ArticleVerifyResponse>;
71
+ /**
72
+ * Get article details
73
+ * @param accessToken OA access token
74
+ * @param articleId Article ID
75
+ * @returns Article details
76
+ */
77
+ getArticleDetail(accessToken: string, articleId: string): Promise<ArticleDetail>;
78
+ /**
79
+ * Get article list
80
+ * @param accessToken OA access token
81
+ * @param request List parameters
82
+ * @returns Article list
83
+ */
84
+ getArticleList(accessToken: string, request: ArticleListRequest): Promise<ArticleListResponse>;
85
+ /**
86
+ * Remove article
87
+ * @param accessToken OA access token
88
+ * @param articleId Article ID to remove
89
+ * @returns Removal result
90
+ */
91
+ removeArticle(accessToken: string, articleId: string): Promise<ArticleRemoveResponse>;
92
+ private handleArticleError;
93
+ /**
94
+ * Update normal article
95
+ * @param accessToken OA access token
96
+ * @param request Update information
97
+ * @returns Token for tracking update progress
98
+ */
99
+ updateNormalArticle(accessToken: string, request: ArticleUpdateNormalRequest): Promise<ArticleUpdateResponse>;
100
+ /**
101
+ * Update video article
102
+ * @param accessToken OA access token
103
+ * @param request Update information
104
+ * @returns Token for tracking update progress
105
+ */
106
+ updateVideoArticle(accessToken: string, request: ArticleUpdateVideoRequest): Promise<ArticleUpdateResponse>;
107
+ /**
108
+ * Update article (automatically detect type)
109
+ * @param accessToken OA access token
110
+ * @param request Update information
111
+ * @returns Token for tracking update progress
112
+ */
113
+ updateArticle(accessToken: string, request: ArticleUpdateRequest): Promise<ArticleUpdateResponse>;
114
+ /**
115
+ * Validate normal article creation request
116
+ */
117
+ private validateNormalArticleRequest;
118
+ /**
119
+ * Validate video article creation request
120
+ */
121
+ private validateVideoArticleRequest;
122
+ /**
123
+ * Validate article list request
124
+ */
125
+ private validateArticleListRequest;
126
+ /**
127
+ * Validate normal article update request
128
+ */
129
+ private validateUpdateNormalArticleRequest;
130
+ /**
131
+ * Validate video article update request
132
+ */
133
+ private validateUpdateVideoArticleRequest;
134
+ /**
135
+ * Validate cover information
136
+ */
137
+ private validateCover;
138
+ /**
139
+ * Validate body item
140
+ */
141
+ private validateBodyItem;
142
+ private isValidTrackingLink;
143
+ }
144
+ //# sourceMappingURL=article.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.service.d.ts","sourceRoot":"","sources":["../../src/services/article.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EAEnB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EAStB,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;gBAE5B,MAAM,EAAE,UAAU;IAE/C;;;;;OAKG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC;IAuC3B;;;;;OAKG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,eAAe,CAAC;IA2B3B;;;;;OAKG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC;IAa3B;;;;;OAKG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC;IAuDlC;;;;;OAKG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC;IAsBjC;;;;;OAKG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAoBzB;;;;;OAKG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IAqB/B;;;;;OAKG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC;IAgCjC,OAAO,CAAC,kBAAkB;IAqB1B;;;;;OAKG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,qBAAqB,CAAC;IAwCjC;;;;;OAKG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC;IA4BjC;;;;;OAKG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAejC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAqDpC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAqBlC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAW1C;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAWzC;;OAEG;IACH,OAAO,CAAC,aAAa;IA2CrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwDxB,OAAO,CAAC,mBAAmB;CAQ5B"}