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,255 +1,52 @@
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
- }
1
+ import type { CommonOptions, Role, Privilege } from "../common/types.js";
2
+ export type { Role, Privilege };
3
+ /**
4
+ * Request for creating a role
5
+ */
71
6
  export interface CreateRoleRequest {
72
7
  role_name: string;
73
8
  role_type?: string;
74
- role_property?: Record<string, any>;
75
- role_config?: Record<string, any>;
9
+ role_property?: Record<string, unknown>;
10
+ role_config?: Record<string, unknown>;
76
11
  privilege_ids?: string[];
77
12
  remark?: string;
78
13
  }
14
+ /**
15
+ * Request for updating a role
16
+ */
79
17
  export interface UpdateRoleRequest {
80
18
  role_name?: string;
81
19
  role_type?: string;
82
- role_property?: Record<string, any>;
83
- role_config?: Record<string, any>;
20
+ role_property?: Record<string, unknown>;
21
+ role_config?: Record<string, unknown>;
84
22
  privilege_ids?: string[];
85
23
  remark?: string;
86
24
  }
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
- }
25
+ /**
26
+ * Request for creating a privilege
27
+ */
134
28
  export interface CreatePrivilegeRequest {
135
29
  privilege_name: string;
136
30
  privilege_type?: string;
137
- privilege_property?: Record<string, any>;
138
- privilege_config?: Record<string, any>;
31
+ privilege_property?: Record<string, unknown>;
32
+ privilege_config?: Record<string, unknown>;
139
33
  resource_ids?: string[];
140
34
  remark?: string;
141
35
  }
36
+ /**
37
+ * Request for updating a privilege
38
+ */
142
39
  export interface UpdatePrivilegeRequest {
143
40
  privilege_name?: string;
144
41
  privilege_type?: string;
145
- privilege_property?: Record<string, any>;
146
- privilege_config?: Record<string, any>;
42
+ privilege_property?: Record<string, unknown>;
43
+ privilege_config?: Record<string, unknown>;
147
44
  resource_ids?: string[];
148
45
  remark?: string;
149
46
  }
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
- }
47
+ /**
48
+ * Request for assigning roles to a user
49
+ */
253
50
  export interface UserRoleAssignmentRequest {
254
51
  role_ids: string[];
255
52
  started_at?: string;
@@ -258,6 +55,15 @@ export interface UserRoleAssignmentRequest {
258
55
  assignment_ref?: string;
259
56
  remark?: string;
260
57
  }
58
+ /**
59
+ * Request for unassigning roles from a user
60
+ */
61
+ export interface UserRoleUnassignmentRequest {
62
+ role_ids: string[];
63
+ }
64
+ /**
65
+ * Request for assigning privileges to a user
66
+ */
261
67
  export interface UserPrivilegeAssignmentRequest {
262
68
  privilege_ids: string[];
263
69
  started_at?: string;
@@ -266,91 +72,54 @@ export interface UserPrivilegeAssignmentRequest {
266
72
  assignment_ref?: string;
267
73
  remark?: string;
268
74
  }
269
- export interface RolePrivilegeAssignmentRequest {
75
+ /**
76
+ * Request for unassigning privileges from a user
77
+ */
78
+ export interface UserPrivilegeUnassignmentRequest {
270
79
  privilege_ids: string[];
271
- remark?: string;
272
80
  }
273
- export interface UserRoleUnassignmentRequest {
274
- role_ids: string[];
275
- }
276
- export interface UserPrivilegeUnassignmentRequest {
81
+ /**
82
+ * Request for assigning privileges to a role
83
+ */
84
+ export interface RolePrivilegeAssignmentRequest {
277
85
  privilege_ids: string[];
86
+ remark?: string;
278
87
  }
88
+ /**
89
+ * Request for unassigning privileges from a role
90
+ */
279
91
  export interface RolePrivilegeUnassignmentRequest {
280
92
  privilege_ids: string[];
281
93
  }
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;
94
+ /**
95
+ * Options for RBAC operations
96
+ */
97
+ export interface RbacOptions extends CommonOptions {
312
98
  }
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[];
99
+ /**
100
+ * Request for listing roles
101
+ */
102
+ export interface ListRolesRequest {
103
+ page?: number;
104
+ size?: number;
105
+ role_type?: string;
106
+ sort_by?: string;
107
+ sort_direction?: "asc" | "desc";
328
108
  }
329
- export interface GetUserPrivilegesJson {
330
- data: GetUserPrivilegesResponse;
331
- code: number;
332
- msg: string;
109
+ /**
110
+ * Request for listing privileges
111
+ */
112
+ export interface ListPrivilegesRequest {
113
+ page?: number;
114
+ size?: number;
115
+ privilege_type?: string;
116
+ sort_by?: string;
117
+ sort_direction?: "asc" | "desc";
333
118
  }
119
+ /**
120
+ * Privilege and role pair
121
+ */
334
122
  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;
123
+ privilege: Privilege;
124
+ role: Role;
356
125
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tale-js-sdk",
3
- "version": "0.1.4",
3
+ "version": "1.0.0",
4
4
  "description": "Official TypeScript SDK for Tale backend services",
5
5
  "keywords": [
6
6
  "tale",