@warriorteam/redai-zalo-sdk 1.2.0 → 1.4.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 (77) hide show
  1. package/README.md +563 -550
  2. package/dist/index.d.ts +0 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/services/article.service.d.ts +1 -1
  7. package/dist/services/article.service.d.ts.map +1 -1
  8. package/dist/services/article.service.js +24 -16
  9. package/dist/services/article.service.js.map +1 -1
  10. package/dist/services/auth.service.d.ts +1 -0
  11. package/dist/services/auth.service.d.ts.map +1 -1
  12. package/dist/services/auth.service.js +23 -9
  13. package/dist/services/auth.service.js.map +1 -1
  14. package/dist/services/consultation.service.d.ts +63 -16
  15. package/dist/services/consultation.service.d.ts.map +1 -1
  16. package/dist/services/consultation.service.js +264 -49
  17. package/dist/services/consultation.service.js.map +1 -1
  18. package/dist/services/general-message.service.d.ts +2 -25
  19. package/dist/services/general-message.service.d.ts.map +1 -1
  20. package/dist/services/general-message.service.js +11 -112
  21. package/dist/services/general-message.service.js.map +1 -1
  22. package/dist/services/group-management.service.d.ts +1 -1
  23. package/dist/services/group-management.service.d.ts.map +1 -1
  24. package/dist/services/group-management.service.js +59 -27
  25. package/dist/services/group-management.service.js.map +1 -1
  26. package/dist/services/group-message.service.d.ts +1 -1
  27. package/dist/services/group-message.service.d.ts.map +1 -1
  28. package/dist/services/group-message.service.js +49 -23
  29. package/dist/services/group-message.service.js.map +1 -1
  30. package/dist/services/message-management.service.d.ts +21 -2
  31. package/dist/services/message-management.service.d.ts.map +1 -1
  32. package/dist/services/message-management.service.js +83 -7
  33. package/dist/services/message-management.service.js.map +1 -1
  34. package/dist/services/oa.service.d.ts +1 -0
  35. package/dist/services/oa.service.d.ts.map +1 -1
  36. package/dist/services/oa.service.js +23 -5
  37. package/dist/services/oa.service.js.map +1 -1
  38. package/dist/services/user.service.d.ts +108 -18
  39. package/dist/services/user.service.d.ts.map +1 -1
  40. package/dist/services/user.service.js +260 -59
  41. package/dist/services/user.service.js.map +1 -1
  42. package/dist/services/video-upload.service.d.ts +1 -1
  43. package/dist/services/video-upload.service.d.ts.map +1 -1
  44. package/dist/services/video-upload.service.js +11 -8
  45. package/dist/services/video-upload.service.js.map +1 -1
  46. package/dist/services/zns.service.d.ts +88 -21
  47. package/dist/services/zns.service.d.ts.map +1 -1
  48. package/dist/services/zns.service.js +157 -42
  49. package/dist/services/zns.service.js.map +1 -1
  50. package/dist/types/group.d.ts +5 -5
  51. package/dist/types/group.d.ts.map +1 -1
  52. package/dist/types/user.d.ts +155 -12
  53. package/dist/types/user.d.ts.map +1 -1
  54. package/dist/types/user.js.map +1 -1
  55. package/dist/types/zns.d.ts +67 -33
  56. package/dist/types/zns.d.ts.map +1 -1
  57. package/dist/zalo-sdk.d.ts +3 -11
  58. package/dist/zalo-sdk.d.ts.map +1 -1
  59. package/dist/zalo-sdk.js +0 -10
  60. package/dist/zalo-sdk.js.map +1 -1
  61. package/docs/API_REFERENCE.md +680 -0
  62. package/docs/AUTHENTICATION.md +709 -0
  63. package/docs/CONSULTATION_SERVICE.md +512 -330
  64. package/docs/GROUP_MANAGEMENT.md +2 -2
  65. package/docs/MESSAGE_SERVICES.md +1224 -0
  66. package/docs/TAG_MANAGEMENT.md +1462 -0
  67. package/docs/USER_MANAGEMENT.md +481 -0
  68. package/docs/ZNS_SERVICE.md +985 -0
  69. package/package.json +1 -1
  70. package/dist/services/tag.service.d.ts +0 -144
  71. package/dist/services/tag.service.d.ts.map +0 -1
  72. package/dist/services/tag.service.js +0 -184
  73. package/dist/services/tag.service.js.map +0 -1
  74. package/dist/services/user-management.service.d.ts +0 -117
  75. package/dist/services/user-management.service.d.ts.map +0 -1
  76. package/dist/services/user-management.service.js +0 -239
  77. package/dist/services/user-management.service.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warriorteam/redai-zalo-sdk",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Comprehensive TypeScript/JavaScript SDK for Zalo APIs - Official Account, ZNS, Consultation Service, Group Messaging, and Social APIs",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,144 +0,0 @@
1
- import { ZaloClient } from "../clients/zalo-client";
2
- /**
3
- * Service for managing Zalo OA user tags
4
- * Provides comprehensive tag management capabilities
5
- */
6
- export declare class TagService {
7
- private readonly client;
8
- private readonly apiUrl;
9
- constructor(client: ZaloClient);
10
- /**
11
- * Get all tags of the OA
12
- * @param accessToken OA access token
13
- * @returns List of all tags
14
- */
15
- getAllTags(accessToken: string): Promise<{
16
- error: number;
17
- message: string;
18
- data?: Array<{
19
- tag_name: string;
20
- tag_id?: string;
21
- user_count?: number;
22
- }>;
23
- }>;
24
- /**
25
- * Get tags of a specific user
26
- * @param accessToken OA access token
27
- * @param userId User ID
28
- * @returns User's tags
29
- */
30
- getUserTags(accessToken: string, userId: string): Promise<{
31
- error: number;
32
- message: string;
33
- data?: Array<{
34
- tag_name: string;
35
- tag_id?: string;
36
- }>;
37
- }>;
38
- /**
39
- * Create a new tag
40
- * @param accessToken OA access token
41
- * @param tagName Tag name
42
- * @returns Created tag information
43
- */
44
- createTag(accessToken: string, tagName: string): Promise<{
45
- error: number;
46
- message: string;
47
- data?: {
48
- tag_name: string;
49
- tag_id?: string;
50
- };
51
- }>;
52
- /**
53
- * Delete a tag
54
- * @param accessToken OA access token
55
- * @param tagName Tag name to delete
56
- * @returns Deletion result
57
- */
58
- deleteTag(accessToken: string, tagName: string): Promise<{
59
- error: number;
60
- message: string;
61
- }>;
62
- /**
63
- * Tag a user with specific tags
64
- * @param accessToken OA access token
65
- * @param userId User ID
66
- * @param tagNames Array of tag names
67
- * @returns Tagging result
68
- */
69
- tagUser(accessToken: string, userId: string, tagNames: string[]): Promise<{
70
- error: number;
71
- message: string;
72
- }>;
73
- /**
74
- * Remove tags from a user
75
- * @param accessToken OA access token
76
- * @param userId User ID
77
- * @param tagNames Array of tag names to remove
78
- * @returns Untagging result
79
- */
80
- untagUser(accessToken: string, userId: string, tagNames: string[]): Promise<{
81
- error: number;
82
- message: string;
83
- }>;
84
- /**
85
- * Get users by tag
86
- * @param accessToken OA access token
87
- * @param tagName Tag name
88
- * @param offset Offset for pagination
89
- * @param count Number of users to retrieve
90
- * @returns Users with the specified tag
91
- */
92
- getUsersByTag(accessToken: string, tagName: string, offset?: number, count?: number): Promise<{
93
- error: number;
94
- message: string;
95
- data?: {
96
- users: Array<{
97
- user_id: string;
98
- user_id_by_app?: string;
99
- display_name: string;
100
- avatar?: string;
101
- user_is_follower: boolean;
102
- }>;
103
- total: number;
104
- };
105
- }>;
106
- /**
107
- * Bulk tag multiple users
108
- * @param accessToken OA access token
109
- * @param userIds Array of user IDs
110
- * @param tagNames Array of tag names
111
- * @returns Bulk tagging result
112
- */
113
- bulkTagUsers(accessToken: string, userIds: string[], tagNames: string[]): Promise<{
114
- error: number;
115
- message: string;
116
- data?: {
117
- successful_users: string[];
118
- failed_users: Array<{
119
- user_id: string;
120
- error: string;
121
- }>;
122
- };
123
- }>;
124
- /**
125
- * Bulk untag multiple users
126
- * @param accessToken OA access token
127
- * @param userIds Array of user IDs
128
- * @param tagNames Array of tag names to remove
129
- * @returns Bulk untagging result
130
- */
131
- bulkUntagUsers(accessToken: string, userIds: string[], tagNames: string[]): Promise<{
132
- error: number;
133
- message: string;
134
- data?: {
135
- successful_users: string[];
136
- failed_users: Array<{
137
- user_id: string;
138
- error: string;
139
- }>;
140
- };
141
- }>;
142
- private handleTagError;
143
- }
144
- //# sourceMappingURL=tag.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.service.d.ts","sourceRoot":"","sources":["../../src/services/tag.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAE/B,MAAM,EAAE,UAAU;IAE/C;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;KACJ,CAAC;IAaF;;;;;OAKG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC;IAgBF;;;;;OAKG;IACG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IAgBF;;;;;OAKG;IACG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAgBF;;;;;;OAMG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAiBF;;;;;;OAMG;IACG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAiBF;;;;;;;OAOG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAU,EAClB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,KAAK,EAAE,KAAK,CAAC;gBACX,OAAO,EAAE,MAAM,CAAC;gBAChB,cAAc,CAAC,EAAE,MAAM,CAAC;gBACxB,YAAY,EAAE,MAAM,CAAC;gBACrB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,gBAAgB,EAAE,OAAO,CAAC;aAC3B,CAAC,CAAC;YACH,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IAkBF;;;;;;OAMG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC3B,YAAY,EAAE,KAAK,CAAC;gBAClB,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAC;aACf,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IAiBF;;;;;;OAMG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC3B,YAAY,EAAE,KAAK,CAAC;gBAClB,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAC;aACf,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IAiBF,OAAO,CAAC,cAAc;CAWvB"}
@@ -1,184 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TagService = void 0;
4
- /**
5
- * Service for managing Zalo OA user tags
6
- * Provides comprehensive tag management capabilities
7
- */
8
- class TagService {
9
- constructor(client) {
10
- this.client = client;
11
- this.apiUrl = "https://openapi.zalo.me/v3.0/oa";
12
- }
13
- /**
14
- * Get all tags of the OA
15
- * @param accessToken OA access token
16
- * @returns List of all tags
17
- */
18
- async getAllTags(accessToken) {
19
- try {
20
- const response = await this.client.apiGet(`${this.apiUrl}/tag/gettagsofoa`, accessToken);
21
- return response;
22
- }
23
- catch (error) {
24
- throw this.handleTagError(error, "Failed to get all tags");
25
- }
26
- }
27
- /**
28
- * Get tags of a specific user
29
- * @param accessToken OA access token
30
- * @param userId User ID
31
- * @returns User's tags
32
- */
33
- async getUserTags(accessToken, userId) {
34
- try {
35
- const response = await this.client.apiGet(`${this.apiUrl}/tag/gettagsofuser`, accessToken, {
36
- user_id: userId,
37
- });
38
- return response;
39
- }
40
- catch (error) {
41
- throw this.handleTagError(error, "Failed to get user tags");
42
- }
43
- }
44
- /**
45
- * Create a new tag
46
- * @param accessToken OA access token
47
- * @param tagName Tag name
48
- * @returns Created tag information
49
- */
50
- async createTag(accessToken, tagName) {
51
- try {
52
- const response = await this.client.apiPost(`${this.apiUrl}/tag/create`, accessToken, {
53
- tag_name: tagName,
54
- });
55
- return response;
56
- }
57
- catch (error) {
58
- throw this.handleTagError(error, "Failed to create tag");
59
- }
60
- }
61
- /**
62
- * Delete a tag
63
- * @param accessToken OA access token
64
- * @param tagName Tag name to delete
65
- * @returns Deletion result
66
- */
67
- async deleteTag(accessToken, tagName) {
68
- try {
69
- const response = await this.client.apiPost(`${this.apiUrl}/tag/delete`, accessToken, {
70
- tag_name: tagName,
71
- });
72
- return response;
73
- }
74
- catch (error) {
75
- throw this.handleTagError(error, "Failed to delete tag");
76
- }
77
- }
78
- /**
79
- * Tag a user with specific tags
80
- * @param accessToken OA access token
81
- * @param userId User ID
82
- * @param tagNames Array of tag names
83
- * @returns Tagging result
84
- */
85
- async tagUser(accessToken, userId, tagNames) {
86
- try {
87
- const response = await this.client.apiPost(`${this.apiUrl}/tag/taguser`, accessToken, {
88
- user_id: userId,
89
- tag_names: tagNames,
90
- });
91
- return response;
92
- }
93
- catch (error) {
94
- throw this.handleTagError(error, "Failed to tag user");
95
- }
96
- }
97
- /**
98
- * Remove tags from a user
99
- * @param accessToken OA access token
100
- * @param userId User ID
101
- * @param tagNames Array of tag names to remove
102
- * @returns Untagging result
103
- */
104
- async untagUser(accessToken, userId, tagNames) {
105
- try {
106
- const response = await this.client.apiPost(`${this.apiUrl}/tag/rmtaguser`, accessToken, {
107
- user_id: userId,
108
- tag_names: tagNames,
109
- });
110
- return response;
111
- }
112
- catch (error) {
113
- throw this.handleTagError(error, "Failed to untag user");
114
- }
115
- }
116
- /**
117
- * Get users by tag
118
- * @param accessToken OA access token
119
- * @param tagName Tag name
120
- * @param offset Offset for pagination
121
- * @param count Number of users to retrieve
122
- * @returns Users with the specified tag
123
- */
124
- async getUsersByTag(accessToken, tagName, offset = 0, count = 50) {
125
- try {
126
- const response = await this.client.apiGet(`${this.apiUrl}/tag/getusersoftag`, accessToken, {
127
- tag_name: tagName,
128
- offset,
129
- count,
130
- });
131
- return response;
132
- }
133
- catch (error) {
134
- throw this.handleTagError(error, "Failed to get users by tag");
135
- }
136
- }
137
- /**
138
- * Bulk tag multiple users
139
- * @param accessToken OA access token
140
- * @param userIds Array of user IDs
141
- * @param tagNames Array of tag names
142
- * @returns Bulk tagging result
143
- */
144
- async bulkTagUsers(accessToken, userIds, tagNames) {
145
- try {
146
- const response = await this.client.apiPost(`${this.apiUrl}/tag/bulktagusers`, accessToken, {
147
- user_ids: userIds,
148
- tag_names: tagNames,
149
- });
150
- return response;
151
- }
152
- catch (error) {
153
- throw this.handleTagError(error, "Failed to bulk tag users");
154
- }
155
- }
156
- /**
157
- * Bulk untag multiple users
158
- * @param accessToken OA access token
159
- * @param userIds Array of user IDs
160
- * @param tagNames Array of tag names to remove
161
- * @returns Bulk untagging result
162
- */
163
- async bulkUntagUsers(accessToken, userIds, tagNames) {
164
- try {
165
- const response = await this.client.apiPost(`${this.apiUrl}/tag/bulkuntagusers`, accessToken, {
166
- user_ids: userIds,
167
- tag_names: tagNames,
168
- });
169
- return response;
170
- }
171
- catch (error) {
172
- throw this.handleTagError(error, "Failed to bulk untag users");
173
- }
174
- }
175
- handleTagError(error, defaultMessage) {
176
- if (error.response?.data) {
177
- const errorData = error.response.data;
178
- return new Error(`${defaultMessage}: ${errorData.message || errorData.error || "Unknown error"}`);
179
- }
180
- return new Error(`${defaultMessage}: ${error.message || "Unknown error"}`);
181
- }
182
- }
183
- exports.TagService = TagService;
184
- //# sourceMappingURL=tag.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag.service.js","sourceRoot":"","sources":["../../src/services/tag.service.ts"],"names":[],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- import { ZaloClient } from "../clients/zalo-client";
2
- import { UserProfile, UserList, UserTag, UserTagList, UserNote, UserInteraction } from "../types/user-management";
3
- /**
4
- * Service for managing Zalo OA users
5
- * Provides comprehensive user management capabilities including:
6
- * - User profile management
7
- * - User tagging and segmentation
8
- * - User notes and interactions
9
- * - User analytics and insights
10
- */
11
- export declare class UserManagementService {
12
- private readonly client;
13
- private readonly apiUrl;
14
- constructor(client: ZaloClient);
15
- /**
16
- * Get user profile information
17
- * @param accessToken OA access token
18
- * @param userId User ID
19
- * @returns User profile
20
- */
21
- getUserProfile(accessToken: string, userId: string): Promise<UserProfile>;
22
- /**
23
- * Get list of users who follow the OA
24
- * @param accessToken OA access token
25
- * @param offset Offset for pagination
26
- * @param count Number of users to retrieve
27
- * @returns User list
28
- */
29
- getFollowersList(accessToken: string, offset?: number, count?: number): Promise<UserList>;
30
- /**
31
- * Search users by phone number
32
- * @param accessToken OA access token
33
- * @param phoneNumber Phone number to search
34
- * @returns User profile if found
35
- */
36
- searchUserByPhone(accessToken: string, phoneNumber: string): Promise<UserProfile | null>;
37
- /**
38
- * Get user tags
39
- * @param accessToken OA access token
40
- * @param userId User ID
41
- * @returns User tags
42
- */
43
- getUserTags(accessToken: string, userId: string): Promise<UserTag[]>;
44
- /**
45
- * Tag user with specific tags
46
- * @param accessToken OA access token
47
- * @param userId User ID
48
- * @param tagNames Array of tag names
49
- * @returns Tag result
50
- */
51
- tagUser(accessToken: string, userId: string, tagNames: string[]): Promise<{
52
- success: boolean;
53
- }>;
54
- /**
55
- * Remove tags from user
56
- * @param accessToken OA access token
57
- * @param userId User ID
58
- * @param tagNames Array of tag names to remove
59
- * @returns Untag result
60
- */
61
- untagUser(accessToken: string, userId: string, tagNames: string[]): Promise<{
62
- success: boolean;
63
- }>;
64
- /**
65
- * Get all available tags
66
- * @param accessToken OA access token
67
- * @returns List of all tags
68
- */
69
- getAllTags(accessToken: string): Promise<UserTagList>;
70
- /**
71
- * Create new tag
72
- * @param accessToken OA access token
73
- * @param tagName Tag name
74
- * @returns Created tag
75
- */
76
- createTag(accessToken: string, tagName: string): Promise<UserTag>;
77
- /**
78
- * Delete tag
79
- * @param accessToken OA access token
80
- * @param tagName Tag name to delete
81
- * @returns Deletion result
82
- */
83
- deleteTag(accessToken: string, tagName: string): Promise<{
84
- success: boolean;
85
- }>;
86
- /**
87
- * Add note to user
88
- * @param accessToken OA access token
89
- * @param userId User ID
90
- * @param note Note content
91
- * @returns Note result
92
- */
93
- addUserNote(accessToken: string, userId: string, note: string): Promise<{
94
- success: boolean;
95
- }>;
96
- /**
97
- * Get user notes
98
- * @param accessToken OA access token
99
- * @param userId User ID
100
- * @returns User notes
101
- */
102
- getUserNotes(accessToken: string, userId: string): Promise<UserNote[]>;
103
- /**
104
- * Get user interaction history
105
- * @param accessToken OA access token
106
- * @param userId User ID
107
- * @param offset Offset for pagination
108
- * @param count Number of interactions to retrieve
109
- * @returns User interactions
110
- */
111
- getUserInteractions(accessToken: string, userId: string, offset?: number, count?: number): Promise<{
112
- data: UserInteraction[];
113
- total: number;
114
- }>;
115
- private handleUserManagementError;
116
- }
117
- //# sourceMappingURL=user-management.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-management.service.d.ts","sourceRoot":"","sources":["../../src/services/user-management.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,EACR,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAE/B,MAAM,EAAE,UAAU;IAE/C;;;;;OAKG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IAgBvB;;;;;;OAMG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,MAAU,EAClB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,QAAQ,CAAC;IAiBpB;;;;;OAKG;IACG,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAgB9B;;;;;OAKG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAgB1E;;;;;;OAMG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAiBhC;;;;;;OAMG;IACG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAiBhC;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAa3D;;;;;OAKG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBvE;;;;;OAKG;IACG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBhC;;;;;;OAMG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAiBhC;;;;;OAKG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgB5E;;;;;;;OAOG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAU,EAClB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC;QAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBtD,OAAO,CAAC,yBAAyB;CAWlC"}