@warriorteam/redai-zalo-sdk 1.3.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.
- package/README.md +563 -550
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/services/article.service.d.ts +1 -1
- package/dist/services/article.service.d.ts.map +1 -1
- package/dist/services/article.service.js +24 -16
- package/dist/services/article.service.js.map +1 -1
- package/dist/services/auth.service.d.ts +1 -0
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +23 -9
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/consultation.service.d.ts +63 -16
- package/dist/services/consultation.service.d.ts.map +1 -1
- package/dist/services/consultation.service.js +264 -49
- package/dist/services/consultation.service.js.map +1 -1
- package/dist/services/general-message.service.d.ts +2 -25
- package/dist/services/general-message.service.d.ts.map +1 -1
- package/dist/services/general-message.service.js +11 -112
- package/dist/services/general-message.service.js.map +1 -1
- package/dist/services/group-management.service.d.ts +1 -1
- package/dist/services/group-management.service.d.ts.map +1 -1
- package/dist/services/group-management.service.js +59 -27
- package/dist/services/group-management.service.js.map +1 -1
- package/dist/services/group-message.service.d.ts +1 -1
- package/dist/services/group-message.service.d.ts.map +1 -1
- package/dist/services/group-message.service.js +49 -23
- package/dist/services/group-message.service.js.map +1 -1
- package/dist/services/message-management.service.d.ts +21 -2
- package/dist/services/message-management.service.d.ts.map +1 -1
- package/dist/services/message-management.service.js +83 -7
- package/dist/services/message-management.service.js.map +1 -1
- package/dist/services/oa.service.d.ts +1 -0
- package/dist/services/oa.service.d.ts.map +1 -1
- package/dist/services/oa.service.js +23 -5
- package/dist/services/oa.service.js.map +1 -1
- package/dist/services/user.service.d.ts +108 -18
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +260 -59
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/video-upload.service.d.ts +1 -1
- package/dist/services/video-upload.service.d.ts.map +1 -1
- package/dist/services/video-upload.service.js +11 -8
- package/dist/services/video-upload.service.js.map +1 -1
- package/dist/services/zns.service.d.ts +88 -21
- package/dist/services/zns.service.d.ts.map +1 -1
- package/dist/services/zns.service.js +157 -42
- package/dist/services/zns.service.js.map +1 -1
- package/dist/types/group.d.ts +5 -5
- package/dist/types/group.d.ts.map +1 -1
- package/dist/types/user.d.ts +155 -12
- package/dist/types/user.d.ts.map +1 -1
- package/dist/types/user.js.map +1 -1
- package/dist/types/zns.d.ts +67 -33
- package/dist/types/zns.d.ts.map +1 -1
- package/dist/zalo-sdk.d.ts +3 -11
- package/dist/zalo-sdk.d.ts.map +1 -1
- package/dist/zalo-sdk.js +0 -10
- package/dist/zalo-sdk.js.map +1 -1
- package/docs/CONSULTATION_SERVICE.md +512 -330
- package/docs/GROUP_MANAGEMENT.md +2 -2
- package/docs/USER_MANAGEMENT.md +481 -1248
- package/package.json +1 -1
- package/dist/services/tag.service.d.ts +0 -144
- package/dist/services/tag.service.d.ts.map +0 -1
- package/dist/services/tag.service.js +0 -184
- package/dist/services/tag.service.js.map +0 -1
- package/dist/services/user-management.service.d.ts +0 -117
- package/dist/services/user-management.service.d.ts.map +0 -1
- package/dist/services/user-management.service.js +0 -239
- 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.
|
|
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":"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"}
|
|
@@ -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"}
|