@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.
- package/LICENSE +21 -0
- package/README.md +448 -0
- package/dist/clients/base-client.d.ts +67 -0
- package/dist/clients/base-client.d.ts.map +1 -0
- package/dist/clients/base-client.js +297 -0
- package/dist/clients/base-client.js.map +1 -0
- package/dist/clients/zalo-client.d.ts +131 -0
- package/dist/clients/zalo-client.d.ts.map +1 -0
- package/dist/clients/zalo-client.js +215 -0
- package/dist/clients/zalo-client.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/services/article.service.d.ts +144 -0
- package/dist/services/article.service.d.ts.map +1 -0
- package/dist/services/article.service.js +518 -0
- package/dist/services/article.service.js.map +1 -0
- package/dist/services/auth.service.d.ts +55 -0
- package/dist/services/auth.service.d.ts.map +1 -0
- package/dist/services/auth.service.js +269 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/consultation.service.d.ts +73 -0
- package/dist/services/consultation.service.d.ts.map +1 -0
- package/dist/services/consultation.service.js +208 -0
- package/dist/services/consultation.service.js.map +1 -0
- package/dist/services/general-message.service.d.ts +85 -0
- package/dist/services/general-message.service.d.ts.map +1 -0
- package/dist/services/general-message.service.js +248 -0
- package/dist/services/general-message.service.js.map +1 -0
- package/dist/services/group-management.service.d.ts +220 -0
- package/dist/services/group-management.service.d.ts.map +1 -0
- package/dist/services/group-management.service.js +562 -0
- package/dist/services/group-management.service.js.map +1 -0
- package/dist/services/group-message.service.d.ts +102 -0
- package/dist/services/group-message.service.d.ts.map +1 -0
- package/dist/services/group-message.service.js +233 -0
- package/dist/services/group-message.service.js.map +1 -0
- package/dist/services/message-management.service.d.ts +135 -0
- package/dist/services/message-management.service.d.ts.map +1 -0
- package/dist/services/message-management.service.js +237 -0
- package/dist/services/message-management.service.js.map +1 -0
- package/dist/services/oa.service.d.ts +67 -0
- package/dist/services/oa.service.d.ts.map +1 -0
- package/dist/services/oa.service.js +223 -0
- package/dist/services/oa.service.js.map +1 -0
- package/dist/services/promotion.service.d.ts +114 -0
- package/dist/services/promotion.service.d.ts.map +1 -0
- package/dist/services/promotion.service.js +247 -0
- package/dist/services/promotion.service.js.map +1 -0
- package/dist/services/tag.service.d.ts +144 -0
- package/dist/services/tag.service.d.ts.map +1 -0
- package/dist/services/tag.service.js +184 -0
- package/dist/services/tag.service.js.map +1 -0
- package/dist/services/transaction.service.d.ts +110 -0
- package/dist/services/transaction.service.d.ts.map +1 -0
- package/dist/services/transaction.service.js +231 -0
- package/dist/services/transaction.service.js.map +1 -0
- package/dist/services/user-management.service.d.ts +117 -0
- package/dist/services/user-management.service.d.ts.map +1 -0
- package/dist/services/user-management.service.js +239 -0
- package/dist/services/user-management.service.js.map +1 -0
- package/dist/services/user.service.d.ts +84 -0
- package/dist/services/user.service.d.ts.map +1 -0
- package/dist/services/user.service.js +323 -0
- package/dist/services/user.service.js.map +1 -0
- package/dist/services/video-upload.service.d.ts +83 -0
- package/dist/services/video-upload.service.d.ts.map +1 -0
- package/dist/services/video-upload.service.js +267 -0
- package/dist/services/video-upload.service.js.map +1 -0
- package/dist/services/zns.service.d.ts +116 -0
- package/dist/services/zns.service.d.ts.map +1 -0
- package/dist/services/zns.service.js +234 -0
- package/dist/services/zns.service.js.map +1 -0
- package/dist/types/article.d.ts +352 -0
- package/dist/types/article.d.ts.map +1 -0
- package/dist/types/article.js +70 -0
- package/dist/types/article.js.map +1 -0
- package/dist/types/auth.d.ts +233 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +39 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/common.d.ts +237 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +42 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/group.d.ts +523 -0
- package/dist/types/group.d.ts.map +1 -0
- package/dist/types/group.js +6 -0
- package/dist/types/group.js.map +1 -0
- package/dist/types/message.d.ts +333 -0
- package/dist/types/message.d.ts.map +1 -0
- package/dist/types/message.js +17 -0
- package/dist/types/message.js.map +1 -0
- package/dist/types/oa.d.ts +285 -0
- package/dist/types/oa.d.ts.map +1 -0
- package/dist/types/oa.js +25 -0
- package/dist/types/oa.js.map +1 -0
- package/dist/types/social.d.ts +427 -0
- package/dist/types/social.d.ts.map +1 -0
- package/dist/types/social.js +6 -0
- package/dist/types/social.js.map +1 -0
- package/dist/types/user-management.d.ts +280 -0
- package/dist/types/user-management.d.ts.map +1 -0
- package/dist/types/user-management.js +6 -0
- package/dist/types/user-management.js.map +1 -0
- package/dist/types/user.d.ts +365 -0
- package/dist/types/user.d.ts.map +1 -0
- package/dist/types/user.js +17 -0
- package/dist/types/user.js.map +1 -0
- package/dist/types/webhook.d.ts +1972 -0
- package/dist/types/webhook.d.ts.map +1 -0
- package/dist/types/webhook.js +419 -0
- package/dist/types/webhook.js.map +1 -0
- package/dist/types/zns.d.ts +277 -0
- package/dist/types/zns.d.ts.map +1 -0
- package/dist/types/zns.js +6 -0
- package/dist/types/zns.js.map +1 -0
- package/dist/zalo-sdk.d.ts +228 -0
- package/dist/zalo-sdk.d.ts.map +1 -0
- package/dist/zalo-sdk.js +307 -0
- package/dist/zalo-sdk.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication related types and interfaces
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Access token information
|
|
6
|
+
*/
|
|
7
|
+
export interface AccessToken {
|
|
8
|
+
/**
|
|
9
|
+
* Access token string
|
|
10
|
+
*/
|
|
11
|
+
access_token: string;
|
|
12
|
+
/**
|
|
13
|
+
* Token expiration time in seconds
|
|
14
|
+
*/
|
|
15
|
+
expires_in: number;
|
|
16
|
+
/**
|
|
17
|
+
* Refresh token (if available)
|
|
18
|
+
*/
|
|
19
|
+
refresh_token?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Refresh token response
|
|
23
|
+
*/
|
|
24
|
+
export interface RefreshTokenResponse {
|
|
25
|
+
/**
|
|
26
|
+
* New access token
|
|
27
|
+
*/
|
|
28
|
+
access_token: string;
|
|
29
|
+
/**
|
|
30
|
+
* Token expiration time in seconds
|
|
31
|
+
*/
|
|
32
|
+
expires_in: number;
|
|
33
|
+
/**
|
|
34
|
+
* New refresh token (if available)
|
|
35
|
+
*/
|
|
36
|
+
refresh_token?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* OAuth authorization parameters
|
|
40
|
+
*/
|
|
41
|
+
export interface OAuthParams {
|
|
42
|
+
/**
|
|
43
|
+
* Application ID
|
|
44
|
+
*/
|
|
45
|
+
app_id: string;
|
|
46
|
+
/**
|
|
47
|
+
* Redirect URI
|
|
48
|
+
*/
|
|
49
|
+
redirect_uri: string;
|
|
50
|
+
/**
|
|
51
|
+
* OAuth state parameter
|
|
52
|
+
*/
|
|
53
|
+
state?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Code verifier for PKCE (Social API)
|
|
56
|
+
*/
|
|
57
|
+
code_verifier?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Code challenge for PKCE (Social API)
|
|
60
|
+
*/
|
|
61
|
+
code_challenge?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Code challenge method for PKCE (Social API)
|
|
64
|
+
*/
|
|
65
|
+
code_challenge_method?: 'S256' | 'plain';
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Authorization code exchange parameters
|
|
69
|
+
*/
|
|
70
|
+
export interface AuthCodeParams {
|
|
71
|
+
/**
|
|
72
|
+
* Application ID
|
|
73
|
+
*/
|
|
74
|
+
app_id: string;
|
|
75
|
+
/**
|
|
76
|
+
* Application secret
|
|
77
|
+
*/
|
|
78
|
+
app_secret: string;
|
|
79
|
+
/**
|
|
80
|
+
* Authorization code
|
|
81
|
+
*/
|
|
82
|
+
code: string;
|
|
83
|
+
/**
|
|
84
|
+
* Redirect URI (must match the one used in authorization)
|
|
85
|
+
*/
|
|
86
|
+
redirect_uri: string;
|
|
87
|
+
/**
|
|
88
|
+
* Code verifier for PKCE (Social API only)
|
|
89
|
+
*/
|
|
90
|
+
code_verifier?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Refresh token parameters
|
|
94
|
+
*/
|
|
95
|
+
export interface RefreshTokenParams {
|
|
96
|
+
/**
|
|
97
|
+
* Application ID
|
|
98
|
+
*/
|
|
99
|
+
app_id: string;
|
|
100
|
+
/**
|
|
101
|
+
* Application secret
|
|
102
|
+
*/
|
|
103
|
+
app_secret: string;
|
|
104
|
+
/**
|
|
105
|
+
* Refresh token
|
|
106
|
+
*/
|
|
107
|
+
refresh_token: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Social user information from Zalo
|
|
111
|
+
*/
|
|
112
|
+
export interface SocialUserInfo {
|
|
113
|
+
/**
|
|
114
|
+
* User ID
|
|
115
|
+
*/
|
|
116
|
+
id: string;
|
|
117
|
+
/**
|
|
118
|
+
* Display name
|
|
119
|
+
*/
|
|
120
|
+
name: string;
|
|
121
|
+
/**
|
|
122
|
+
* Profile picture
|
|
123
|
+
*/
|
|
124
|
+
picture?: {
|
|
125
|
+
data: {
|
|
126
|
+
url: string;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Gender
|
|
131
|
+
*/
|
|
132
|
+
gender?: string;
|
|
133
|
+
/**
|
|
134
|
+
* Birthday
|
|
135
|
+
*/
|
|
136
|
+
birthday?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Location
|
|
139
|
+
*/
|
|
140
|
+
location?: {
|
|
141
|
+
name: string;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Whether the account is sensitive (under 18)
|
|
145
|
+
*/
|
|
146
|
+
is_sensitive?: boolean;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Token validation result
|
|
150
|
+
*/
|
|
151
|
+
export interface TokenValidation {
|
|
152
|
+
/**
|
|
153
|
+
* Whether the token is valid
|
|
154
|
+
*/
|
|
155
|
+
valid: boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Token expiration timestamp
|
|
158
|
+
*/
|
|
159
|
+
expires_at?: number;
|
|
160
|
+
/**
|
|
161
|
+
* Associated user information (if available)
|
|
162
|
+
*/
|
|
163
|
+
user_info?: SocialUserInfo;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Authentication scope for different APIs
|
|
167
|
+
*/
|
|
168
|
+
export declare enum AuthScope {
|
|
169
|
+
/**
|
|
170
|
+
* Official Account API scope
|
|
171
|
+
*/
|
|
172
|
+
OA = "oa",
|
|
173
|
+
/**
|
|
174
|
+
* Social API scope
|
|
175
|
+
*/
|
|
176
|
+
SOCIAL = "social",
|
|
177
|
+
/**
|
|
178
|
+
* ZNS (Zalo Notification Service) scope
|
|
179
|
+
*/
|
|
180
|
+
ZNS = "zns"
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Authentication method
|
|
184
|
+
*/
|
|
185
|
+
export declare enum AuthMethod {
|
|
186
|
+
/**
|
|
187
|
+
* OAuth 2.0 Authorization Code flow
|
|
188
|
+
*/
|
|
189
|
+
AUTHORIZATION_CODE = "authorization_code",
|
|
190
|
+
/**
|
|
191
|
+
* Refresh token flow
|
|
192
|
+
*/
|
|
193
|
+
REFRESH_TOKEN = "refresh_token"
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* PKCE (Proof Key for Code Exchange) configuration
|
|
197
|
+
*/
|
|
198
|
+
export interface PKCEConfig {
|
|
199
|
+
/**
|
|
200
|
+
* Code verifier
|
|
201
|
+
*/
|
|
202
|
+
code_verifier: string;
|
|
203
|
+
/**
|
|
204
|
+
* Code challenge
|
|
205
|
+
*/
|
|
206
|
+
code_challenge: string;
|
|
207
|
+
/**
|
|
208
|
+
* Code challenge method
|
|
209
|
+
*/
|
|
210
|
+
code_challenge_method: 'S256' | 'plain';
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Authentication URLs
|
|
214
|
+
*/
|
|
215
|
+
export interface AuthUrls {
|
|
216
|
+
/**
|
|
217
|
+
* Official Account authorization URL
|
|
218
|
+
*/
|
|
219
|
+
oa_auth_url: string;
|
|
220
|
+
/**
|
|
221
|
+
* Social API authorization URL
|
|
222
|
+
*/
|
|
223
|
+
social_auth_url: string;
|
|
224
|
+
/**
|
|
225
|
+
* Token exchange URL
|
|
226
|
+
*/
|
|
227
|
+
token_url: string;
|
|
228
|
+
/**
|
|
229
|
+
* Token refresh URL
|
|
230
|
+
*/
|
|
231
|
+
refresh_url: string;
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Authentication related types and interfaces
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AuthMethod = exports.AuthScope = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Authentication scope for different APIs
|
|
9
|
+
*/
|
|
10
|
+
var AuthScope;
|
|
11
|
+
(function (AuthScope) {
|
|
12
|
+
/**
|
|
13
|
+
* Official Account API scope
|
|
14
|
+
*/
|
|
15
|
+
AuthScope["OA"] = "oa";
|
|
16
|
+
/**
|
|
17
|
+
* Social API scope
|
|
18
|
+
*/
|
|
19
|
+
AuthScope["SOCIAL"] = "social";
|
|
20
|
+
/**
|
|
21
|
+
* ZNS (Zalo Notification Service) scope
|
|
22
|
+
*/
|
|
23
|
+
AuthScope["ZNS"] = "zns";
|
|
24
|
+
})(AuthScope || (exports.AuthScope = AuthScope = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Authentication method
|
|
27
|
+
*/
|
|
28
|
+
var AuthMethod;
|
|
29
|
+
(function (AuthMethod) {
|
|
30
|
+
/**
|
|
31
|
+
* OAuth 2.0 Authorization Code flow
|
|
32
|
+
*/
|
|
33
|
+
AuthMethod["AUTHORIZATION_CODE"] = "authorization_code";
|
|
34
|
+
/**
|
|
35
|
+
* Refresh token flow
|
|
36
|
+
*/
|
|
37
|
+
AuthMethod["REFRESH_TOKEN"] = "refresh_token";
|
|
38
|
+
})(AuthMethod || (exports.AuthMethod = AuthMethod = {}));
|
|
39
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAiMH;;GAEG;AACH,IAAY,SAeX;AAfD,WAAY,SAAS;IACnB;;OAEG;IACH,sBAAS,CAAA;IAET;;OAEG;IACH,8BAAiB,CAAA;IAEjB;;OAEG;IACH,wBAAW,CAAA;AACb,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB;AAED;;GAEG;AACH,IAAY,UAUX;AAVD,WAAY,UAAU;IACpB;;OAEG;IACH,uDAAyC,CAAA;IAEzC;;OAEG;IACH,6CAA+B,CAAA;AACjC,CAAC,EAVW,UAAU,0BAAV,UAAU,QAUrB"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common types and interfaces for Zalo SDK
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Standard Zalo API response wrapper
|
|
6
|
+
*/
|
|
7
|
+
export interface ZaloResponse<T = any> {
|
|
8
|
+
/**
|
|
9
|
+
* Error code (0 = success)
|
|
10
|
+
*/
|
|
11
|
+
error: number;
|
|
12
|
+
/**
|
|
13
|
+
* Response message
|
|
14
|
+
*/
|
|
15
|
+
message: string;
|
|
16
|
+
/**
|
|
17
|
+
* Response data
|
|
18
|
+
*/
|
|
19
|
+
data?: T;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Zalo API error response
|
|
23
|
+
*/
|
|
24
|
+
export interface ZaloErrorResponse {
|
|
25
|
+
/**
|
|
26
|
+
* Error code
|
|
27
|
+
*/
|
|
28
|
+
error: number;
|
|
29
|
+
/**
|
|
30
|
+
* Error name
|
|
31
|
+
*/
|
|
32
|
+
error_name?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Error reason
|
|
35
|
+
*/
|
|
36
|
+
error_reason?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Error description
|
|
39
|
+
*/
|
|
40
|
+
error_description?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Reference documentation link
|
|
43
|
+
*/
|
|
44
|
+
ref_doc?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Union type for Zalo API responses
|
|
48
|
+
*/
|
|
49
|
+
export type ZaloApiResponse<T> = ZaloResponse<T> | (ZaloErrorResponse & Partial<T>);
|
|
50
|
+
/**
|
|
51
|
+
* SDK Configuration
|
|
52
|
+
*/
|
|
53
|
+
export interface ZaloSDKConfig {
|
|
54
|
+
/**
|
|
55
|
+
* Application ID
|
|
56
|
+
*/
|
|
57
|
+
appId: string;
|
|
58
|
+
/**
|
|
59
|
+
* Application Secret
|
|
60
|
+
*/
|
|
61
|
+
appSecret: string;
|
|
62
|
+
/**
|
|
63
|
+
* API timeout in milliseconds (default: 30000)
|
|
64
|
+
*/
|
|
65
|
+
timeout?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Enable debug logging (default: false)
|
|
68
|
+
*/
|
|
69
|
+
debug?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Custom API base URL (optional)
|
|
72
|
+
*/
|
|
73
|
+
apiBaseUrl?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Retry configuration
|
|
76
|
+
*/
|
|
77
|
+
retry?: {
|
|
78
|
+
/**
|
|
79
|
+
* Number of retry attempts (default: 3)
|
|
80
|
+
*/
|
|
81
|
+
attempts?: number;
|
|
82
|
+
/**
|
|
83
|
+
* Delay between retries in milliseconds (default: 1000)
|
|
84
|
+
*/
|
|
85
|
+
delay?: number;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* HTTP method types
|
|
90
|
+
*/
|
|
91
|
+
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
92
|
+
/**
|
|
93
|
+
* Request configuration
|
|
94
|
+
*/
|
|
95
|
+
export interface RequestConfig {
|
|
96
|
+
/**
|
|
97
|
+
* HTTP method
|
|
98
|
+
*/
|
|
99
|
+
method: HttpMethod;
|
|
100
|
+
/**
|
|
101
|
+
* Request URL
|
|
102
|
+
*/
|
|
103
|
+
url: string;
|
|
104
|
+
/**
|
|
105
|
+
* Request headers
|
|
106
|
+
*/
|
|
107
|
+
headers?: Record<string, string>;
|
|
108
|
+
/**
|
|
109
|
+
* Query parameters
|
|
110
|
+
*/
|
|
111
|
+
params?: Record<string, any>;
|
|
112
|
+
/**
|
|
113
|
+
* Request body data
|
|
114
|
+
*/
|
|
115
|
+
data?: any;
|
|
116
|
+
/**
|
|
117
|
+
* Request timeout
|
|
118
|
+
*/
|
|
119
|
+
timeout?: number;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Pagination parameters
|
|
123
|
+
*/
|
|
124
|
+
export interface PaginationParams {
|
|
125
|
+
/**
|
|
126
|
+
* Offset for pagination
|
|
127
|
+
*/
|
|
128
|
+
offset?: number;
|
|
129
|
+
/**
|
|
130
|
+
* Number of items per page
|
|
131
|
+
*/
|
|
132
|
+
count?: number;
|
|
133
|
+
/**
|
|
134
|
+
* Maximum items per page (default: 50)
|
|
135
|
+
*/
|
|
136
|
+
limit?: number;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Paginated response
|
|
140
|
+
*/
|
|
141
|
+
export interface PaginatedResponse<T> {
|
|
142
|
+
/**
|
|
143
|
+
* Array of items
|
|
144
|
+
*/
|
|
145
|
+
items: T[];
|
|
146
|
+
/**
|
|
147
|
+
* Total number of items
|
|
148
|
+
*/
|
|
149
|
+
total: number;
|
|
150
|
+
/**
|
|
151
|
+
* Current offset
|
|
152
|
+
*/
|
|
153
|
+
offset: number;
|
|
154
|
+
/**
|
|
155
|
+
* Number of items in current page
|
|
156
|
+
*/
|
|
157
|
+
count: number;
|
|
158
|
+
/**
|
|
159
|
+
* Whether there are more items
|
|
160
|
+
*/
|
|
161
|
+
hasMore: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Next offset for pagination
|
|
164
|
+
*/
|
|
165
|
+
nextOffset?: number;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* File upload information
|
|
169
|
+
*/
|
|
170
|
+
export interface FileUpload {
|
|
171
|
+
/**
|
|
172
|
+
* File buffer or stream
|
|
173
|
+
*/
|
|
174
|
+
file: Buffer | NodeJS.ReadableStream;
|
|
175
|
+
/**
|
|
176
|
+
* Original filename
|
|
177
|
+
*/
|
|
178
|
+
filename: string;
|
|
179
|
+
/**
|
|
180
|
+
* MIME type
|
|
181
|
+
*/
|
|
182
|
+
mimetype: string;
|
|
183
|
+
/**
|
|
184
|
+
* File size in bytes
|
|
185
|
+
*/
|
|
186
|
+
size?: number;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Attachment information
|
|
190
|
+
*/
|
|
191
|
+
export interface Attachment {
|
|
192
|
+
/**
|
|
193
|
+
* Attachment ID from Zalo
|
|
194
|
+
*/
|
|
195
|
+
attachment_id: string;
|
|
196
|
+
/**
|
|
197
|
+
* File URL
|
|
198
|
+
*/
|
|
199
|
+
url: string;
|
|
200
|
+
/**
|
|
201
|
+
* File type
|
|
202
|
+
*/
|
|
203
|
+
type?: string;
|
|
204
|
+
/**
|
|
205
|
+
* File size in bytes
|
|
206
|
+
*/
|
|
207
|
+
size?: number;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* SDK Error class
|
|
211
|
+
*/
|
|
212
|
+
export declare class ZaloSDKError extends Error {
|
|
213
|
+
readonly code: number;
|
|
214
|
+
readonly details?: any;
|
|
215
|
+
constructor(message: string, code?: number, details?: any);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Logger interface
|
|
219
|
+
*/
|
|
220
|
+
export interface Logger {
|
|
221
|
+
debug(message: string, ...args: any[]): void;
|
|
222
|
+
info(message: string, ...args: any[]): void;
|
|
223
|
+
warn(message: string, ...args: any[]): void;
|
|
224
|
+
error(message: string, ...args: any[]): void;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Default console logger implementation
|
|
228
|
+
*/
|
|
229
|
+
export declare class ConsoleLogger implements Logger {
|
|
230
|
+
private readonly enableDebug;
|
|
231
|
+
constructor(enableDebug?: boolean);
|
|
232
|
+
debug(message: string, ...args: any[]): void;
|
|
233
|
+
info(message: string, ...args: any[]): void;
|
|
234
|
+
warn(message: string, ...args: any[]): void;
|
|
235
|
+
error(message: string, ...args: any[]): void;
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Common types and interfaces for Zalo SDK
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ConsoleLogger = exports.ZaloSDKError = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* SDK Error class
|
|
9
|
+
*/
|
|
10
|
+
class ZaloSDKError extends Error {
|
|
11
|
+
constructor(message, code = -1, details) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = 'ZaloSDKError';
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.details = details;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ZaloSDKError = ZaloSDKError;
|
|
19
|
+
/**
|
|
20
|
+
* Default console logger implementation
|
|
21
|
+
*/
|
|
22
|
+
class ConsoleLogger {
|
|
23
|
+
constructor(enableDebug = false) {
|
|
24
|
+
this.enableDebug = enableDebug;
|
|
25
|
+
}
|
|
26
|
+
debug(message, ...args) {
|
|
27
|
+
if (this.enableDebug) {
|
|
28
|
+
console.debug(`[ZALO-SDK:DEBUG] ${message}`, ...args);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
info(message, ...args) {
|
|
32
|
+
console.info(`[ZALO-SDK:INFO] ${message}`, ...args);
|
|
33
|
+
}
|
|
34
|
+
warn(message, ...args) {
|
|
35
|
+
console.warn(`[ZALO-SDK:WARN] ${message}`, ...args);
|
|
36
|
+
}
|
|
37
|
+
error(message, ...args) {
|
|
38
|
+
console.error(`[ZALO-SDK:ERROR] ${message}`, ...args);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ConsoleLogger = ConsoleLogger;
|
|
42
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAuPH;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK;IAIrC,YAAY,OAAe,EAAE,OAAe,CAAC,CAAC,EAAE,OAAa;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,oCAUC;AAYD;;GAEG;AACH,MAAa,aAAa;IACxB,YAA6B,cAAuB,KAAK;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAE7D,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;CACF;AApBD,sCAoBC"}
|