@turinhub/tale-js-sdk 1.3.0 → 2.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/README.md +90 -13
- package/dist/acl/index.d.ts +62 -49
- package/dist/acl/index.js +262 -67
- package/dist/acl/types.d.ts +63 -98
- package/dist/app/index.d.ts +10 -0
- package/dist/app/index.js +198 -0
- package/dist/app/types.d.ts +101 -0
- package/dist/app/types.js +1 -0
- package/dist/app-token/index.d.ts +7 -0
- package/dist/app-token/index.js +58 -0
- package/dist/app-token/types.d.ts +25 -0
- package/dist/app-token/types.js +1 -0
- package/dist/attachment/index.d.ts +17 -0
- package/dist/attachment/index.js +247 -0
- package/dist/attachment/types.d.ts +82 -0
- package/dist/attachment/types.js +1 -0
- package/dist/attachment-type/index.d.ts +15 -0
- package/dist/attachment-type/index.js +203 -0
- package/dist/attachment-type/types.d.ts +60 -0
- package/dist/attachment-type/types.js +1 -0
- package/dist/auth/index.d.ts +21 -21
- package/dist/auth/index.js +66 -66
- package/dist/auth/types.d.ts +51 -51
- package/dist/cms/file.d.ts +88 -70
- package/dist/cms/file.js +228 -77
- package/dist/cms/folder.d.ts +9 -9
- package/dist/cms/folder.js +18 -18
- package/dist/cms/types.d.ts +58 -38
- package/dist/common/http.d.ts +17 -0
- package/dist/common/http.js +141 -0
- package/dist/common/types.d.ts +58 -63
- package/dist/index.d.ts +6 -1
- package/dist/index.js +4 -0
- package/dist/rbac/index.d.ts +37 -42
- package/dist/rbac/index.js +96 -98
- package/dist/rbac/types.d.ts +38 -40
- package/dist/status.d.ts +11 -11
- package/dist/status.js +30 -3
- package/dist/task/index.d.ts +15 -147
- package/dist/task/index.js +170 -161
- package/dist/task/types.d.ts +57 -81
- package/dist/task-type/index.d.ts +7 -7
- package/dist/task-type/index.js +12 -12
- package/dist/task-type/types.d.ts +18 -34
- package/dist/token.d.ts +3 -3
- package/dist/token.js +4 -4
- package/dist/user/index.d.ts +28 -29
- package/dist/user/index.js +69 -74
- package/dist/user/types.d.ts +32 -33
- package/dist/user-attribute/index.d.ts +4 -7
- package/dist/user-attribute/index.js +19 -22
- package/dist/user-attribute/types.d.ts +29 -29
- package/dist/user-group/index.d.ts +4 -223
- package/dist/user-group/index.js +61 -479
- package/dist/user-group/types.d.ts +1 -1
- package/package.json +1 -1
package/dist/auth/index.d.ts
CHANGED
|
@@ -35,11 +35,11 @@ export type { LoginRequest, LoginOptions, LoginWithSmsOptions, VerifySmsOptions,
|
|
|
35
35
|
* username: 'johndoe',
|
|
36
36
|
* password: 'secure_password_123'
|
|
37
37
|
* }, {
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
38
|
+
* includeRbac: true, // Include roles and privileges (SDK default: false)
|
|
39
|
+
* includeUserGroups: true, // Include user groups (SDK default: false)
|
|
40
|
+
* includeLoginMethods: true, // Include login methods (SDK default: false)
|
|
41
|
+
* includeAttributes: true, // Include user attributes (SDK default: false)
|
|
42
|
+
* includeAcl: true // Include ACL records (SDK default: false)
|
|
43
43
|
* });
|
|
44
44
|
* ```
|
|
45
45
|
*
|
|
@@ -49,11 +49,11 @@ export type { LoginRequest, LoginOptions, LoginWithSmsOptions, VerifySmsOptions,
|
|
|
49
49
|
* @note By default, all include parameters are set to false for better performance.
|
|
50
50
|
* Explicitly set them to true if you need the additional data.
|
|
51
51
|
*
|
|
52
|
-
* @param options.
|
|
53
|
-
* @param options.
|
|
54
|
-
* @param options.
|
|
55
|
-
* @param options.
|
|
56
|
-
* @param options.
|
|
52
|
+
* @param options.includeRbac Include roles and privileges; default false
|
|
53
|
+
* @param options.includeLoginMethods Include user login methods; default false
|
|
54
|
+
* @param options.includeUserGroups Include user groups; default false
|
|
55
|
+
* @param options.includeAttributes Include user attributes; default false
|
|
56
|
+
* @param options.includeAcl Include ACL records; default false
|
|
57
57
|
*/
|
|
58
58
|
export declare function login(credentials: LoginRequest, options?: LoginOptions): Promise<LoginResponse>;
|
|
59
59
|
/**
|
|
@@ -98,7 +98,7 @@ export declare function validateToken(token: string, options?: {
|
|
|
98
98
|
*
|
|
99
99
|
* try {
|
|
100
100
|
* const result = await loginWithSms('+8613800138000');
|
|
101
|
-
* console.log('SMS sent:', result.
|
|
101
|
+
* console.log('SMS sent:', result.smsId);
|
|
102
102
|
* console.log('Type:', result.type); // 'login' or 'register'
|
|
103
103
|
* } catch (error) {
|
|
104
104
|
* console.error('SMS sending failed:', error.message);
|
|
@@ -109,7 +109,7 @@ export declare function loginWithSms(phone: string, options?: LoginWithSmsOption
|
|
|
109
109
|
/**
|
|
110
110
|
* Verifies SMS code and authenticates user (login or register).
|
|
111
111
|
*
|
|
112
|
-
* @param request - SMS verification request with
|
|
112
|
+
* @param request - SMS verification request with smsId, code, and optional user data
|
|
113
113
|
* @param options - Optional configuration for the request
|
|
114
114
|
* @returns Promise resolving to login response with user info and token
|
|
115
115
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
@@ -122,11 +122,11 @@ export declare function loginWithSms(phone: string, options?: LoginWithSmsOption
|
|
|
122
122
|
*
|
|
123
123
|
* try {
|
|
124
124
|
* const result = await verifySmsCode({
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
125
|
+
* smsId: 'uuid-here',
|
|
126
|
+
* smsType: 'login',
|
|
127
|
+
* verificationCode: '123456'
|
|
128
128
|
* });
|
|
129
|
-
* console.log('Login successful:', result.user.
|
|
129
|
+
* console.log('Login successful:', result.user.userId);
|
|
130
130
|
* console.log('User token:', result.token.token);
|
|
131
131
|
* } catch (error) {
|
|
132
132
|
* console.error('SMS verification failed:', error.message);
|
|
@@ -150,13 +150,13 @@ export declare function verifySmsCode(request: VerifySmsRequest, options?: Verif
|
|
|
150
150
|
*
|
|
151
151
|
* try {
|
|
152
152
|
* const result = await registerWithSms({
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
153
|
+
* smsId: 'uuid-here',
|
|
154
|
+
* smsType: 'register',
|
|
155
|
+
* verificationCode: '123456',
|
|
156
156
|
* username: 'newuser',
|
|
157
|
-
*
|
|
157
|
+
* passwordEncrypted: 'encrypted_password'
|
|
158
158
|
* });
|
|
159
|
-
* console.log('Registration successful:', result.user.
|
|
159
|
+
* console.log('Registration successful:', result.user.userId);
|
|
160
160
|
* console.log('User token:', result.token.token);
|
|
161
161
|
* } catch (error) {
|
|
162
162
|
* console.error('Registration failed:', error.message);
|
package/dist/auth/index.js
CHANGED
|
@@ -35,11 +35,11 @@ import { ApiError, ConfigurationError, NetworkError } from "../errors.js";
|
|
|
35
35
|
* username: 'johndoe',
|
|
36
36
|
* password: 'secure_password_123'
|
|
37
37
|
* }, {
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
38
|
+
* includeRbac: true, // Include roles and privileges (SDK default: false)
|
|
39
|
+
* includeUserGroups: true, // Include user groups (SDK default: false)
|
|
40
|
+
* includeLoginMethods: true, // Include login methods (SDK default: false)
|
|
41
|
+
* includeAttributes: true, // Include user attributes (SDK default: false)
|
|
42
|
+
* includeAcl: true // Include ACL records (SDK default: false)
|
|
43
43
|
* });
|
|
44
44
|
* ```
|
|
45
45
|
*
|
|
@@ -49,11 +49,11 @@ import { ApiError, ConfigurationError, NetworkError } from "../errors.js";
|
|
|
49
49
|
* @note By default, all include parameters are set to false for better performance.
|
|
50
50
|
* Explicitly set them to true if you need the additional data.
|
|
51
51
|
*
|
|
52
|
-
* @param options.
|
|
53
|
-
* @param options.
|
|
54
|
-
* @param options.
|
|
55
|
-
* @param options.
|
|
56
|
-
* @param options.
|
|
52
|
+
* @param options.includeRbac Include roles and privileges; default false
|
|
53
|
+
* @param options.includeLoginMethods Include user login methods; default false
|
|
54
|
+
* @param options.includeUserGroups Include user groups; default false
|
|
55
|
+
* @param options.includeAttributes Include user attributes; default false
|
|
56
|
+
* @param options.includeAcl Include ACL records; default false
|
|
57
57
|
*/
|
|
58
58
|
export async function login(credentials, options) {
|
|
59
59
|
// Validate required fields
|
|
@@ -75,20 +75,20 @@ export async function login(credentials, options) {
|
|
|
75
75
|
throw new ConfigurationError("Missing required environment variable: TALE_APP_KEY");
|
|
76
76
|
}
|
|
77
77
|
// Build URL with query parameters
|
|
78
|
-
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/
|
|
78
|
+
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/v2/login/username-password");
|
|
79
79
|
// Add include parameters as query params (SDK defaults to false)
|
|
80
|
-
url.searchParams.set("
|
|
81
|
-
url.searchParams.set("
|
|
82
|
-
url.searchParams.set("
|
|
83
|
-
url.searchParams.set("
|
|
84
|
-
url.searchParams.set("
|
|
80
|
+
url.searchParams.set("includeRbac", String(options?.includeRbac ?? false));
|
|
81
|
+
url.searchParams.set("includeLoginMethods", String(options?.includeLoginMethods ?? false));
|
|
82
|
+
url.searchParams.set("includeUserGroups", String(options?.includeUserGroups ?? false));
|
|
83
|
+
url.searchParams.set("includeAttributes", String(options?.includeAttributes ?? false));
|
|
84
|
+
url.searchParams.set("includeAcl", String(options?.includeAcl ?? false));
|
|
85
85
|
// Build request body
|
|
86
86
|
const requestBody = {
|
|
87
87
|
username: credentials.username.trim(),
|
|
88
88
|
password: credentials.password,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
appKey: appKey,
|
|
90
|
+
deviceName: options?.deviceName,
|
|
91
|
+
deviceFingerprint: options?.deviceFingerprint,
|
|
92
92
|
scope: options?.scope || "",
|
|
93
93
|
};
|
|
94
94
|
let response;
|
|
@@ -125,7 +125,7 @@ export async function login(credentials, options) {
|
|
|
125
125
|
throw new ApiError("Account is frozen or access forbidden", response.status, "9403");
|
|
126
126
|
}
|
|
127
127
|
if (response.status === 401) {
|
|
128
|
-
throw new ApiError("Invalid
|
|
128
|
+
throw new ApiError("Invalid appKey or authentication failed", response.status, "9401");
|
|
129
129
|
}
|
|
130
130
|
if (!response.ok) {
|
|
131
131
|
const errorMsg = typeof json === "object" &&
|
|
@@ -147,10 +147,10 @@ export async function login(credentials, options) {
|
|
|
147
147
|
app: responseData.app,
|
|
148
148
|
user: responseData.user,
|
|
149
149
|
token: responseData.token,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
userRoles: responseData.userRoles || [],
|
|
151
|
+
userPrivileges: responseData.userPrivileges || [],
|
|
152
|
+
userGroups: responseData.userGroups || [],
|
|
153
|
+
userLoginMethods: responseData.userLoginMethods || [],
|
|
154
154
|
};
|
|
155
155
|
return loginResponse;
|
|
156
156
|
}
|
|
@@ -187,7 +187,7 @@ export async function validateToken(token, options) {
|
|
|
187
187
|
if (!base) {
|
|
188
188
|
throw new ConfigurationError("Missing required environment variable: TALE_BASE_URL");
|
|
189
189
|
}
|
|
190
|
-
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/
|
|
190
|
+
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/v2/assert-token");
|
|
191
191
|
if (options?.scope) {
|
|
192
192
|
url.searchParams.append("scope", options.scope);
|
|
193
193
|
}
|
|
@@ -223,7 +223,7 @@ export async function validateToken(token, options) {
|
|
|
223
223
|
*
|
|
224
224
|
* try {
|
|
225
225
|
* const result = await loginWithSms('+8613800138000');
|
|
226
|
-
* console.log('SMS sent:', result.
|
|
226
|
+
* console.log('SMS sent:', result.smsId);
|
|
227
227
|
* console.log('Type:', result.type); // 'login' or 'register'
|
|
228
228
|
* } catch (error) {
|
|
229
229
|
* console.error('SMS sending failed:', error.message);
|
|
@@ -243,7 +243,7 @@ export async function loginWithSms(phone, options) {
|
|
|
243
243
|
}
|
|
244
244
|
// Use provided app token or get one from token service
|
|
245
245
|
const authToken = options?.appToken ?? (await getAppToken());
|
|
246
|
-
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/
|
|
246
|
+
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/v2/sms/login-or-register");
|
|
247
247
|
url.searchParams.append("phone", phone.trim());
|
|
248
248
|
let response;
|
|
249
249
|
try {
|
|
@@ -289,21 +289,21 @@ export async function loginWithSms(phone, options) {
|
|
|
289
289
|
// Handle response data structure - check if data is wrapped in a 'data' field
|
|
290
290
|
const responseData = json.data || json;
|
|
291
291
|
// Validate response structure
|
|
292
|
-
if (!responseData || !responseData.
|
|
292
|
+
if (!responseData || !responseData.smsId || !responseData.type) {
|
|
293
293
|
throw new ApiError("Invalid SMS response: missing required data", response.status);
|
|
294
294
|
}
|
|
295
295
|
return {
|
|
296
|
-
|
|
296
|
+
appKey: responseData.appKey,
|
|
297
297
|
phone: responseData.phone,
|
|
298
298
|
type: responseData.type,
|
|
299
|
-
|
|
300
|
-
|
|
299
|
+
smsId: responseData.smsId,
|
|
300
|
+
expiredAt: responseData.expiredAt,
|
|
301
301
|
};
|
|
302
302
|
}
|
|
303
303
|
/**
|
|
304
304
|
* Verifies SMS code and authenticates user (login or register).
|
|
305
305
|
*
|
|
306
|
-
* @param request - SMS verification request with
|
|
306
|
+
* @param request - SMS verification request with smsId, code, and optional user data
|
|
307
307
|
* @param options - Optional configuration for the request
|
|
308
308
|
* @returns Promise resolving to login response with user info and token
|
|
309
309
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
@@ -316,11 +316,11 @@ export async function loginWithSms(phone, options) {
|
|
|
316
316
|
*
|
|
317
317
|
* try {
|
|
318
318
|
* const result = await verifySmsCode({
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
*
|
|
319
|
+
* smsId: 'uuid-here',
|
|
320
|
+
* smsType: 'login',
|
|
321
|
+
* verificationCode: '123456'
|
|
322
322
|
* });
|
|
323
|
-
* console.log('Login successful:', result.user.
|
|
323
|
+
* console.log('Login successful:', result.user.userId);
|
|
324
324
|
* console.log('User token:', result.token.token);
|
|
325
325
|
* } catch (error) {
|
|
326
326
|
* console.error('SMS verification failed:', error.message);
|
|
@@ -329,14 +329,14 @@ export async function loginWithSms(phone, options) {
|
|
|
329
329
|
*/
|
|
330
330
|
export async function verifySmsCode(request, options) {
|
|
331
331
|
// Validate required fields
|
|
332
|
-
if (!request.
|
|
333
|
-
throw new ApiError("
|
|
332
|
+
if (!request.smsId || request.smsId.trim() === "") {
|
|
333
|
+
throw new ApiError("smsId is required", 400, "9400");
|
|
334
334
|
}
|
|
335
|
-
if (!request.
|
|
336
|
-
throw new ApiError('
|
|
335
|
+
if (!request.smsType || !["login", "register"].includes(request.smsType)) {
|
|
336
|
+
throw new ApiError('smsType must be "login" or "register"', 400, "9400");
|
|
337
337
|
}
|
|
338
|
-
if (!request.
|
|
339
|
-
throw new ApiError("
|
|
338
|
+
if (!request.verificationCode || request.verificationCode.trim() === "") {
|
|
339
|
+
throw new ApiError("verificationCode is required", 400, "9400");
|
|
340
340
|
}
|
|
341
341
|
// Determine base URL
|
|
342
342
|
const env = globalThis?.process?.env ?? import.meta?.env ?? undefined;
|
|
@@ -346,10 +346,10 @@ export async function verifySmsCode(request, options) {
|
|
|
346
346
|
}
|
|
347
347
|
// Use provided app token or get one from token service
|
|
348
348
|
const authToken = options?.appToken ?? (await getAppToken(options));
|
|
349
|
-
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/
|
|
350
|
-
url.searchParams.append("
|
|
351
|
-
url.searchParams.append("
|
|
352
|
-
url.searchParams.append("
|
|
349
|
+
const url = new URL(String(base).replace(/\/+$/, "") + "/auth/v2/sms/verify");
|
|
350
|
+
url.searchParams.append("smsId", request.smsId.trim());
|
|
351
|
+
url.searchParams.append("smsType", request.smsType);
|
|
352
|
+
url.searchParams.append("verificationCode", request.verificationCode.trim());
|
|
353
353
|
let response;
|
|
354
354
|
try {
|
|
355
355
|
response = await globalThis.fetch(url.toString(), {
|
|
@@ -402,10 +402,10 @@ export async function verifySmsCode(request, options) {
|
|
|
402
402
|
app: responseData.app,
|
|
403
403
|
user: responseData.user,
|
|
404
404
|
token: responseData.token,
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
405
|
+
userRoles: responseData.userRoles || [],
|
|
406
|
+
userPrivileges: responseData.userPrivileges || [],
|
|
407
|
+
userGroups: responseData.userGroups || [],
|
|
408
|
+
userLoginMethods: responseData.userLoginMethods || [],
|
|
409
409
|
};
|
|
410
410
|
return smsLoginResponse;
|
|
411
411
|
}
|
|
@@ -425,13 +425,13 @@ export async function verifySmsCode(request, options) {
|
|
|
425
425
|
*
|
|
426
426
|
* try {
|
|
427
427
|
* const result = await registerWithSms({
|
|
428
|
-
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
428
|
+
* smsId: 'uuid-here',
|
|
429
|
+
* smsType: 'register',
|
|
430
|
+
* verificationCode: '123456',
|
|
431
431
|
* username: 'newuser',
|
|
432
|
-
*
|
|
432
|
+
* passwordEncrypted: 'encrypted_password'
|
|
433
433
|
* });
|
|
434
|
-
* console.log('Registration successful:', result.user.
|
|
434
|
+
* console.log('Registration successful:', result.user.userId);
|
|
435
435
|
* console.log('User token:', result.token.token);
|
|
436
436
|
* } catch (error) {
|
|
437
437
|
* console.error('Registration failed:', error.message);
|
|
@@ -440,8 +440,8 @@ export async function verifySmsCode(request, options) {
|
|
|
440
440
|
*/
|
|
441
441
|
export async function registerWithSms(request, options) {
|
|
442
442
|
// Validate required fields for registration
|
|
443
|
-
if (request.
|
|
444
|
-
throw new ApiError('
|
|
443
|
+
if (request.smsType !== "register") {
|
|
444
|
+
throw new ApiError('smsType must be "register" for registration', 400, "9400");
|
|
445
445
|
}
|
|
446
446
|
// Determine base URL
|
|
447
447
|
const env = globalThis?.process?.env ?? import.meta?.env ?? undefined;
|
|
@@ -451,14 +451,14 @@ export async function registerWithSms(request, options) {
|
|
|
451
451
|
}
|
|
452
452
|
// Use provided app token or get one from token service
|
|
453
453
|
const authToken = options?.appToken ?? (await getAppToken(options));
|
|
454
|
-
const url = String(base).replace(/\/+$/, "") + "/auth/
|
|
454
|
+
const url = String(base).replace(/\/+$/, "") + "/auth/v2/sms/register/verify";
|
|
455
455
|
// Build request body
|
|
456
456
|
const requestBody = {
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
457
|
+
smsId: request.smsId.trim(),
|
|
458
|
+
smsType: request.smsType,
|
|
459
|
+
verificationCode: request.verificationCode.trim(),
|
|
460
460
|
username: request.username?.trim(),
|
|
461
|
-
|
|
461
|
+
passwordEncrypted: request.passwordEncrypted,
|
|
462
462
|
};
|
|
463
463
|
let response;
|
|
464
464
|
try {
|
|
@@ -513,10 +513,10 @@ export async function registerWithSms(request, options) {
|
|
|
513
513
|
app: responseData.app,
|
|
514
514
|
user: responseData.user,
|
|
515
515
|
token: responseData.token,
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
516
|
+
userRoles: responseData.userRoles || [],
|
|
517
|
+
userPrivileges: responseData.userPrivileges || [],
|
|
518
|
+
userGroups: responseData.userGroups || [],
|
|
519
|
+
userLoginMethods: responseData.userLoginMethods || [],
|
|
520
520
|
};
|
|
521
521
|
return registrationResponse;
|
|
522
522
|
}
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -12,38 +12,38 @@ export interface AuthUser extends Omit<User, "remark"> {
|
|
|
12
12
|
export interface UserToken {
|
|
13
13
|
token: string;
|
|
14
14
|
scope: string;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
deviceName?: string;
|
|
16
|
+
deviceFingerprint?: string;
|
|
17
|
+
grantedAt: string;
|
|
18
|
+
expiredAt: string;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Auth role (extends base Role with additional fields)
|
|
22
22
|
*/
|
|
23
23
|
export interface AuthRole extends Role {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
assignedAt: string;
|
|
25
|
+
expiresAt?: string;
|
|
26
|
+
isActive: boolean;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Auth privilege (extends base Privilege with additional fields)
|
|
30
30
|
*/
|
|
31
31
|
export interface AuthPrivilege extends Privilege {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
grantedDirectly: boolean;
|
|
33
|
+
roleId?: string;
|
|
34
|
+
assignedAt: string;
|
|
35
|
+
expiresAt?: string;
|
|
36
|
+
isActive: boolean;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Auth user login method
|
|
40
40
|
*/
|
|
41
41
|
export interface AuthUserLoginMethod {
|
|
42
|
-
|
|
42
|
+
methodType: string;
|
|
43
43
|
identifier: string;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
isActive: boolean;
|
|
45
|
+
createdAt: string;
|
|
46
|
+
lastUsedAt?: string;
|
|
47
47
|
}
|
|
48
48
|
export interface LoginRequest {
|
|
49
49
|
username: string;
|
|
@@ -51,77 +51,77 @@ export interface LoginRequest {
|
|
|
51
51
|
}
|
|
52
52
|
export interface LoginOptions {
|
|
53
53
|
baseUrl?: string;
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
deviceName?: string;
|
|
55
|
+
deviceFingerprint?: string;
|
|
56
56
|
scope?: string;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
includeRbac?: boolean;
|
|
58
|
+
includeLoginMethods?: boolean;
|
|
59
|
+
includeUserGroups?: boolean;
|
|
60
|
+
includeAttributes?: boolean;
|
|
61
|
+
includeAcl?: boolean;
|
|
62
62
|
}
|
|
63
63
|
export interface LoginResponse {
|
|
64
64
|
app: AppInfo;
|
|
65
65
|
user: AuthUser;
|
|
66
66
|
token: UserToken;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
userRoles: AuthRole[];
|
|
68
|
+
userPrivileges: AuthPrivilege[];
|
|
69
|
+
userGroups: UserGroup[];
|
|
70
|
+
userLoginMethods: AuthUserLoginMethod[];
|
|
71
71
|
}
|
|
72
72
|
export interface LoginJson {
|
|
73
73
|
app: AppInfo;
|
|
74
74
|
user: AuthUser;
|
|
75
75
|
token: UserToken;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
userRoles: AuthRole[];
|
|
77
|
+
userPrivileges: AuthPrivilege[];
|
|
78
|
+
userGroups: UserGroup[];
|
|
79
|
+
userLoginMethods: AuthUserLoginMethod[];
|
|
80
80
|
}
|
|
81
81
|
export interface LoginWithSmsOptions {
|
|
82
82
|
appToken?: string;
|
|
83
83
|
}
|
|
84
84
|
export interface VerifySmsOptions extends CommonOptions {
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
deviceName?: string;
|
|
86
|
+
deviceFingerprint?: string;
|
|
87
87
|
scope?: string;
|
|
88
88
|
}
|
|
89
89
|
export interface SendSmsResponse {
|
|
90
|
-
|
|
90
|
+
appKey: string;
|
|
91
91
|
phone: string;
|
|
92
92
|
type: "login" | "register";
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
smsId: string;
|
|
94
|
+
expiredAt: string;
|
|
95
95
|
}
|
|
96
96
|
export interface SendSmsJson {
|
|
97
|
-
|
|
97
|
+
appKey: string;
|
|
98
98
|
phone: string;
|
|
99
99
|
type: "login" | "register";
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
smsId: string;
|
|
101
|
+
expiredAt: string;
|
|
102
102
|
}
|
|
103
103
|
export interface VerifySmsRequest {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
smsId: string;
|
|
105
|
+
smsType: "login" | "register";
|
|
106
|
+
verificationCode: string;
|
|
107
107
|
username?: string;
|
|
108
|
-
|
|
108
|
+
passwordEncrypted?: string;
|
|
109
109
|
}
|
|
110
110
|
export interface SmsLoginResponse {
|
|
111
111
|
app: AppInfo;
|
|
112
112
|
user: AuthUser;
|
|
113
113
|
token: UserToken;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
userRoles: AuthRole[];
|
|
115
|
+
userPrivileges: AuthPrivilege[];
|
|
116
|
+
userGroups: UserGroup[];
|
|
117
|
+
userLoginMethods: AuthUserLoginMethod[];
|
|
118
118
|
}
|
|
119
119
|
export interface SmsLoginJson {
|
|
120
120
|
app: AppInfo;
|
|
121
121
|
user: AuthUser;
|
|
122
122
|
token: UserToken;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
123
|
+
userRoles: AuthRole[];
|
|
124
|
+
userPrivileges: AuthPrivilege[];
|
|
125
|
+
userGroups: UserGroup[];
|
|
126
|
+
userLoginMethods: AuthUserLoginMethod[];
|
|
127
127
|
}
|