@iblai/iblai-api 4.39.0-core → 4.39.0-test-core
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/index.cjs.js +95 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +95 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +95 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/models/MentorPolicy.d.ts +47 -0
- package/dist/types/models/PatchedRbacGroup.d.ts +1 -0
- package/dist/types/models/RbacGroup.d.ts +1 -0
- package/dist/types/models/UserGroupAccess.d.ts +34 -0
- package/dist/types/models/UserGroupAccessInfo.d.ts +21 -0
- package/dist/types/services/CoreService.d.ts +64 -8
- package/package.json +1 -1
- package/sdk_schema.yml +317 -0
- package/src/index.ts +3 -0
- package/src/models/MentorPolicy.ts +52 -0
- package/src/models/PatchedRbacGroup.ts +1 -0
- package/src/models/RbacGroup.ts +1 -0
- package/src/models/UserGroupAccess.ts +39 -0
- package/src/models/UserGroupAccessInfo.ts +26 -0
- package/src/services/CoreService.ts +129 -8
package/dist/types/index.d.ts
CHANGED
|
@@ -144,6 +144,7 @@ export type { MarkAllReadRequest } from './models/MarkAllReadRequest';
|
|
|
144
144
|
export type { MarkAllReadResponse } from './models/MarkAllReadResponse';
|
|
145
145
|
export type { MediaResource } from './models/MediaResource';
|
|
146
146
|
export { MediaTypeEnum } from './models/MediaTypeEnum';
|
|
147
|
+
export type { MentorPolicy } from './models/MentorPolicy';
|
|
147
148
|
export type { MetricDetail } from './models/MetricDetail';
|
|
148
149
|
export { ModeEnum } from './models/ModeEnum';
|
|
149
150
|
export type { NewPerLearnerList } from './models/NewPerLearnerList';
|
|
@@ -377,6 +378,8 @@ export type { UserApp } from './models/UserApp';
|
|
|
377
378
|
export type { UserDeleteAPIError } from './models/UserDeleteAPIError';
|
|
378
379
|
export type { UserDeleteAPIRequest } from './models/UserDeleteAPIRequest';
|
|
379
380
|
export type { UserDeleteAPIResponse } from './models/UserDeleteAPIResponse';
|
|
381
|
+
export type { UserGroupAccess } from './models/UserGroupAccess';
|
|
382
|
+
export type { UserGroupAccessInfo } from './models/UserGroupAccessInfo';
|
|
380
383
|
export type { UserInfo } from './models/UserInfo';
|
|
381
384
|
export type { UserLicenseAssignmentCreate } from './models/UserLicenseAssignmentCreate';
|
|
382
385
|
export type { UserLicenseAssignmentDetail } from './models/UserLicenseAssignmentDetail';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { RbacPolicyGroup } from './RbacPolicyGroup';
|
|
2
|
+
import type { RbacUser } from './RbacUser';
|
|
3
|
+
/**
|
|
4
|
+
* Serializer for mentor-specific RBAC policies using ModelSerializer pattern.
|
|
5
|
+
* Accepts mentor_id and role, generates resources and role internally.
|
|
6
|
+
*/
|
|
7
|
+
export type MentorPolicy = {
|
|
8
|
+
readonly id: number;
|
|
9
|
+
/**
|
|
10
|
+
* Policy name. If not supplied, defaults to a UUID4
|
|
11
|
+
*/
|
|
12
|
+
readonly name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Platform key where the mentor belongs
|
|
15
|
+
*/
|
|
16
|
+
platform_key: string;
|
|
17
|
+
/**
|
|
18
|
+
* ID of the mentor to manage access for
|
|
19
|
+
*/
|
|
20
|
+
mentor_id: number;
|
|
21
|
+
/**
|
|
22
|
+
* Role for accessing this mentor (viewer or editor)
|
|
23
|
+
*/
|
|
24
|
+
role: string;
|
|
25
|
+
/**
|
|
26
|
+
* List of resources this policy applies to
|
|
27
|
+
*/
|
|
28
|
+
readonly resources: any;
|
|
29
|
+
readonly users: Array<RbacUser>;
|
|
30
|
+
readonly groups: Array<RbacPolicyGroup>;
|
|
31
|
+
/**
|
|
32
|
+
* List of group IDs to grant access to this mentor
|
|
33
|
+
*/
|
|
34
|
+
groups_to_add?: Array<number>;
|
|
35
|
+
/**
|
|
36
|
+
* List of group IDs to revoke access from this mentor
|
|
37
|
+
*/
|
|
38
|
+
groups_to_remove?: Array<number>;
|
|
39
|
+
/**
|
|
40
|
+
* List of user IDs to grant access to this mentor
|
|
41
|
+
*/
|
|
42
|
+
users_to_add?: Array<number>;
|
|
43
|
+
/**
|
|
44
|
+
* List of user IDs to revoke access from this mentor
|
|
45
|
+
*/
|
|
46
|
+
users_to_remove?: Array<number>;
|
|
47
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { UserGroupAccessInfo } from './UserGroupAccessInfo';
|
|
2
|
+
/**
|
|
3
|
+
* ModelSerializer for user group access policies
|
|
4
|
+
*/
|
|
5
|
+
export type UserGroupAccess = {
|
|
6
|
+
/**
|
|
7
|
+
* Platform key where the groups exist
|
|
8
|
+
*/
|
|
9
|
+
platform_key: string;
|
|
10
|
+
/**
|
|
11
|
+
* ID of the user to manage group access for
|
|
12
|
+
*/
|
|
13
|
+
user_id: number;
|
|
14
|
+
/**
|
|
15
|
+
* List of group IDs to grant access to
|
|
16
|
+
*/
|
|
17
|
+
groups_to_add?: Array<number>;
|
|
18
|
+
/**
|
|
19
|
+
* List of group IDs to revoke access from
|
|
20
|
+
*/
|
|
21
|
+
groups_to_remove?: Array<number>;
|
|
22
|
+
/**
|
|
23
|
+
* Policy ID
|
|
24
|
+
*/
|
|
25
|
+
readonly policy_id: number;
|
|
26
|
+
/**
|
|
27
|
+
* Policy name
|
|
28
|
+
*/
|
|
29
|
+
readonly policy_name: string;
|
|
30
|
+
/**
|
|
31
|
+
* Groups with access
|
|
32
|
+
*/
|
|
33
|
+
readonly groups_with_access: Array<UserGroupAccessInfo>;
|
|
34
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializer for group access information in responses
|
|
3
|
+
*/
|
|
4
|
+
export type UserGroupAccessInfo = {
|
|
5
|
+
/**
|
|
6
|
+
* Group ID
|
|
7
|
+
*/
|
|
8
|
+
id: number;
|
|
9
|
+
/**
|
|
10
|
+
* Group name
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Group description
|
|
15
|
+
*/
|
|
16
|
+
description: string;
|
|
17
|
+
/**
|
|
18
|
+
* List of permissions user has for this group (e.g., ['read', 'manageMentors'])
|
|
19
|
+
*/
|
|
20
|
+
permissions: Array<string>;
|
|
21
|
+
};
|
|
@@ -7,6 +7,7 @@ import type { LauncherViewPostRequest } from '../models/LauncherViewPostRequest'
|
|
|
7
7
|
import type { LtiKey } from '../models/LtiKey';
|
|
8
8
|
import type { LtiMentor } from '../models/LtiMentor';
|
|
9
9
|
import type { LtiTool } from '../models/LtiTool';
|
|
10
|
+
import type { MentorPolicy } from '../models/MentorPolicy';
|
|
10
11
|
import type { PaginatedRbacGroupList } from '../models/PaginatedRbacGroupList';
|
|
11
12
|
import type { PaginatedRbacPolicyList } from '../models/PaginatedRbacPolicyList';
|
|
12
13
|
import type { PaginatedRbacRoleList } from '../models/PaginatedRbacRoleList';
|
|
@@ -38,6 +39,7 @@ import type { TokenProxyInput } from '../models/TokenProxyInput';
|
|
|
38
39
|
import type { TokenProxyOutput } from '../models/TokenProxyOutput';
|
|
39
40
|
import type { UserDeleteAPIRequest } from '../models/UserDeleteAPIRequest';
|
|
40
41
|
import type { UserDeleteAPIResponse } from '../models/UserDeleteAPIResponse';
|
|
42
|
+
import type { UserGroupAccess } from '../models/UserGroupAccess';
|
|
41
43
|
import type { UserPlatformLink } from '../models/UserPlatformLink';
|
|
42
44
|
import type { UserPlatformManagementListViewGetResponse } from '../models/UserPlatformManagementListViewGetResponse';
|
|
43
45
|
import type { UserPlatformSelfLinkRequest } from '../models/UserPlatformSelfLinkRequest';
|
|
@@ -634,7 +636,15 @@ export declare class CoreService {
|
|
|
634
636
|
* @returns PaginatedRbacGroupList
|
|
635
637
|
* @throws ApiError
|
|
636
638
|
*/
|
|
637
|
-
static coreRbacGroupsList({ page, pageSize,
|
|
639
|
+
static coreRbacGroupsList({ platformKey, owner, page, pageSize, }: {
|
|
640
|
+
/**
|
|
641
|
+
* Filter groups by platform key
|
|
642
|
+
*/
|
|
643
|
+
platformKey: string;
|
|
644
|
+
/**
|
|
645
|
+
* Filter groups by owner username
|
|
646
|
+
*/
|
|
647
|
+
owner?: string;
|
|
638
648
|
/**
|
|
639
649
|
* A page number within the paginated result set.
|
|
640
650
|
*/
|
|
@@ -643,10 +653,6 @@ export declare class CoreService {
|
|
|
643
653
|
* Number of results to return per page.
|
|
644
654
|
*/
|
|
645
655
|
pageSize?: number;
|
|
646
|
-
/**
|
|
647
|
-
* Filter groups by platform key
|
|
648
|
-
*/
|
|
649
|
-
platformKey?: string;
|
|
650
656
|
}): CancelablePromise<PaginatedRbacGroupList>;
|
|
651
657
|
/**
|
|
652
658
|
* Create RBAC group
|
|
@@ -709,8 +715,33 @@ export declare class CoreService {
|
|
|
709
715
|
/**
|
|
710
716
|
* platform key for authorization check
|
|
711
717
|
*/
|
|
712
|
-
platformKey
|
|
718
|
+
platformKey: string;
|
|
713
719
|
}): CancelablePromise<void>;
|
|
720
|
+
/**
|
|
721
|
+
* Get mentor access status
|
|
722
|
+
* Retrieve current access information for a specific mentor, including all groups and users that have access with their respective roles.
|
|
723
|
+
* @returns MentorPolicy
|
|
724
|
+
* @throws ApiError
|
|
725
|
+
*/
|
|
726
|
+
static coreRbacMentorAccessList({ mentorId, platformKey, }: {
|
|
727
|
+
/**
|
|
728
|
+
* ID of the mentor to get access information for
|
|
729
|
+
*/
|
|
730
|
+
mentorId: number;
|
|
731
|
+
/**
|
|
732
|
+
* Platform key where the mentor belongs
|
|
733
|
+
*/
|
|
734
|
+
platformKey: string;
|
|
735
|
+
}): CancelablePromise<Array<MentorPolicy>>;
|
|
736
|
+
/**
|
|
737
|
+
* Control which RbacGroups and/or Users have access to a mentor and with what Role
|
|
738
|
+
* Create or update RBAC policies to manage group and user access to specific mentors. Creates role-specific policies and handles adding/removing groups and users.
|
|
739
|
+
* @returns MentorPolicy
|
|
740
|
+
* @throws ApiError
|
|
741
|
+
*/
|
|
742
|
+
static coreRbacMentorAccessCreate({ requestBody, }: {
|
|
743
|
+
requestBody: MentorPolicy;
|
|
744
|
+
}): CancelablePromise<MentorPolicy>;
|
|
714
745
|
/**
|
|
715
746
|
* Check user permissions
|
|
716
747
|
* Check user permissions for specified resources
|
|
@@ -805,7 +836,7 @@ export declare class CoreService {
|
|
|
805
836
|
/**
|
|
806
837
|
* platform key for authorization check
|
|
807
838
|
*/
|
|
808
|
-
platformKey
|
|
839
|
+
platformKey: string;
|
|
809
840
|
}): CancelablePromise<void>;
|
|
810
841
|
/**
|
|
811
842
|
* List RBAC roles
|
|
@@ -888,7 +919,7 @@ export declare class CoreService {
|
|
|
888
919
|
/**
|
|
889
920
|
* platform key for authorization check
|
|
890
921
|
*/
|
|
891
|
-
platformKey
|
|
922
|
+
platformKey: string;
|
|
892
923
|
}): CancelablePromise<void>;
|
|
893
924
|
/**
|
|
894
925
|
* Set student LLM access permissions
|
|
@@ -932,6 +963,31 @@ export declare class CoreService {
|
|
|
932
963
|
*/
|
|
933
964
|
platformKey: string;
|
|
934
965
|
}): CancelablePromise<StudentMentorCreationPermissionResponse>;
|
|
966
|
+
/**
|
|
967
|
+
* Get user group access status
|
|
968
|
+
* Retrieve current group access information for a specific user, including all groups the user has access to and whether they have mentor management permissions.
|
|
969
|
+
* @returns UserGroupAccess
|
|
970
|
+
* @throws ApiError
|
|
971
|
+
*/
|
|
972
|
+
static coreRbacUserGroupAccessRetrieve({ platformKey, userId, }: {
|
|
973
|
+
/**
|
|
974
|
+
* Platform key where the groups exist
|
|
975
|
+
*/
|
|
976
|
+
platformKey: string;
|
|
977
|
+
/**
|
|
978
|
+
* ID of the user to check group access for
|
|
979
|
+
*/
|
|
980
|
+
userId: number;
|
|
981
|
+
}): CancelablePromise<UserGroupAccess>;
|
|
982
|
+
/**
|
|
983
|
+
* Manage user access to groups
|
|
984
|
+
* Create or update user access to groups by adding/removing group access. Creates one policy per user with GROUP_MENTOR_MANAGER role for managing mentor access.
|
|
985
|
+
* @returns UserGroupAccess
|
|
986
|
+
* @throws ApiError
|
|
987
|
+
*/
|
|
988
|
+
static coreRbacUserGroupAccessCreate({ requestBody, }: {
|
|
989
|
+
requestBody: UserGroupAccess;
|
|
990
|
+
}): CancelablePromise<UserGroupAccess>;
|
|
935
991
|
/**
|
|
936
992
|
* Invalidate all tokens for the authenticated user
|
|
937
993
|
* @returns any No response body
|
package/package.json
CHANGED
package/sdk_schema.yml
CHANGED
|
@@ -14927,6 +14927,12 @@ paths:
|
|
|
14927
14927
|
description: Retrieve a list of RBAC groups. Can be filtered by platform_key.
|
|
14928
14928
|
summary: List RBAC groups
|
|
14929
14929
|
parameters:
|
|
14930
|
+
- in: query
|
|
14931
|
+
name: owner
|
|
14932
|
+
schema:
|
|
14933
|
+
type: string
|
|
14934
|
+
minLength: 1
|
|
14935
|
+
description: Filter groups by owner username
|
|
14930
14936
|
- name: page
|
|
14931
14937
|
required: false
|
|
14932
14938
|
in: query
|
|
@@ -14945,6 +14951,7 @@ paths:
|
|
|
14945
14951
|
type: string
|
|
14946
14952
|
minLength: 1
|
|
14947
14953
|
description: Filter groups by platform key
|
|
14954
|
+
required: true
|
|
14948
14955
|
tags:
|
|
14949
14956
|
- core
|
|
14950
14957
|
security:
|
|
@@ -15114,6 +15121,7 @@ paths:
|
|
|
15114
15121
|
type: string
|
|
15115
15122
|
minLength: 1
|
|
15116
15123
|
description: platform key for authorization check
|
|
15124
|
+
required: true
|
|
15117
15125
|
tags:
|
|
15118
15126
|
- core
|
|
15119
15127
|
security:
|
|
@@ -15123,6 +15131,88 @@ paths:
|
|
|
15123
15131
|
description: Group deleted successfully
|
|
15124
15132
|
'404':
|
|
15125
15133
|
description: Group not found
|
|
15134
|
+
/api/core/rbac/mentor-access/:
|
|
15135
|
+
get:
|
|
15136
|
+
operationId: core_rbac_mentor_access_list
|
|
15137
|
+
description: Retrieve current access information for a specific mentor, including
|
|
15138
|
+
all groups and users that have access with their respective roles.
|
|
15139
|
+
summary: Get mentor access status
|
|
15140
|
+
parameters:
|
|
15141
|
+
- in: query
|
|
15142
|
+
name: mentor_id
|
|
15143
|
+
schema:
|
|
15144
|
+
type: integer
|
|
15145
|
+
description: ID of the mentor to get access information for
|
|
15146
|
+
required: true
|
|
15147
|
+
- in: query
|
|
15148
|
+
name: platform_key
|
|
15149
|
+
schema:
|
|
15150
|
+
type: string
|
|
15151
|
+
description: Platform key where the mentor belongs
|
|
15152
|
+
required: true
|
|
15153
|
+
tags:
|
|
15154
|
+
- core
|
|
15155
|
+
security:
|
|
15156
|
+
- PlatformApiKeyAuthentication: []
|
|
15157
|
+
responses:
|
|
15158
|
+
'200':
|
|
15159
|
+
content:
|
|
15160
|
+
application/json:
|
|
15161
|
+
schema:
|
|
15162
|
+
type: array
|
|
15163
|
+
items:
|
|
15164
|
+
$ref: '#/components/schemas/MentorPolicy'
|
|
15165
|
+
description: ''
|
|
15166
|
+
'400':
|
|
15167
|
+
description: Missing or invalid query parameters
|
|
15168
|
+
'403':
|
|
15169
|
+
description: Permission denied - ShareMentor permission required
|
|
15170
|
+
'404':
|
|
15171
|
+
description: Platform not found
|
|
15172
|
+
'500':
|
|
15173
|
+
description: Internal server error
|
|
15174
|
+
post:
|
|
15175
|
+
operationId: core_rbac_mentor_access_create
|
|
15176
|
+
description: Create or update RBAC policies to manage group and user access
|
|
15177
|
+
to specific mentors. Creates role-specific policies and handles adding/removing
|
|
15178
|
+
groups and users.
|
|
15179
|
+
summary: Control which RbacGroups and/or Users have access to a mentor and with
|
|
15180
|
+
what Role
|
|
15181
|
+
tags:
|
|
15182
|
+
- core
|
|
15183
|
+
requestBody:
|
|
15184
|
+
content:
|
|
15185
|
+
application/json:
|
|
15186
|
+
schema:
|
|
15187
|
+
$ref: '#/components/schemas/MentorPolicy'
|
|
15188
|
+
application/x-www-form-urlencoded:
|
|
15189
|
+
schema:
|
|
15190
|
+
$ref: '#/components/schemas/MentorPolicy'
|
|
15191
|
+
multipart/form-data:
|
|
15192
|
+
schema:
|
|
15193
|
+
$ref: '#/components/schemas/MentorPolicy'
|
|
15194
|
+
required: true
|
|
15195
|
+
security:
|
|
15196
|
+
- PlatformApiKeyAuthentication: []
|
|
15197
|
+
responses:
|
|
15198
|
+
'200':
|
|
15199
|
+
content:
|
|
15200
|
+
application/json:
|
|
15201
|
+
schema:
|
|
15202
|
+
$ref: '#/components/schemas/MentorPolicy'
|
|
15203
|
+
description: ''
|
|
15204
|
+
'201':
|
|
15205
|
+
content:
|
|
15206
|
+
application/json:
|
|
15207
|
+
schema:
|
|
15208
|
+
$ref: '#/components/schemas/MentorPolicy'
|
|
15209
|
+
description: ''
|
|
15210
|
+
'400':
|
|
15211
|
+
description: Invalid request data or validation errors
|
|
15212
|
+
'403':
|
|
15213
|
+
description: Permission denied - ShareMentor permission required
|
|
15214
|
+
'404':
|
|
15215
|
+
description: Platform or mentor not found
|
|
15126
15216
|
/api/core/rbac/permissions/check/:
|
|
15127
15217
|
post:
|
|
15128
15218
|
operationId: core_rbac_permissions_check_create
|
|
@@ -15345,6 +15435,7 @@ paths:
|
|
|
15345
15435
|
type: string
|
|
15346
15436
|
minLength: 1
|
|
15347
15437
|
description: platform key for authorization check
|
|
15438
|
+
required: true
|
|
15348
15439
|
tags:
|
|
15349
15440
|
- core
|
|
15350
15441
|
security:
|
|
@@ -15535,6 +15626,7 @@ paths:
|
|
|
15535
15626
|
type: string
|
|
15536
15627
|
minLength: 1
|
|
15537
15628
|
description: platform key for authorization check
|
|
15629
|
+
required: true
|
|
15538
15630
|
tags:
|
|
15539
15631
|
- core
|
|
15540
15632
|
security:
|
|
@@ -15678,6 +15770,84 @@ paths:
|
|
|
15678
15770
|
description: Permission denied - Tenant Admin access required
|
|
15679
15771
|
'404':
|
|
15680
15772
|
description: Platform not found
|
|
15773
|
+
/api/core/rbac/user-group-access/:
|
|
15774
|
+
get:
|
|
15775
|
+
operationId: core_rbac_user_group_access_retrieve
|
|
15776
|
+
description: Retrieve current group access information for a specific user,
|
|
15777
|
+
including all groups the user has access to and whether they have mentor management
|
|
15778
|
+
permissions.
|
|
15779
|
+
summary: Get user group access status
|
|
15780
|
+
parameters:
|
|
15781
|
+
- in: query
|
|
15782
|
+
name: platform_key
|
|
15783
|
+
schema:
|
|
15784
|
+
type: string
|
|
15785
|
+
description: Platform key where the groups exist
|
|
15786
|
+
required: true
|
|
15787
|
+
- in: query
|
|
15788
|
+
name: user_id
|
|
15789
|
+
schema:
|
|
15790
|
+
type: integer
|
|
15791
|
+
description: ID of the user to check group access for
|
|
15792
|
+
required: true
|
|
15793
|
+
tags:
|
|
15794
|
+
- core
|
|
15795
|
+
security:
|
|
15796
|
+
- PlatformApiKeyAuthentication: []
|
|
15797
|
+
responses:
|
|
15798
|
+
'200':
|
|
15799
|
+
content:
|
|
15800
|
+
application/json:
|
|
15801
|
+
schema:
|
|
15802
|
+
$ref: '#/components/schemas/UserGroupAccess'
|
|
15803
|
+
description: ''
|
|
15804
|
+
'400':
|
|
15805
|
+
description: Missing or invalid query parameters
|
|
15806
|
+
'404':
|
|
15807
|
+
description: Platform or user not found
|
|
15808
|
+
'500':
|
|
15809
|
+
description: Internal server error
|
|
15810
|
+
post:
|
|
15811
|
+
operationId: core_rbac_user_group_access_create
|
|
15812
|
+
description: Create or update user access to groups by adding/removing group
|
|
15813
|
+
access. Creates one policy per user with GROUP_MENTOR_MANAGER role for managing
|
|
15814
|
+
mentor access.
|
|
15815
|
+
summary: Manage user access to groups
|
|
15816
|
+
tags:
|
|
15817
|
+
- core
|
|
15818
|
+
requestBody:
|
|
15819
|
+
content:
|
|
15820
|
+
application/json:
|
|
15821
|
+
schema:
|
|
15822
|
+
$ref: '#/components/schemas/UserGroupAccess'
|
|
15823
|
+
application/x-www-form-urlencoded:
|
|
15824
|
+
schema:
|
|
15825
|
+
$ref: '#/components/schemas/UserGroupAccess'
|
|
15826
|
+
multipart/form-data:
|
|
15827
|
+
schema:
|
|
15828
|
+
$ref: '#/components/schemas/UserGroupAccess'
|
|
15829
|
+
required: true
|
|
15830
|
+
security:
|
|
15831
|
+
- PlatformApiKeyAuthentication: []
|
|
15832
|
+
responses:
|
|
15833
|
+
'200':
|
|
15834
|
+
content:
|
|
15835
|
+
application/json:
|
|
15836
|
+
schema:
|
|
15837
|
+
$ref: '#/components/schemas/UserGroupAccess'
|
|
15838
|
+
description: ''
|
|
15839
|
+
'201':
|
|
15840
|
+
content:
|
|
15841
|
+
application/json:
|
|
15842
|
+
schema:
|
|
15843
|
+
$ref: '#/components/schemas/UserGroupAccess'
|
|
15844
|
+
description: ''
|
|
15845
|
+
'400':
|
|
15846
|
+
description: Invalid request data or validation errors
|
|
15847
|
+
'404':
|
|
15848
|
+
description: Platform or user not found
|
|
15849
|
+
'500':
|
|
15850
|
+
description: Internal server error
|
|
15681
15851
|
/api/core/session/logout/:
|
|
15682
15852
|
post:
|
|
15683
15853
|
operationId: core_session_logout_create
|
|
@@ -32071,6 +32241,76 @@ components:
|
|
|
32071
32241
|
* `document` - Document
|
|
32072
32242
|
* `audio` - Audio
|
|
32073
32243
|
* `other` - Other
|
|
32244
|
+
MentorPolicy:
|
|
32245
|
+
type: object
|
|
32246
|
+
description: |-
|
|
32247
|
+
Serializer for mentor-specific RBAC policies using ModelSerializer pattern.
|
|
32248
|
+
Accepts mentor_id and role, generates resources and role internally.
|
|
32249
|
+
properties:
|
|
32250
|
+
id:
|
|
32251
|
+
type: integer
|
|
32252
|
+
readOnly: true
|
|
32253
|
+
name:
|
|
32254
|
+
type: string
|
|
32255
|
+
readOnly: true
|
|
32256
|
+
description: Policy name. If not supplied, defaults to a UUID4
|
|
32257
|
+
platform_key:
|
|
32258
|
+
type: string
|
|
32259
|
+
description: Platform key where the mentor belongs
|
|
32260
|
+
writeOnly: true
|
|
32261
|
+
mentor_id:
|
|
32262
|
+
type: integer
|
|
32263
|
+
writeOnly: true
|
|
32264
|
+
description: ID of the mentor to manage access for
|
|
32265
|
+
role:
|
|
32266
|
+
type: string
|
|
32267
|
+
description: Role for accessing this mentor (viewer or editor)
|
|
32268
|
+
resources:
|
|
32269
|
+
readOnly: true
|
|
32270
|
+
description: List of resources this policy applies to
|
|
32271
|
+
users:
|
|
32272
|
+
type: array
|
|
32273
|
+
items:
|
|
32274
|
+
$ref: '#/components/schemas/RbacUser'
|
|
32275
|
+
readOnly: true
|
|
32276
|
+
groups:
|
|
32277
|
+
type: array
|
|
32278
|
+
items:
|
|
32279
|
+
$ref: '#/components/schemas/RbacPolicyGroup'
|
|
32280
|
+
readOnly: true
|
|
32281
|
+
groups_to_add:
|
|
32282
|
+
type: array
|
|
32283
|
+
items:
|
|
32284
|
+
type: integer
|
|
32285
|
+
writeOnly: true
|
|
32286
|
+
description: List of group IDs to grant access to this mentor
|
|
32287
|
+
groups_to_remove:
|
|
32288
|
+
type: array
|
|
32289
|
+
items:
|
|
32290
|
+
type: integer
|
|
32291
|
+
writeOnly: true
|
|
32292
|
+
description: List of group IDs to revoke access from this mentor
|
|
32293
|
+
users_to_add:
|
|
32294
|
+
type: array
|
|
32295
|
+
items:
|
|
32296
|
+
type: integer
|
|
32297
|
+
writeOnly: true
|
|
32298
|
+
description: List of user IDs to grant access to this mentor
|
|
32299
|
+
users_to_remove:
|
|
32300
|
+
type: array
|
|
32301
|
+
items:
|
|
32302
|
+
type: integer
|
|
32303
|
+
writeOnly: true
|
|
32304
|
+
description: List of user IDs to revoke access from this mentor
|
|
32305
|
+
required:
|
|
32306
|
+
- groups
|
|
32307
|
+
- id
|
|
32308
|
+
- mentor_id
|
|
32309
|
+
- name
|
|
32310
|
+
- platform_key
|
|
32311
|
+
- resources
|
|
32312
|
+
- role
|
|
32313
|
+
- users
|
|
32074
32314
|
MetricDetail:
|
|
32075
32315
|
type: object
|
|
32076
32316
|
description: Base serializer for detailed metric data.
|
|
@@ -33294,6 +33534,10 @@ components:
|
|
|
33294
33534
|
description:
|
|
33295
33535
|
type: string
|
|
33296
33536
|
description: Optional group description
|
|
33537
|
+
owner:
|
|
33538
|
+
allOf:
|
|
33539
|
+
- $ref: '#/components/schemas/RbacUser'
|
|
33540
|
+
readOnly: true
|
|
33297
33541
|
users:
|
|
33298
33542
|
type: array
|
|
33299
33543
|
items:
|
|
@@ -36494,6 +36738,10 @@ components:
|
|
|
36494
36738
|
description:
|
|
36495
36739
|
type: string
|
|
36496
36740
|
description: Optional group description
|
|
36741
|
+
owner:
|
|
36742
|
+
allOf:
|
|
36743
|
+
- $ref: '#/components/schemas/RbacUser'
|
|
36744
|
+
readOnly: true
|
|
36497
36745
|
users:
|
|
36498
36746
|
type: array
|
|
36499
36747
|
items:
|
|
@@ -36513,6 +36761,7 @@ components:
|
|
|
36513
36761
|
description: List of user IDs to remove from this group
|
|
36514
36762
|
required:
|
|
36515
36763
|
- id
|
|
36764
|
+
- owner
|
|
36516
36765
|
- platform
|
|
36517
36766
|
- platform_key
|
|
36518
36767
|
- unique_id
|
|
@@ -38576,6 +38825,74 @@ components:
|
|
|
38576
38825
|
type: string
|
|
38577
38826
|
required:
|
|
38578
38827
|
- message
|
|
38828
|
+
UserGroupAccess:
|
|
38829
|
+
type: object
|
|
38830
|
+
description: ModelSerializer for user group access policies
|
|
38831
|
+
properties:
|
|
38832
|
+
platform_key:
|
|
38833
|
+
type: string
|
|
38834
|
+
description: Platform key where the groups exist
|
|
38835
|
+
writeOnly: true
|
|
38836
|
+
user_id:
|
|
38837
|
+
type: integer
|
|
38838
|
+
description: ID of the user to manage group access for
|
|
38839
|
+
writeOnly: true
|
|
38840
|
+
groups_to_add:
|
|
38841
|
+
type: array
|
|
38842
|
+
items:
|
|
38843
|
+
type: integer
|
|
38844
|
+
writeOnly: true
|
|
38845
|
+
description: List of group IDs to grant access to
|
|
38846
|
+
groups_to_remove:
|
|
38847
|
+
type: array
|
|
38848
|
+
items:
|
|
38849
|
+
type: integer
|
|
38850
|
+
writeOnly: true
|
|
38851
|
+
description: List of group IDs to revoke access from
|
|
38852
|
+
policy_id:
|
|
38853
|
+
type: integer
|
|
38854
|
+
readOnly: true
|
|
38855
|
+
description: Policy ID
|
|
38856
|
+
policy_name:
|
|
38857
|
+
type: string
|
|
38858
|
+
readOnly: true
|
|
38859
|
+
description: Policy name
|
|
38860
|
+
groups_with_access:
|
|
38861
|
+
type: array
|
|
38862
|
+
items:
|
|
38863
|
+
$ref: '#/components/schemas/UserGroupAccessInfo'
|
|
38864
|
+
readOnly: true
|
|
38865
|
+
description: Groups with access
|
|
38866
|
+
required:
|
|
38867
|
+
- groups_with_access
|
|
38868
|
+
- platform_key
|
|
38869
|
+
- policy_id
|
|
38870
|
+
- policy_name
|
|
38871
|
+
- user_id
|
|
38872
|
+
UserGroupAccessInfo:
|
|
38873
|
+
type: object
|
|
38874
|
+
description: Serializer for group access information in responses
|
|
38875
|
+
properties:
|
|
38876
|
+
id:
|
|
38877
|
+
type: integer
|
|
38878
|
+
description: Group ID
|
|
38879
|
+
name:
|
|
38880
|
+
type: string
|
|
38881
|
+
description: Group name
|
|
38882
|
+
description:
|
|
38883
|
+
type: string
|
|
38884
|
+
description: Group description
|
|
38885
|
+
permissions:
|
|
38886
|
+
type: array
|
|
38887
|
+
items:
|
|
38888
|
+
type: string
|
|
38889
|
+
description: List of permissions user has for this group (e.g., ['read',
|
|
38890
|
+
'manageMentors'])
|
|
38891
|
+
required:
|
|
38892
|
+
- description
|
|
38893
|
+
- id
|
|
38894
|
+
- name
|
|
38895
|
+
- permissions
|
|
38579
38896
|
UserInfo:
|
|
38580
38897
|
type: object
|
|
38581
38898
|
description: Serializer for user information.
|
package/src/index.ts
CHANGED
|
@@ -149,6 +149,7 @@ export type { MarkAllReadRequest } from './models/MarkAllReadRequest';
|
|
|
149
149
|
export type { MarkAllReadResponse } from './models/MarkAllReadResponse';
|
|
150
150
|
export type { MediaResource } from './models/MediaResource';
|
|
151
151
|
export { MediaTypeEnum } from './models/MediaTypeEnum';
|
|
152
|
+
export type { MentorPolicy } from './models/MentorPolicy';
|
|
152
153
|
export type { MetricDetail } from './models/MetricDetail';
|
|
153
154
|
export { ModeEnum } from './models/ModeEnum';
|
|
154
155
|
export type { NewPerLearnerList } from './models/NewPerLearnerList';
|
|
@@ -382,6 +383,8 @@ export type { UserApp } from './models/UserApp';
|
|
|
382
383
|
export type { UserDeleteAPIError } from './models/UserDeleteAPIError';
|
|
383
384
|
export type { UserDeleteAPIRequest } from './models/UserDeleteAPIRequest';
|
|
384
385
|
export type { UserDeleteAPIResponse } from './models/UserDeleteAPIResponse';
|
|
386
|
+
export type { UserGroupAccess } from './models/UserGroupAccess';
|
|
387
|
+
export type { UserGroupAccessInfo } from './models/UserGroupAccessInfo';
|
|
385
388
|
export type { UserInfo } from './models/UserInfo';
|
|
386
389
|
export type { UserLicenseAssignmentCreate } from './models/UserLicenseAssignmentCreate';
|
|
387
390
|
export type { UserLicenseAssignmentDetail } from './models/UserLicenseAssignmentDetail';
|