tale-js-sdk 0.1.4 → 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/dist/acl/index.d.ts +232 -102
- package/dist/acl/index.js +446 -510
- package/dist/acl/types.d.ts +96 -161
- package/dist/common/types.d.ts +5 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/rbac/index.d.ts +464 -2
- package/dist/rbac/index.js +1123 -2
- package/dist/rbac/types.d.ts +73 -304
- package/dist/user/index.d.ts +2 -2
- package/dist/user/types.d.ts +3 -7
- package/dist/user-attribute/index.d.ts +194 -0
- package/dist/user-attribute/index.js +628 -0
- package/dist/user-attribute/types.d.ts +108 -0
- package/dist/user-attribute/types.js +1 -0
- package/package.json +1 -1
package/dist/acl/index.d.ts
CHANGED
|
@@ -1,170 +1,300 @@
|
|
|
1
|
-
import type { AclRecord, CreateAclRecordRequest, UpdateAclRecordRequest, ListAclRecordsRequest,
|
|
1
|
+
import type { AclRecord, CreateAclRecordRequest, UpdateAclRecordRequest, ListAclRecordsRequest, AclBatchCreateResponse, AclTemplate, CreateAclTemplateRequest, UpdateAclTemplateRequest, ListAclTemplatesRequest, AclOptions } from "./types.js";
|
|
2
|
+
export type { AclRecord, CreateAclRecordRequest, UpdateAclRecordRequest, ListAclRecordsRequest, AclBatchCreateResponse, AclTemplate, CreateAclTemplateRequest, UpdateAclTemplateRequest, ListAclTemplatesRequest, AclOptions, };
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
+
* Gets an ACL record by ID.
|
|
4
5
|
*
|
|
5
|
-
* @param
|
|
6
|
-
* @param options - Optional configuration
|
|
7
|
-
* @returns Promise resolving to
|
|
6
|
+
* @param recordId - Record ID
|
|
7
|
+
* @param options - Optional configuration
|
|
8
|
+
* @returns Promise resolving to ACL record information
|
|
8
9
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
9
|
-
* @throws {ApiError} When API request fails
|
|
10
|
+
* @throws {ApiError} When API request fails
|
|
10
11
|
* @throws {NetworkError} When network request fails
|
|
11
12
|
*
|
|
12
13
|
* @example
|
|
13
14
|
* ```typescript
|
|
14
|
-
* import {
|
|
15
|
+
* import { getAclRecord } from '@tale/client';
|
|
15
16
|
*
|
|
16
17
|
* try {
|
|
17
|
-
* const
|
|
18
|
-
*
|
|
19
|
-
* subject_type: 'user',
|
|
20
|
-
* subject_id: 'user_123',
|
|
21
|
-
* resource_type: 'document',
|
|
22
|
-
* resource_id: 'doc_456',
|
|
23
|
-
* effect_type: 'allow',
|
|
24
|
-
* priority: 50,
|
|
25
|
-
* description: 'Allow user to read document'
|
|
26
|
-
* });
|
|
27
|
-
* console.log('ACL record created:', result.record.record_id);
|
|
18
|
+
* const record = await getAclRecord('record_id_here');
|
|
19
|
+
* console.log('Record effect:', record.effect_type);
|
|
28
20
|
* } catch (error) {
|
|
29
|
-
* console.error('Failed to
|
|
21
|
+
* console.error('Failed to get ACL record:', error.message);
|
|
30
22
|
* }
|
|
31
23
|
* ```
|
|
32
24
|
*/
|
|
33
|
-
export declare function
|
|
25
|
+
export declare function getAclRecord(recordId: string, options?: AclOptions): Promise<AclRecord>;
|
|
34
26
|
/**
|
|
35
|
-
*
|
|
27
|
+
* Lists ACL records with pagination and optional filtering.
|
|
36
28
|
*
|
|
37
|
-
* @param
|
|
38
|
-
* @
|
|
39
|
-
* @param options - Optional configuration for the request
|
|
40
|
-
* @returns Promise resolving to the updated ACL record information
|
|
29
|
+
* @param options - Optional parameters for pagination and filtering
|
|
30
|
+
* @returns Promise resolving to paginated ACL record list
|
|
41
31
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
42
|
-
* @throws {ApiError} When API request fails
|
|
32
|
+
* @throws {ApiError} When API request fails
|
|
43
33
|
* @throws {NetworkError} When network request fails
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* import { listAclRecords } from '@tale/client';
|
|
38
|
+
*
|
|
39
|
+
* try {
|
|
40
|
+
* const result = await listAclRecords({
|
|
41
|
+
* page: 0,
|
|
42
|
+
* size: 20,
|
|
43
|
+
* resource_type: 'document'
|
|
44
|
+
* });
|
|
45
|
+
* console.log(`Found ${result.totalElements} records`);
|
|
46
|
+
* } catch (error) {
|
|
47
|
+
* console.error('Failed to list ACL records:', error.message);
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
44
50
|
*/
|
|
45
|
-
export declare function
|
|
51
|
+
export declare function listAclRecords(options?: ListAclRecordsRequest & AclOptions): Promise<{
|
|
52
|
+
content: AclRecord[];
|
|
53
|
+
totalElements: number;
|
|
54
|
+
}>;
|
|
46
55
|
/**
|
|
47
|
-
*
|
|
56
|
+
* Creates a new ACL record.
|
|
48
57
|
*
|
|
49
|
-
* @param
|
|
50
|
-
* @param options - Optional configuration
|
|
51
|
-
* @returns Promise resolving to
|
|
58
|
+
* @param request - ACL record creation request
|
|
59
|
+
* @param options - Optional configuration
|
|
60
|
+
* @returns Promise resolving to created ACL record
|
|
52
61
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
53
|
-
* @throws {ApiError} When API request fails
|
|
62
|
+
* @throws {ApiError} When API request fails
|
|
54
63
|
* @throws {NetworkError} When network request fails
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* import { createAclRecord } from '@tale/client';
|
|
68
|
+
*
|
|
69
|
+
* try {
|
|
70
|
+
* const record = await createAclRecord({
|
|
71
|
+
* subject_type: 'user',
|
|
72
|
+
* subject_id: 'user123',
|
|
73
|
+
* resource_type: 'document',
|
|
74
|
+
* resource_id: 'doc456',
|
|
75
|
+
* effect_type: 'allow'
|
|
76
|
+
* });
|
|
77
|
+
* console.log('Record created:', record.record_id);
|
|
78
|
+
* } catch (error) {
|
|
79
|
+
* console.error('Failed to create ACL record:', error.message);
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
55
82
|
*/
|
|
56
|
-
export declare function
|
|
83
|
+
export declare function createAclRecord(request: CreateAclRecordRequest, options?: AclOptions): Promise<AclRecord>;
|
|
57
84
|
/**
|
|
58
|
-
*
|
|
85
|
+
* Batch creates ACL records.
|
|
59
86
|
*
|
|
60
|
-
* @param
|
|
61
|
-
* @param options - Optional configuration
|
|
62
|
-
* @returns Promise resolving to
|
|
87
|
+
* @param requests - Array of ACL record creation requests
|
|
88
|
+
* @param options - Optional configuration
|
|
89
|
+
* @returns Promise resolving to batch creation response with success/failure details
|
|
63
90
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
64
|
-
* @throws {ApiError} When API request fails
|
|
91
|
+
* @throws {ApiError} When API request fails
|
|
65
92
|
* @throws {NetworkError} When network request fails
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* import { batchCreateAclRecords } from '@tale/client';
|
|
97
|
+
*
|
|
98
|
+
* try {
|
|
99
|
+
* const result = await batchCreateAclRecords([
|
|
100
|
+
* {
|
|
101
|
+
* subject_type: 'user',
|
|
102
|
+
* subject_id: 'user1',
|
|
103
|
+
* resource_type: 'document',
|
|
104
|
+
* effect_type: 'allow'
|
|
105
|
+
* },
|
|
106
|
+
* {
|
|
107
|
+
* subject_type: 'user',
|
|
108
|
+
* subject_id: 'user2',
|
|
109
|
+
* resource_type: 'document',
|
|
110
|
+
* effect_type: 'deny'
|
|
111
|
+
* }
|
|
112
|
+
* ]);
|
|
113
|
+
* console.log(`Created ${result.success_count}, Failed ${result.failure_count}`);
|
|
114
|
+
* } catch (error) {
|
|
115
|
+
* console.error('Failed to batch create ACL records:', error.message);
|
|
116
|
+
* }
|
|
117
|
+
* ```
|
|
66
118
|
*/
|
|
67
|
-
export declare function
|
|
119
|
+
export declare function batchCreateAclRecords(requests: CreateAclRecordRequest[], options?: AclOptions): Promise<AclBatchCreateResponse>;
|
|
68
120
|
/**
|
|
69
|
-
*
|
|
121
|
+
* Updates an existing ACL record.
|
|
70
122
|
*
|
|
71
|
-
* @param
|
|
72
|
-
* @
|
|
123
|
+
* @param recordId - Record ID to update
|
|
124
|
+
* @param request - Update request with fields to modify
|
|
125
|
+
* @param options - Optional configuration
|
|
126
|
+
* @returns Promise resolving to updated ACL record
|
|
73
127
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
74
|
-
* @throws {ApiError} When API request fails
|
|
128
|
+
* @throws {ApiError} When API request fails
|
|
75
129
|
* @throws {NetworkError} When network request fails
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* import { updateAclRecord } from '@tale/client';
|
|
134
|
+
*
|
|
135
|
+
* try {
|
|
136
|
+
* const record = await updateAclRecord('record_id_here', {
|
|
137
|
+
* effect_type: 'deny',
|
|
138
|
+
* priority: 100
|
|
139
|
+
* });
|
|
140
|
+
* console.log('Record updated:', record.record_id);
|
|
141
|
+
* } catch (error) {
|
|
142
|
+
* console.error('Failed to update ACL record:', error.message);
|
|
143
|
+
* }
|
|
144
|
+
* ```
|
|
76
145
|
*/
|
|
77
|
-
export declare function
|
|
146
|
+
export declare function updateAclRecord(recordId: string, request: UpdateAclRecordRequest, options?: AclOptions): Promise<AclRecord>;
|
|
78
147
|
/**
|
|
79
|
-
*
|
|
148
|
+
* Deletes an ACL record.
|
|
80
149
|
*
|
|
81
|
-
* @param
|
|
82
|
-
* @param options - Optional configuration
|
|
83
|
-
* @returns Promise
|
|
150
|
+
* @param recordId - Record ID to delete
|
|
151
|
+
* @param options - Optional configuration
|
|
152
|
+
* @returns Promise that resolves when deletion is successful
|
|
84
153
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
85
|
-
* @throws {ApiError} When API request fails
|
|
154
|
+
* @throws {ApiError} When API request fails
|
|
86
155
|
* @throws {NetworkError} When network request fails
|
|
87
156
|
*
|
|
88
157
|
* @example
|
|
89
158
|
* ```typescript
|
|
90
|
-
* import {
|
|
159
|
+
* import { deleteAclRecord } from '@tale/client';
|
|
91
160
|
*
|
|
92
161
|
* try {
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* template_code: 'user_doc_read',
|
|
96
|
-
* subject_type: 'user',
|
|
97
|
-
* resource_type: 'document',
|
|
98
|
-
* effect_type: 'allow',
|
|
99
|
-
* default_priority: 30,
|
|
100
|
-
* description: 'Template for allowing users to read documents'
|
|
101
|
-
* });
|
|
102
|
-
* console.log('ACL template created:', result.template.template_id);
|
|
162
|
+
* await deleteAclRecord('record_id_here');
|
|
163
|
+
* console.log('ACL record deleted successfully');
|
|
103
164
|
* } catch (error) {
|
|
104
|
-
* console.error('Failed to
|
|
165
|
+
* console.error('Failed to delete ACL record:', error.message);
|
|
105
166
|
* }
|
|
106
167
|
* ```
|
|
107
168
|
*/
|
|
108
|
-
export declare function
|
|
169
|
+
export declare function deleteAclRecord(recordId: string, options?: AclOptions): Promise<void>;
|
|
109
170
|
/**
|
|
110
|
-
*
|
|
171
|
+
* Gets an ACL template by ID or code.
|
|
111
172
|
*
|
|
112
|
-
* @param templateId -
|
|
113
|
-
* @param
|
|
114
|
-
* @
|
|
115
|
-
* @returns Promise resolving to the updated ACL template information
|
|
173
|
+
* @param templateId - Template ID or code
|
|
174
|
+
* @param options - Optional configuration
|
|
175
|
+
* @returns Promise resolving to ACL template information
|
|
116
176
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
117
|
-
* @throws {ApiError} When API request fails
|
|
177
|
+
* @throws {ApiError} When API request fails
|
|
118
178
|
* @throws {NetworkError} When network request fails
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* import { getAclTemplate } from '@tale/client';
|
|
183
|
+
*
|
|
184
|
+
* try {
|
|
185
|
+
* const template = await getAclTemplate('template_code_here');
|
|
186
|
+
* console.log('Template name:', template.template_name);
|
|
187
|
+
* } catch (error) {
|
|
188
|
+
* console.error('Failed to get ACL template:', error.message);
|
|
189
|
+
* }
|
|
190
|
+
* ```
|
|
119
191
|
*/
|
|
120
|
-
export declare function
|
|
192
|
+
export declare function getAclTemplate(templateId: string, options?: AclOptions): Promise<AclTemplate>;
|
|
121
193
|
/**
|
|
122
|
-
*
|
|
194
|
+
* Lists ACL templates with pagination and optional filtering.
|
|
123
195
|
*
|
|
124
|
-
* @param
|
|
125
|
-
* @
|
|
126
|
-
* @returns Promise resolving to the deletion result
|
|
196
|
+
* @param options - Optional parameters for pagination and filtering
|
|
197
|
+
* @returns Promise resolving to paginated ACL template list
|
|
127
198
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
128
|
-
* @throws {ApiError} When API request fails
|
|
199
|
+
* @throws {ApiError} When API request fails
|
|
129
200
|
* @throws {NetworkError} When network request fails
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* import { listAclTemplates } from '@tale/client';
|
|
205
|
+
*
|
|
206
|
+
* try {
|
|
207
|
+
* const result = await listAclTemplates({
|
|
208
|
+
* page: 0,
|
|
209
|
+
* size: 20,
|
|
210
|
+
* resource_type: 'document'
|
|
211
|
+
* });
|
|
212
|
+
* console.log(`Found ${result.totalElements} templates`);
|
|
213
|
+
* } catch (error) {
|
|
214
|
+
* console.error('Failed to list ACL templates:', error.message);
|
|
215
|
+
* }
|
|
216
|
+
* ```
|
|
130
217
|
*/
|
|
131
|
-
export declare function
|
|
218
|
+
export declare function listAclTemplates(options?: ListAclTemplatesRequest & AclOptions): Promise<{
|
|
219
|
+
content: AclTemplate[];
|
|
220
|
+
totalElements: number;
|
|
221
|
+
}>;
|
|
132
222
|
/**
|
|
133
|
-
*
|
|
223
|
+
* Creates a new ACL template.
|
|
134
224
|
*
|
|
135
|
-
* @param
|
|
136
|
-
* @param options - Optional configuration
|
|
137
|
-
* @returns Promise resolving to
|
|
225
|
+
* @param request - ACL template creation request
|
|
226
|
+
* @param options - Optional configuration
|
|
227
|
+
* @returns Promise resolving to created ACL template
|
|
138
228
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
139
|
-
* @throws {ApiError} When API request fails
|
|
229
|
+
* @throws {ApiError} When API request fails
|
|
140
230
|
* @throws {NetworkError} When network request fails
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ```typescript
|
|
234
|
+
* import { createAclTemplate } from '@tale/client';
|
|
235
|
+
*
|
|
236
|
+
* try {
|
|
237
|
+
* const template = await createAclTemplate({
|
|
238
|
+
* template_name: 'Document Access',
|
|
239
|
+
* template_code: 'doc_access',
|
|
240
|
+
* subject_type: 'user',
|
|
241
|
+
* resource_type: 'document',
|
|
242
|
+
* effect_type: 'allow'
|
|
243
|
+
* });
|
|
244
|
+
* console.log('Template created:', template.template_id);
|
|
245
|
+
* } catch (error) {
|
|
246
|
+
* console.error('Failed to create ACL template:', error.message);
|
|
247
|
+
* }
|
|
248
|
+
* ```
|
|
141
249
|
*/
|
|
142
|
-
export declare function
|
|
250
|
+
export declare function createAclTemplate(request: CreateAclTemplateRequest, options?: AclOptions): Promise<AclTemplate>;
|
|
143
251
|
/**
|
|
144
|
-
*
|
|
252
|
+
* Updates an existing ACL template.
|
|
145
253
|
*
|
|
146
|
-
* @param
|
|
147
|
-
* @
|
|
254
|
+
* @param templateId - Template ID or code to update
|
|
255
|
+
* @param request - Update request with fields to modify
|
|
256
|
+
* @param options - Optional configuration
|
|
257
|
+
* @returns Promise resolving to updated ACL template
|
|
148
258
|
* @throws {ConfigurationError} When required environment variables are missing
|
|
149
|
-
* @throws {ApiError} When API request fails
|
|
259
|
+
* @throws {ApiError} When API request fails
|
|
150
260
|
* @throws {NetworkError} When network request fails
|
|
261
|
+
*
|
|
262
|
+
* @example
|
|
263
|
+
* ```typescript
|
|
264
|
+
* import { updateAclTemplate } from '@tale/client';
|
|
265
|
+
*
|
|
266
|
+
* try {
|
|
267
|
+
* const template = await updateAclTemplate('template_code_here', {
|
|
268
|
+
* template_name: 'Updated Template Name',
|
|
269
|
+
* effect_type: 'deny'
|
|
270
|
+
* });
|
|
271
|
+
* console.log('Template updated:', template.template_id);
|
|
272
|
+
* } catch (error) {
|
|
273
|
+
* console.error('Failed to update ACL template:', error.message);
|
|
274
|
+
* }
|
|
275
|
+
* ```
|
|
151
276
|
*/
|
|
152
|
-
export declare function
|
|
153
|
-
export type { PaginatedResponse, AclOptions, AclRecord, CreateAclRecordRequest, UpdateAclRecordRequest, ListAclRecordsRequest, CreateAclRecordResponse, UpdateAclRecordResponse, DeleteAclRecordResponse, GetAclRecordResponse, AclTemplate, CreateAclTemplateRequest, UpdateAclTemplateRequest, ListAclTemplatesRequest, CreateAclTemplateResponse, UpdateAclTemplateResponse, DeleteAclTemplateResponse, GetAclTemplateResponse } from './types.js';
|
|
277
|
+
export declare function updateAclTemplate(templateId: string, request: UpdateAclTemplateRequest, options?: AclOptions): Promise<AclTemplate>;
|
|
154
278
|
/**
|
|
155
|
-
* ACL
|
|
279
|
+
* Deletes an ACL template.
|
|
280
|
+
*
|
|
281
|
+
* @param templateId - Template ID or code to delete
|
|
282
|
+
* @param options - Optional configuration
|
|
283
|
+
* @returns Promise that resolves when deletion is successful
|
|
284
|
+
* @throws {ConfigurationError} When required environment variables are missing
|
|
285
|
+
* @throws {ApiError} When API request fails
|
|
286
|
+
* @throws {NetworkError} When network request fails
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```typescript
|
|
290
|
+
* import { deleteAclTemplate } from '@tale/client';
|
|
291
|
+
*
|
|
292
|
+
* try {
|
|
293
|
+
* await deleteAclTemplate('template_code_here');
|
|
294
|
+
* console.log('ACL template deleted successfully');
|
|
295
|
+
* } catch (error) {
|
|
296
|
+
* console.error('Failed to delete ACL template:', error.message);
|
|
297
|
+
* }
|
|
298
|
+
* ```
|
|
156
299
|
*/
|
|
157
|
-
export declare
|
|
158
|
-
/**
|
|
159
|
-
* 验证优先级范围
|
|
160
|
-
*/
|
|
161
|
-
validatePriority(priority: number): boolean;
|
|
162
|
-
/**
|
|
163
|
-
* 获取可用的效果类型
|
|
164
|
-
*/
|
|
165
|
-
getEffectTypes(): ("allow" | "deny" | "inherit")[];
|
|
166
|
-
/**
|
|
167
|
-
* 获取可用的主体类型
|
|
168
|
-
*/
|
|
169
|
-
getSubjectTypes(): ("user" | "role" | "group")[];
|
|
170
|
-
};
|
|
300
|
+
export declare function deleteAclTemplate(templateId: string, options?: AclOptions): Promise<void>;
|