tale-js-sdk 0.1.4 → 1.0.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.
@@ -1,2 +1,464 @@
1
- export * as rbac from './rbac.js';
2
- export type { CreateRoleRequest, UpdateRoleRequest, ListRolesRequest, CreateRoleResponse, UpdateRoleResponse, DeleteRoleResponse, GetRoleResponse, CreatePrivilegeRequest, UpdatePrivilegeRequest, ListPrivilegesRequest, CreatePrivilegeResponse, UpdatePrivilegeResponse, DeletePrivilegeResponse, GetPrivilegeResponse, RoleAssignment, PrivilegeAssignment, UserRoleAssignmentRequest, UserPrivilegeAssignmentRequest, RolePrivilegeAssignmentRequest, UserRoleUnassignmentRequest, UserPrivilegeUnassignmentRequest, RolePrivilegeUnassignmentRequest, AssignRolesResponse, UnassignRolesResponse, AssignPrivilegesResponse, UnassignPrivilegesResponse, GetUserRolesResponse, GetUserPrivilegesResponse, PrivilegeRolePair, ResourcePermissionCheck, GetResourcePrivilegeRolesResponse, RBACOptions } from './types.js';
1
+ import type { Role, Privilege, CreateRoleRequest, UpdateRoleRequest, CreatePrivilegeRequest, UpdatePrivilegeRequest, UserRoleAssignmentRequest, UserRoleUnassignmentRequest, UserPrivilegeAssignmentRequest, UserPrivilegeUnassignmentRequest, RolePrivilegeAssignmentRequest, RolePrivilegeUnassignmentRequest, RbacOptions, ListRolesRequest, ListPrivilegesRequest, PrivilegeRolePair } from "./types.js";
2
+ export type { Role, Privilege, CreateRoleRequest, UpdateRoleRequest, CreatePrivilegeRequest, UpdatePrivilegeRequest, UserRoleAssignmentRequest, UserRoleUnassignmentRequest, UserPrivilegeAssignmentRequest, UserPrivilegeUnassignmentRequest, RolePrivilegeAssignmentRequest, RolePrivilegeUnassignmentRequest, RbacOptions, ListRolesRequest, ListPrivilegesRequest, PrivilegeRolePair, };
3
+ /**
4
+ * Gets a role by ID.
5
+ *
6
+ * @param roleId - Role ID
7
+ * @param options - Optional configuration
8
+ * @returns Promise resolving to role information
9
+ * @throws {ConfigurationError} When required environment variables are missing
10
+ * @throws {ApiError} When API request fails
11
+ * @throws {NetworkError} When network request fails
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { getRole } from '@tale/client';
16
+ *
17
+ * try {
18
+ * const role = await getRole('role_id_here');
19
+ * console.log('Role name:', role.role_name);
20
+ * } catch (error) {
21
+ * console.error('Failed to get role:', error.message);
22
+ * }
23
+ * ```
24
+ */
25
+ export declare function getRole(roleId: string, options?: RbacOptions): Promise<Role>;
26
+ /**
27
+ * Lists roles with pagination and optional filtering.
28
+ *
29
+ * @param options - Optional parameters for pagination and filtering
30
+ * @returns Promise resolving to paginated role list
31
+ * @throws {ConfigurationError} When required environment variables are missing
32
+ * @throws {ApiError} When API request fails
33
+ * @throws {NetworkError} When network request fails
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { listRoles } from '@tale/client';
38
+ *
39
+ * try {
40
+ * const result = await listRoles({
41
+ * page: 0,
42
+ * size: 20,
43
+ * role_type: 'admin'
44
+ * });
45
+ * console.log(`Found ${result.totalElements} roles`);
46
+ * } catch (error) {
47
+ * console.error('Failed to list roles:', error.message);
48
+ * }
49
+ * ```
50
+ */
51
+ export declare function listRoles(options?: ListRolesRequest & RbacOptions): Promise<{
52
+ content: Role[];
53
+ totalElements: number;
54
+ }>;
55
+ /**
56
+ * Creates a new role.
57
+ *
58
+ * @param request - Role creation request
59
+ * @param options - Optional configuration
60
+ * @returns Promise resolving to created role
61
+ * @throws {ConfigurationError} When required environment variables are missing
62
+ * @throws {ApiError} When API request fails
63
+ * @throws {NetworkError} When network request fails
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * import { createRole } from '@tale/client';
68
+ *
69
+ * try {
70
+ * const role = await createRole({
71
+ * roleName: 'Administrator',
72
+ * role_type: 'admin',
73
+ * privilege_ids: ['priv1', 'priv2']
74
+ * });
75
+ * console.log('Role created:', role.role_id);
76
+ * } catch (error) {
77
+ * console.error('Failed to create role:', error.message);
78
+ * }
79
+ * ```
80
+ */
81
+ export declare function createRole(request: CreateRoleRequest, options?: RbacOptions): Promise<Role>;
82
+ /**
83
+ * Updates an existing role.
84
+ *
85
+ * @param roleId - Role ID to update
86
+ * @param request - Update request with fields to modify
87
+ * @param options - Optional configuration
88
+ * @returns Promise resolving to updated role
89
+ * @throws {ConfigurationError} When required environment variables are missing
90
+ * @throws {ApiError} When API request fails
91
+ * @throws {NetworkError} When network request fails
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * import { updateRole } from '@tale/client';
96
+ *
97
+ * try {
98
+ * const role = await updateRole('role_id_here', {
99
+ * roleName: 'Updated Role Name',
100
+ * remark: 'Updated description'
101
+ * });
102
+ * console.log('Role updated:', role.role_name);
103
+ * } catch (error) {
104
+ * console.error('Failed to update role:', error.message);
105
+ * }
106
+ * ```
107
+ */
108
+ export declare function updateRole(roleId: string, request: UpdateRoleRequest, options?: RbacOptions): Promise<Role>;
109
+ /**
110
+ * Deletes a role.
111
+ *
112
+ * @param roleId - Role ID to delete
113
+ * @param options - Optional configuration
114
+ * @returns Promise that resolves when deletion is successful
115
+ * @throws {ConfigurationError} When required environment variables are missing
116
+ * @throws {ApiError} When API request fails
117
+ * @throws {NetworkError} When network request fails
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * import { deleteRole } from '@tale/client';
122
+ *
123
+ * try {
124
+ * await deleteRole('role_id_here');
125
+ * console.log('Role deleted successfully');
126
+ * } catch (error) {
127
+ * console.error('Failed to delete role:', error.message);
128
+ * }
129
+ * ```
130
+ */
131
+ export declare function deleteRole(roleId: string, options?: RbacOptions): Promise<void>;
132
+ /**
133
+ * Gets a privilege by ID.
134
+ *
135
+ * @param privilegeId - Privilege ID
136
+ * @param options - Optional configuration
137
+ * @returns Promise resolving to privilege information
138
+ * @throws {ConfigurationError} When required environment variables are missing
139
+ * @throws {ApiError} When API request fails
140
+ * @throws {NetworkError} When network request fails
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * import { getPrivilege } from '@tale/client';
145
+ *
146
+ * try {
147
+ * const privilege = await getPrivilege('privilege_id_here');
148
+ * console.log('Privilege name:', privilege.privilege_name);
149
+ * } catch (error) {
150
+ * console.error('Failed to get privilege:', error.message);
151
+ * }
152
+ * ```
153
+ */
154
+ export declare function getPrivilege(privilegeId: string, options?: RbacOptions): Promise<Privilege>;
155
+ /**
156
+ * Lists privileges with pagination and optional filtering.
157
+ *
158
+ * @param options - Optional parameters for pagination and filtering
159
+ * @returns Promise resolving to paginated privilege list
160
+ * @throws {ConfigurationError} When required environment variables are missing
161
+ * @throws {ApiError} When API request fails
162
+ * @throws {NetworkError} When network request fails
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * import { listPrivileges } from '@tale/client';
167
+ *
168
+ * try {
169
+ * const result = await listPrivileges({
170
+ * page: 0,
171
+ * size: 20,
172
+ * privilege_type: 'read'
173
+ * });
174
+ * console.log(`Found ${result.totalElements} privileges`);
175
+ * } catch (error) {
176
+ * console.error('Failed to list privileges:', error.message);
177
+ * }
178
+ * ```
179
+ */
180
+ export declare function listPrivileges(options?: ListPrivilegesRequest & RbacOptions): Promise<{
181
+ content: Privilege[];
182
+ totalElements: number;
183
+ }>;
184
+ /**
185
+ * Creates a new privilege.
186
+ *
187
+ * @param request - Privilege creation request
188
+ * @param options - Optional configuration
189
+ * @returns Promise resolving to created privilege
190
+ * @throws {ConfigurationError} When required environment variables are missing
191
+ * @throws {ApiError} When API request fails
192
+ * @throws {NetworkError} When network request fails
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * import { createPrivilege } from '@tale/client';
197
+ *
198
+ * try {
199
+ * const privilege = await createPrivilege({
200
+ * privilegeName: 'read_posts',
201
+ * privilege_type: 'read',
202
+ * resourceIds: ['posts']
203
+ * });
204
+ * console.log('Privilege created:', privilege.privilege_id);
205
+ * } catch (error) {
206
+ * console.error('Failed to create privilege:', error.message);
207
+ * }
208
+ * ```
209
+ */
210
+ export declare function createPrivilege(request: CreatePrivilegeRequest, options?: RbacOptions): Promise<Privilege>;
211
+ /**
212
+ * Updates an existing privilege.
213
+ *
214
+ * @param privilegeId - Privilege ID to update
215
+ * @param request - Update request with fields to modify
216
+ * @param options - Optional configuration
217
+ * @returns Promise resolving to updated privilege
218
+ * @throws {ConfigurationError} When required environment variables are missing
219
+ * @throws {ApiError} When API request fails
220
+ * @throws {NetworkError} When network request fails
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * import { updatePrivilege } from '@tale/client';
225
+ *
226
+ * try {
227
+ * const privilege = await updatePrivilege('privilege_id_here', {
228
+ * privilegeName: 'updated_name',
229
+ * remark: 'Updated description'
230
+ * });
231
+ * console.log('Privilege updated:', privilege.privilege_name);
232
+ * } catch (error) {
233
+ * console.error('Failed to update privilege:', error.message);
234
+ * }
235
+ * ```
236
+ */
237
+ export declare function updatePrivilege(privilegeId: string, request: UpdatePrivilegeRequest, options?: RbacOptions): Promise<Privilege>;
238
+ /**
239
+ * Deletes a privilege.
240
+ *
241
+ * @param privilegeId - Privilege ID to delete
242
+ * @param options - Optional configuration
243
+ * @returns Promise that resolves when deletion is successful
244
+ * @throws {ConfigurationError} When required environment variables are missing
245
+ * @throws {ApiError} When API request fails
246
+ * @throws {NetworkError} When network request fails
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * import { deletePrivilege } from '@tale/client';
251
+ *
252
+ * try {
253
+ * await deletePrivilege('privilege_id_here');
254
+ * console.log('Privilege deleted successfully');
255
+ * } catch (error) {
256
+ * console.error('Failed to delete privilege:', error.message);
257
+ * }
258
+ * ```
259
+ */
260
+ export declare function deletePrivilege(privilegeId: string, options?: RbacOptions): Promise<void>;
261
+ /**
262
+ * Gets roles assigned to a user.
263
+ *
264
+ * @param userId - User ID
265
+ * @param options - Optional configuration
266
+ * @returns Promise resolving to list of user roles
267
+ * @throws {ConfigurationError} When required environment variables are missing
268
+ * @throws {ApiError} When API request fails
269
+ * @throws {NetworkError} When network request fails
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * import { getUserRoles } from '@tale/client';
274
+ *
275
+ * try {
276
+ * const roles = await getUserRoles('user_id_here');
277
+ * console.log(`User has ${roles.length} roles`);
278
+ * roles.forEach(role => console.log('-', role.role_name));
279
+ * } catch (error) {
280
+ * console.error('Failed to get user roles:', error.message);
281
+ * }
282
+ * ```
283
+ */
284
+ export declare function getUserRoles(userId: string, options?: RbacOptions): Promise<Role[]>;
285
+ /**
286
+ * Assigns roles to a user.
287
+ *
288
+ * @param userId - User ID
289
+ * @param request - Request containing role IDs to assign
290
+ * @param options - Optional configuration
291
+ * @returns Promise resolving to list of assigned roles
292
+ * @throws {ConfigurationError} When required environment variables are missing
293
+ * @throws {ApiError} When API request fails
294
+ * @throws {NetworkError} When network request fails
295
+ *
296
+ * @example
297
+ * ```typescript
298
+ * import { assignRolesToUser } from '@tale/client';
299
+ *
300
+ * try {
301
+ * const roles = await assignRolesToUser('user_id_here', {
302
+ * role_ids: ['role1', 'role2']
303
+ * });
304
+ * console.log('Roles assigned successfully');
305
+ * } catch (error) {
306
+ * console.error('Failed to assign roles:', error.message);
307
+ * }
308
+ * ```
309
+ */
310
+ export declare function assignRolesToUser(userId: string, request: UserRoleAssignmentRequest, options?: RbacOptions): Promise<Role[]>;
311
+ /**
312
+ * Unassigns roles from a user.
313
+ *
314
+ * @param userId - User ID
315
+ * @param request - Request containing role IDs to unassign
316
+ * @param options - Optional configuration
317
+ * @returns Promise that resolves when unassignment is successful
318
+ * @throws {ConfigurationError} When required environment variables are missing
319
+ * @throws {ApiError} When API request fails
320
+ * @throws {NetworkError} When network request fails
321
+ *
322
+ * @example
323
+ * ```typescript
324
+ * import { unassignRolesFromUser } from '@tale/client';
325
+ *
326
+ * try {
327
+ * await unassignRolesFromUser('user_id_here', {
328
+ * role_ids: ['role1', 'role2']
329
+ * });
330
+ * console.log('Roles unassigned successfully');
331
+ * } catch (error) {
332
+ * console.error('Failed to unassign roles:', error.message);
333
+ * }
334
+ * ```
335
+ */
336
+ export declare function unassignRolesFromUser(userId: string, request: UserRoleUnassignmentRequest, options?: RbacOptions): Promise<void>;
337
+ /**
338
+ * Gets privileges assigned to a user.
339
+ *
340
+ * @param userId - User ID
341
+ * @param options - Optional configuration
342
+ * @returns Promise resolving to list of user privileges
343
+ * @throws {ConfigurationError} When required environment variables are missing
344
+ * @throws {ApiError} When API request fails
345
+ * @throws {NetworkError} When network request fails
346
+ *
347
+ * @example
348
+ * ```typescript
349
+ * import { getUserPrivileges } from '@tale/client';
350
+ *
351
+ * try {
352
+ * const privileges = await getUserPrivileges('user_id_here');
353
+ * console.log(`User has ${privileges.length} privileges`);
354
+ * privileges.forEach(priv => console.log('-', priv.privilegeName));
355
+ * } catch (error) {
356
+ * console.error('Failed to get user privileges:', error.message);
357
+ * }
358
+ * ```
359
+ */
360
+ export declare function getUserPrivileges(userId: string, options?: RbacOptions): Promise<Privilege[]>;
361
+ /**
362
+ * Assigns privileges to a user.
363
+ *
364
+ * @param userId - User ID
365
+ * @param request - Request containing privilege IDs to assign
366
+ * @param options - Optional configuration
367
+ * @returns Promise resolving to list of assigned privileges
368
+ * @throws {ConfigurationError} When required environment variables are missing
369
+ * @throws {ApiError} When API request fails
370
+ * @throws {NetworkError} When network request fails
371
+ *
372
+ * @example
373
+ * ```typescript
374
+ * import { assignPrivilegesToUser } from '@tale/client';
375
+ *
376
+ * try {
377
+ * const privileges = await assignPrivilegesToUser('user_id_here', {
378
+ * privilege_ids: ['priv1', 'priv2']
379
+ * });
380
+ * console.log('Privileges assigned successfully');
381
+ * } catch (error) {
382
+ * console.error('Failed to assign privileges:', error.message);
383
+ * }
384
+ * ```
385
+ */
386
+ export declare function assignPrivilegesToUser(userId: string, request: UserPrivilegeAssignmentRequest, options?: RbacOptions): Promise<Privilege[]>;
387
+ /**
388
+ * Unassigns privileges from a user.
389
+ *
390
+ * @param userId - User ID
391
+ * @param request - Request containing privilege IDs to unassign
392
+ * @param options - Optional configuration
393
+ * @returns Promise that resolves when unassignment is successful
394
+ * @throws {ConfigurationError} When required environment variables are missing
395
+ * @throws {ApiError} When API request fails
396
+ * @throws {NetworkError} When network request fails
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * import { unassignPrivilegesFromUser } from '@tale/client';
401
+ *
402
+ * try {
403
+ * await unassignPrivilegesFromUser('user_id_here', {
404
+ * privilege_ids: ['priv1', 'priv2']
405
+ * });
406
+ * console.log('Privileges unassigned successfully');
407
+ * } catch (error) {
408
+ * console.error('Failed to unassign privileges:', error.message);
409
+ * }
410
+ * ```
411
+ */
412
+ export declare function unassignPrivilegesFromUser(userId: string, request: UserPrivilegeUnassignmentRequest, options?: RbacOptions): Promise<void>;
413
+ /**
414
+ * Assigns privileges to a role.
415
+ *
416
+ * @param roleId - Role ID
417
+ * @param request - Request containing privilege IDs to assign
418
+ * @param options - Optional configuration
419
+ * @returns Promise resolving to list of assigned privileges
420
+ * @throws {ConfigurationError} When required environment variables are missing
421
+ * @throws {ApiError} When API request fails
422
+ * @throws {NetworkError} When network request fails
423
+ *
424
+ * @example
425
+ * ```typescript
426
+ * import { assignPrivilegesToRole } from '@tale/client';
427
+ *
428
+ * try {
429
+ * const privileges = await assignPrivilegesToRole('role_id_here', {
430
+ * privilege_ids: ['priv1', 'priv2']
431
+ * });
432
+ * console.log('Privileges assigned successfully');
433
+ * } catch (error) {
434
+ * console.error('Failed to assign privileges:', error.message);
435
+ * }
436
+ * ```
437
+ */
438
+ export declare function assignPrivilegesToRole(roleId: string, request: RolePrivilegeAssignmentRequest, options?: RbacOptions): Promise<Privilege[]>;
439
+ /**
440
+ * Unassigns privileges from a role.
441
+ *
442
+ * @param roleId - Role ID
443
+ * @param request - Request containing privilege IDs to unassign
444
+ * @param options - Optional configuration
445
+ * @returns Promise that resolves when unassignment is successful
446
+ * @throws {ConfigurationError} When required environment variables are missing
447
+ * @throws {ApiError} When API request fails
448
+ * @throws {NetworkError} When network request fails
449
+ *
450
+ * @example
451
+ * ```typescript
452
+ * import { unassignPrivilegesFromRole } from '@tale/client';
453
+ *
454
+ * try {
455
+ * await unassignPrivilegesFromRole('role_id_here', {
456
+ * privilege_ids: ['priv1', 'priv2']
457
+ * });
458
+ * console.log('Privileges unassigned successfully');
459
+ * } catch (error) {
460
+ * console.error('Failed to unassign privileges:', error.message);
461
+ * }
462
+ * ```
463
+ */
464
+ export declare function unassignPrivilegesFromRole(roleId: string, request: RolePrivilegeUnassignmentRequest, options?: RbacOptions): Promise<void>;