tale-js-sdk 0.1.2 → 0.1.4

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.
Files changed (48) hide show
  1. package/dist/acl/index.d.ts +170 -0
  2. package/dist/acl/index.js +747 -0
  3. package/dist/acl/types.d.ts +208 -0
  4. package/dist/acl/types.js +1 -0
  5. package/dist/auth/index.d.ts +2 -134
  6. package/dist/auth/index.js +120 -96
  7. package/dist/auth/types.d.ts +122 -0
  8. package/dist/auth/types.js +1 -0
  9. package/dist/common/types.d.ts +82 -0
  10. package/dist/common/types.js +2 -0
  11. package/dist/errors.js +18 -18
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.js +1 -0
  14. package/dist/rbac/acl.d.ts +152 -0
  15. package/dist/rbac/acl.js +723 -0
  16. package/dist/rbac/index.d.ts +2 -0
  17. package/dist/rbac/index.js +2 -0
  18. package/dist/rbac/rbac.d.ts +198 -0
  19. package/dist/rbac/rbac.js +984 -0
  20. package/dist/rbac/types.d.ts +356 -0
  21. package/dist/rbac/types.js +1 -0
  22. package/dist/rbac/user-group.d.ts +122 -0
  23. package/dist/rbac/user-group.js +570 -0
  24. package/dist/status.js +3 -3
  25. package/dist/token.d.ts +1 -1
  26. package/dist/token.js +5 -4
  27. package/dist/user/index.d.ts +165 -142
  28. package/dist/user/index.js +511 -59
  29. package/dist/user/types.d.ts +149 -0
  30. package/dist/user/types.js +1 -0
  31. package/dist/user-group/index.d.ts +230 -0
  32. package/dist/user-group/index.js +560 -0
  33. package/dist/user-group/types.d.ts +64 -0
  34. package/dist/user-group/types.js +1 -0
  35. package/package.json +4 -3
  36. package/dist/auth.d.ts +0 -271
  37. package/dist/auth.js +0 -461
  38. package/dist/client.d.ts +0 -20
  39. package/dist/client.js +0 -62
  40. package/dist/info.d.ts +0 -9
  41. package/dist/info.js +0 -18
  42. package/dist/package.json +0 -36
  43. package/dist/src/index.d.ts +0 -1
  44. package/dist/src/index.js +0 -1
  45. package/dist/src/info.d.ts +0 -6
  46. package/dist/src/info.js +0 -4
  47. package/dist/user.d.ts +0 -242
  48. package/dist/user.js +0 -331
@@ -0,0 +1,356 @@
1
+ export interface Role {
2
+ role_id: string;
3
+ role_name: string;
4
+ role_type?: string;
5
+ role_property?: Record<string, any>;
6
+ role_config?: Record<string, any>;
7
+ description?: string;
8
+ remark?: string;
9
+ created_at?: string;
10
+ updated_at?: string;
11
+ privileges?: Privilege[];
12
+ }
13
+ export interface Privilege {
14
+ privilege_id: string;
15
+ privilege_name: string;
16
+ privilege_type?: string;
17
+ privilege_property?: Record<string, any>;
18
+ privilege_config?: Record<string, any>;
19
+ resource_ids?: string[];
20
+ description?: string;
21
+ remark?: string;
22
+ created_at?: string;
23
+ updated_at?: string;
24
+ }
25
+ export interface UserGroup {
26
+ group_id: string;
27
+ group_name: string;
28
+ description?: string;
29
+ type?: string;
30
+ remark?: string;
31
+ created_at?: string;
32
+ updated_at?: string;
33
+ member_count?: number;
34
+ }
35
+ export interface PaginatedResponse<T> {
36
+ content: T[];
37
+ pageable: {
38
+ sort: Sort;
39
+ offset: number;
40
+ pageNumber: number;
41
+ pageSize: number;
42
+ paged: boolean;
43
+ unpaged: boolean;
44
+ };
45
+ last: boolean;
46
+ totalPages: number;
47
+ totalElements: number;
48
+ size: number;
49
+ number: number;
50
+ sort: Sort;
51
+ first: boolean;
52
+ numberOfElements: number;
53
+ empty: boolean;
54
+ }
55
+ export interface Sort {
56
+ empty: boolean;
57
+ sorted: boolean;
58
+ unsorted: boolean;
59
+ }
60
+ export interface CommonOptions {
61
+ baseUrl?: string;
62
+ appKey?: string;
63
+ appSecret?: string;
64
+ appToken?: string;
65
+ }
66
+ export interface RBACOptions extends CommonOptions {
67
+ include_privileges?: boolean;
68
+ include_assignments?: boolean;
69
+ assignment_expires_at?: string;
70
+ }
71
+ export interface CreateRoleRequest {
72
+ role_name: string;
73
+ role_type?: string;
74
+ role_property?: Record<string, any>;
75
+ role_config?: Record<string, any>;
76
+ privilege_ids?: string[];
77
+ remark?: string;
78
+ }
79
+ export interface UpdateRoleRequest {
80
+ role_name?: string;
81
+ role_type?: string;
82
+ role_property?: Record<string, any>;
83
+ role_config?: Record<string, any>;
84
+ privilege_ids?: string[];
85
+ remark?: string;
86
+ }
87
+ export interface ListRolesRequest {
88
+ page?: number;
89
+ size?: number;
90
+ role_type?: string;
91
+ sort_by?: string;
92
+ sort_direction?: 'asc' | 'desc';
93
+ }
94
+ export interface CreateRoleResponse {
95
+ role: Role;
96
+ message?: string;
97
+ }
98
+ export interface CreateRoleJson {
99
+ data: CreateRoleResponse;
100
+ code: number;
101
+ msg: string;
102
+ }
103
+ export interface UpdateRoleResponse {
104
+ role: Role;
105
+ message?: string;
106
+ }
107
+ export interface UpdateRoleJson {
108
+ data: UpdateRoleResponse;
109
+ code: number;
110
+ msg: string;
111
+ }
112
+ export interface DeleteRoleResponse {
113
+ deleted: boolean;
114
+ role_id: string;
115
+ }
116
+ export interface DeleteRoleJson {
117
+ data: DeleteRoleResponse;
118
+ code: number;
119
+ msg: string;
120
+ }
121
+ export interface GetRoleResponse {
122
+ role: Role;
123
+ }
124
+ export interface GetRoleJson {
125
+ data: GetRoleResponse;
126
+ code: number;
127
+ msg: string;
128
+ }
129
+ export interface ListRolesJson {
130
+ data: PaginatedResponse<Role>;
131
+ code: number;
132
+ msg: string;
133
+ }
134
+ export interface CreatePrivilegeRequest {
135
+ privilege_name: string;
136
+ privilege_type?: string;
137
+ privilege_property?: Record<string, any>;
138
+ privilege_config?: Record<string, any>;
139
+ resource_ids?: string[];
140
+ remark?: string;
141
+ }
142
+ export interface UpdatePrivilegeRequest {
143
+ privilege_name?: string;
144
+ privilege_type?: string;
145
+ privilege_property?: Record<string, any>;
146
+ privilege_config?: Record<string, any>;
147
+ resource_ids?: string[];
148
+ remark?: string;
149
+ }
150
+ export interface ListPrivilegesRequest {
151
+ page?: number;
152
+ size?: number;
153
+ privilege_type?: string;
154
+ sort_by?: string;
155
+ sort_direction?: 'asc' | 'desc';
156
+ }
157
+ export interface CreatePrivilegeResponse {
158
+ privilege: Privilege;
159
+ message?: string;
160
+ }
161
+ export interface CreatePrivilegeJson {
162
+ data: CreatePrivilegeResponse;
163
+ code: number;
164
+ msg: string;
165
+ }
166
+ export interface UpdatePrivilegeResponse {
167
+ privilege: Privilege;
168
+ message?: string;
169
+ }
170
+ export interface UpdatePrivilegeJson {
171
+ data: UpdatePrivilegeResponse;
172
+ code: number;
173
+ msg: string;
174
+ }
175
+ export interface DeletePrivilegeResponse {
176
+ deleted: boolean;
177
+ privilege_id: string;
178
+ }
179
+ export interface DeletePrivilegeJson {
180
+ data: DeletePrivilegeResponse;
181
+ code: number;
182
+ msg: string;
183
+ }
184
+ export interface GetPrivilegeResponse {
185
+ privilege: Privilege;
186
+ }
187
+ export interface GetPrivilegeJson {
188
+ data: GetPrivilegeResponse;
189
+ code: number;
190
+ msg: string;
191
+ }
192
+ export interface ListPrivilegesJson {
193
+ data: PaginatedResponse<Privilege>;
194
+ code: number;
195
+ msg: string;
196
+ }
197
+ export interface PropertyResponse {
198
+ property: Record<string, any>;
199
+ }
200
+ export interface PropertyJson {
201
+ data: PropertyResponse;
202
+ code: number;
203
+ msg: string;
204
+ }
205
+ export interface ConfigResponse {
206
+ config: Record<string, any>;
207
+ }
208
+ export interface ConfigJson {
209
+ data: ConfigResponse;
210
+ code: number;
211
+ msg: string;
212
+ }
213
+ export interface UpdatePropertyRequest {
214
+ property: Record<string, any>;
215
+ }
216
+ export interface UpdatePropertyJson {
217
+ data: PropertyResponse;
218
+ code: number;
219
+ msg: string;
220
+ }
221
+ export interface UpdateConfigRequest {
222
+ config: Record<string, any>;
223
+ }
224
+ export interface UpdateConfigJson {
225
+ data: ConfigResponse;
226
+ code: number;
227
+ msg: string;
228
+ }
229
+ export interface RoleAssignment {
230
+ assignment_id?: string;
231
+ user_id: string;
232
+ role_id: string;
233
+ role: Role;
234
+ started_at?: string;
235
+ expired_at?: string;
236
+ assignment_type?: string;
237
+ assignment_ref?: string;
238
+ remark?: string;
239
+ created_at?: string;
240
+ }
241
+ export interface PrivilegeAssignment {
242
+ assignment_id?: string;
243
+ user_id: string;
244
+ privilege_id: string;
245
+ privilege: Privilege;
246
+ started_at?: string;
247
+ expired_at?: string;
248
+ assignment_type?: string;
249
+ assignment_ref?: string;
250
+ remark?: string;
251
+ created_at?: string;
252
+ }
253
+ export interface UserRoleAssignmentRequest {
254
+ role_ids: string[];
255
+ started_at?: string;
256
+ expired_at?: string;
257
+ assignment_type?: string;
258
+ assignment_ref?: string;
259
+ remark?: string;
260
+ }
261
+ export interface UserPrivilegeAssignmentRequest {
262
+ privilege_ids: string[];
263
+ started_at?: string;
264
+ expired_at?: string;
265
+ assignment_type?: string;
266
+ assignment_ref?: string;
267
+ remark?: string;
268
+ }
269
+ export interface RolePrivilegeAssignmentRequest {
270
+ privilege_ids: string[];
271
+ remark?: string;
272
+ }
273
+ export interface UserRoleUnassignmentRequest {
274
+ role_ids: string[];
275
+ }
276
+ export interface UserPrivilegeUnassignmentRequest {
277
+ privilege_ids: string[];
278
+ }
279
+ export interface RolePrivilegeUnassignmentRequest {
280
+ privilege_ids: string[];
281
+ }
282
+ export interface AssignRolesResponse {
283
+ roles: Role[];
284
+ message?: string;
285
+ }
286
+ export interface AssignRolesJson {
287
+ data: AssignRolesResponse;
288
+ code: number;
289
+ msg: string;
290
+ }
291
+ export interface UnassignRolesResponse {
292
+ unassigned: boolean;
293
+ unassigned_count: number;
294
+ }
295
+ export interface UnassignRolesJson {
296
+ data: UnassignRolesResponse;
297
+ code: number;
298
+ msg: string;
299
+ }
300
+ export interface AssignPrivilegesResponse {
301
+ privileges: Privilege[];
302
+ message?: string;
303
+ }
304
+ export interface AssignPrivilegesJson {
305
+ data: AssignPrivilegesResponse;
306
+ code: number;
307
+ msg: string;
308
+ }
309
+ export interface UnassignPrivilegesResponse {
310
+ unassigned: boolean;
311
+ unassigned_count: number;
312
+ }
313
+ export interface UnassignPrivilegesJson {
314
+ data: UnassignPrivilegesResponse;
315
+ code: number;
316
+ msg: string;
317
+ }
318
+ export interface GetUserRolesResponse {
319
+ roles: Role[];
320
+ }
321
+ export interface GetUserRolesJson {
322
+ data: GetUserRolesResponse;
323
+ code: number;
324
+ msg: string;
325
+ }
326
+ export interface GetUserPrivilegesResponse {
327
+ privileges: Privilege[];
328
+ }
329
+ export interface GetUserPrivilegesJson {
330
+ data: GetUserPrivilegesResponse;
331
+ code: number;
332
+ msg: string;
333
+ }
334
+ export interface PrivilegeRolePair {
335
+ privilege_id: string;
336
+ privilege_name: string;
337
+ role_id: string;
338
+ role_name: string;
339
+ resource_id: string;
340
+ }
341
+ export interface ResourcePermissionCheck {
342
+ user_id: string;
343
+ resource_id: string;
344
+ privilege_name: string;
345
+ has_permission: boolean;
346
+ granted_by_roles: string[];
347
+ granted_by_privileges: string[];
348
+ }
349
+ export interface GetResourcePrivilegeRolesResponse {
350
+ privilege_role_pairs: PrivilegeRolePair[];
351
+ }
352
+ export interface GetResourcePrivilegeRolesJson {
353
+ data: GetResourcePrivilegeRolesResponse;
354
+ code: number;
355
+ msg: string;
356
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,122 @@
1
+ import type { UserGroup, CreateUserGroupRequest, UpdateUserGroupRequest, ListUserGroupsRequest, UserGroupMemberRequest, CreateUserGroupResponse, UpdateUserGroupResponse, DeleteUserGroupResponse, GetUserGroupResponse, GetUserGroupMembersResponse, AddUserGroupMembersResponse, RemoveUserGroupMembersResponse, GetUserGroupsResponse, PaginatedResponse, CommonOptions } from './types.js';
2
+ /**
3
+ * Creates a new user group in the Tale application.
4
+ *
5
+ * @param groupData - User group data to create the new group
6
+ * @param options - Optional configuration for the request
7
+ * @returns Promise resolving to the created user group information
8
+ * @throws {ConfigurationError} When required environment variables are missing
9
+ * @throws {ApiError} When API request fails or returns invalid response
10
+ * @throws {NetworkError} When network request fails
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { createUserGroup } from '@tale/client';
15
+ *
16
+ * try {
17
+ * const result = await createUserGroup({
18
+ * name: 'Developers',
19
+ * description: 'Development team group',
20
+ * type: 'department',
21
+ * remark: 'All developers in the company'
22
+ * });
23
+ * console.log('User group created:', result.user_group.group_id);
24
+ * } catch (error) {
25
+ * console.error('Failed to create user group:', error.message);
26
+ * }
27
+ * ```
28
+ */
29
+ export declare function createUserGroup(groupData: CreateUserGroupRequest, options?: CommonOptions): Promise<CreateUserGroupResponse>;
30
+ /**
31
+ * Updates an existing user group by ID.
32
+ *
33
+ * @param groupId - User group ID to update
34
+ * @param updateData - User group information to update
35
+ * @param options - Optional configuration for the request
36
+ * @returns Promise resolving to the updated user group information
37
+ * @throws {ConfigurationError} When required environment variables are missing
38
+ * @throws {ApiError} When API request fails or returns invalid response
39
+ * @throws {NetworkError} When network request fails
40
+ */
41
+ export declare function updateUserGroup(groupId: string, updateData: UpdateUserGroupRequest, options?: CommonOptions): Promise<UpdateUserGroupResponse>;
42
+ /**
43
+ * Deletes a user group by ID.
44
+ *
45
+ * @param groupId - User group ID to delete
46
+ * @param options - Optional configuration for the request
47
+ * @returns Promise resolving to the deletion result
48
+ * @throws {ConfigurationError} When required environment variables are missing
49
+ * @throws {ApiError} When API request fails or returns invalid response
50
+ * @throws {NetworkError} When network request fails
51
+ */
52
+ export declare function deleteUserGroup(groupId: string, options?: CommonOptions): Promise<DeleteUserGroupResponse>;
53
+ /**
54
+ * Retrieves user group information by ID.
55
+ *
56
+ * @param groupId - User group ID to query
57
+ * @param options - Optional configuration for the request
58
+ * @returns Promise resolving to the user group information
59
+ * @throws {ConfigurationError} When required environment variables are missing
60
+ * @throws {ApiError} When API request fails or returns invalid response
61
+ * @throws {NetworkError} When network request fails
62
+ */
63
+ export declare function getUserGroupById(groupId: string, options?: CommonOptions): Promise<GetUserGroupResponse>;
64
+ /**
65
+ * Lists user groups with pagination and filtering.
66
+ *
67
+ * @param options - Optional parameters for pagination, filtering, and configuration
68
+ * @returns Promise resolving to paginated user group list with metadata
69
+ * @throws {ConfigurationError} When required environment variables are missing
70
+ * @throws {ApiError} When API request fails or returns invalid response
71
+ * @throws {NetworkError} When network request fails
72
+ */
73
+ export declare function listUserGroups(options?: ListUserGroupsRequest & CommonOptions): Promise<PaginatedResponse<UserGroup>>;
74
+ /**
75
+ * Gets the members of a user group.
76
+ *
77
+ * @param groupId - User group ID to query
78
+ * @param options - Optional parameters for pagination and configuration
79
+ * @returns Promise resolving to the user group members
80
+ * @throws {ConfigurationError} When required environment variables are missing
81
+ * @throws {ApiError} When API request fails or returns invalid response
82
+ * @throws {NetworkError} When network request fails
83
+ */
84
+ export declare function getUserGroupMembers(groupId: string, options?: {
85
+ page?: number;
86
+ size?: number;
87
+ } & CommonOptions): Promise<GetUserGroupMembersResponse>;
88
+ /**
89
+ * Adds members to a user group.
90
+ *
91
+ * @param groupId - User group ID to add members to
92
+ * @param memberData - Member data with user IDs to add
93
+ * @param options - Optional configuration for the request
94
+ * @returns Promise resolving to the added members result
95
+ * @throws {ConfigurationError} When required environment variables are missing
96
+ * @throws {ApiError} When API request fails or returns invalid response
97
+ * @throws {NetworkError} When network request fails
98
+ */
99
+ export declare function addUserGroupMembers(groupId: string, memberData: UserGroupMemberRequest, options?: CommonOptions): Promise<AddUserGroupMembersResponse>;
100
+ /**
101
+ * Removes members from a user group.
102
+ *
103
+ * @param groupId - User group ID to remove members from
104
+ * @param memberData - Member data with user IDs to remove
105
+ * @param options - Optional configuration for the request
106
+ * @returns Promise resolving to the removal result
107
+ * @throws {ConfigurationError} When required environment variables are missing
108
+ * @throws {ApiError} When API request fails or returns invalid response
109
+ * @throws {NetworkError} When network request fails
110
+ */
111
+ export declare function removeUserGroupMembers(groupId: string, memberData: UserGroupMemberRequest, options?: CommonOptions): Promise<RemoveUserGroupMembersResponse>;
112
+ /**
113
+ * Gets the user groups that a user belongs to.
114
+ *
115
+ * @param userId - User ID to query
116
+ * @param options - Optional configuration for the request
117
+ * @returns Promise resolving to the user's groups
118
+ * @throws {ConfigurationError} When required environment variables are missing
119
+ * @throws {ApiError} When API request fails or returns invalid response
120
+ * @throws {NetworkError} When network request fails
121
+ */
122
+ export declare function getUserGroups(userId: string, options?: CommonOptions): Promise<GetUserGroupsResponse>;