@iblai/iblai-api 0.0.2-core → 0.0.12-scan-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.
Files changed (200) hide show
  1. package/dist/index.cjs.js +3800 -3143
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +3800 -3143
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +3800 -3143
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +27 -5
  8. package/dist/types/models/CatalogAutoIncrementResponse.d.ts +11 -11
  9. package/dist/types/models/CourseGroupSuggestionDetail.d.ts +2 -2
  10. package/dist/types/models/CourseInvitationDetail.d.ts +2 -2
  11. package/dist/types/models/CourseLicenseAssignmentDetail.d.ts +2 -2
  12. package/dist/types/models/CourseLicenseDetail.d.ts +4 -0
  13. package/dist/types/models/CourseLicenseGroupAssignmentDetail.d.ts +2 -2
  14. package/dist/types/models/CourseReviewPaginatedResponse.d.ts +18 -0
  15. package/dist/types/models/CourseReviewRequest.d.ts +37 -0
  16. package/dist/types/models/CourseReviewResponse.d.ts +40 -0
  17. package/dist/types/models/PaginatedAssertionsResponse.d.ts +21 -0
  18. package/dist/types/models/PaginatedCourseAccessRequest.d.ts +2 -2
  19. package/dist/types/models/PaginatedCourseGroupSuggestion.d.ts +2 -2
  20. package/dist/types/models/PaginatedCourseInvitation.d.ts +2 -2
  21. package/dist/types/models/PaginatedCourseLicense.d.ts +2 -2
  22. package/dist/types/models/PaginatedCourseLicenseAssignment.d.ts +2 -2
  23. package/dist/types/models/PaginatedCourseLicenseGroupAssignment.d.ts +2 -2
  24. package/dist/types/models/PaginatedCourseSuggestion.d.ts +2 -2
  25. package/dist/types/models/PaginatedPathwayGroupSuggestion.d.ts +2 -2
  26. package/dist/types/models/PaginatedPathwaySuggestion.d.ts +2 -2
  27. package/dist/types/models/PaginatedPlatformInvitation.d.ts +2 -2
  28. package/dist/types/models/PaginatedPlatformLicense.d.ts +2 -2
  29. package/dist/types/models/PaginatedProgramGroupSuggestion.d.ts +2 -2
  30. package/dist/types/models/PaginatedProgramInvitation.d.ts +2 -2
  31. package/dist/types/models/PaginatedProgramLicense.d.ts +2 -2
  32. package/dist/types/models/PaginatedProgramLicenseAssignment.d.ts +2 -2
  33. package/dist/types/models/PaginatedProgramLicenseGroupAssignment.d.ts +2 -2
  34. package/dist/types/models/PaginatedProgramSuggestion.d.ts +2 -2
  35. package/dist/types/models/PaginatedRbacGroupList.d.ts +7 -0
  36. package/dist/types/models/PaginatedRbacPolicyList.d.ts +7 -0
  37. package/dist/types/models/PaginatedRbacRoleList.d.ts +7 -0
  38. package/dist/types/models/PaginatedSkill.d.ts +7 -0
  39. package/dist/types/models/PaginatedUserLicense.d.ts +2 -2
  40. package/dist/types/models/PaginatedUserLicenseAssignment.d.ts +2 -2
  41. package/dist/types/models/PaginatedUserLicenseGroupAssignment.d.ts +2 -2
  42. package/dist/types/models/PatchedRbacGroup.d.ts +34 -0
  43. package/dist/types/models/PatchedRbacPolicy.d.ts +48 -0
  44. package/dist/types/models/PatchedRbacRole.d.ts +20 -0
  45. package/dist/types/models/PathwayGroupSuggestionDetail.d.ts +2 -2
  46. package/dist/types/models/PlatformInvitationDetail.d.ts +2 -2
  47. package/dist/types/models/PlatformSkillPointResponse.d.ts +2 -2
  48. package/dist/types/models/ProgramEnrollmentSearchResponse.d.ts +22 -0
  49. package/dist/types/models/ProgramLicenseAssignmentDetail.d.ts +4 -9
  50. package/dist/types/models/ProgramLicenseDetail.d.ts +6 -2
  51. package/dist/types/models/ProgramMetadataRequest.d.ts +29 -0
  52. package/dist/types/models/ProgramMetadataResponse.d.ts +29 -0
  53. package/dist/types/models/ProgramReview.d.ts +41 -0
  54. package/dist/types/models/ProgramReviewPaginatedResponse.d.ts +22 -0
  55. package/dist/types/models/ProgramReviewRequest.d.ts +37 -0
  56. package/dist/types/models/RbacBaseRole.d.ts +15 -0
  57. package/dist/types/models/RbacGroup.d.ts +34 -0
  58. package/dist/types/models/RbacPlatform.d.ts +14 -0
  59. package/dist/types/models/RbacPolicy.d.ts +48 -0
  60. package/dist/types/models/RbacPolicyGroup.d.ts +20 -0
  61. package/dist/types/models/RbacRole.d.ts +20 -0
  62. package/dist/types/models/RbacUser.d.ts +13 -0
  63. package/dist/types/models/StripeBillingPageIdentifierResponse.d.ts +9 -0
  64. package/dist/types/models/StripeContext.d.ts +7 -0
  65. package/dist/types/models/StripeNewUserTenantLaunchRequest.d.ts +20 -0
  66. package/dist/types/models/UserApp.d.ts +0 -2
  67. package/dist/types/models/UserLicenseAssignmentDetail.d.ts +1 -1
  68. package/dist/types/models/UserLicenseDetail.d.ts +5 -1
  69. package/dist/types/models/UserLicenseGroupAssignmentDetail.d.ts +2 -2
  70. package/dist/types/services/AnalyticsService.d.ts +42 -13
  71. package/dist/types/services/AudienceService.d.ts +345 -149
  72. package/dist/types/services/CareerService.d.ts +117 -90
  73. package/dist/types/services/CatalogService.d.ts +3799 -1430
  74. package/dist/types/services/CoreService.d.ts +452 -126
  75. package/dist/types/services/CredentialsService.d.ts +177 -141
  76. package/dist/types/services/DepartmentsService.d.ts +53 -16
  77. package/dist/types/services/EngagementService.d.ts +459 -179
  78. package/dist/types/services/FeaturesService.d.ts +16 -7
  79. package/dist/types/services/FinanceService.d.ts +49 -20
  80. package/dist/types/services/MediaResourcesService.d.ts +243 -67
  81. package/dist/types/services/NotificationBuilderService.d.ts +31 -17
  82. package/dist/types/services/NotificationService.d.ts +56 -49
  83. package/dist/types/services/OrgsService.d.ts +106 -77
  84. package/dist/types/services/OverviewService.d.ts +154 -55
  85. package/dist/types/services/PerformanceService.d.ts +132 -56
  86. package/dist/types/services/PerlearnerService.d.ts +431 -217
  87. package/dist/types/services/PlatformService.d.ts +221 -116
  88. package/dist/types/services/ProviderAssociationService.d.ts +3 -2
  89. package/dist/types/services/ProvidersService.d.ts +40 -18
  90. package/dist/types/services/ProvisionService.d.ts +3 -2
  91. package/dist/types/services/RecommendationsService.d.ts +3 -3
  92. package/dist/types/services/ReportsService.d.ts +22 -16
  93. package/dist/types/services/RolesService.d.ts +8 -6
  94. package/dist/types/services/SearchService.d.ts +305 -80
  95. package/dist/types/services/ServiceService.d.ts +89 -29
  96. package/dist/types/services/SkillsService.d.ts +40 -32
  97. package/dist/types/services/UserGroupsService.d.ts +53 -16
  98. package/package.json +3 -2
  99. package/src/core/OpenAPI.ts +1 -1
  100. package/src/index.ts +27 -5
  101. package/src/models/CatalogAutoIncrementResponse.ts +11 -11
  102. package/src/models/CourseGroupSuggestionDetail.ts +2 -2
  103. package/src/models/CourseInvitationDetail.ts +2 -2
  104. package/src/models/CourseLicenseAssignmentDetail.ts +2 -2
  105. package/src/models/CourseLicenseDetail.ts +4 -0
  106. package/src/models/CourseLicenseGroupAssignmentDetail.ts +2 -2
  107. package/src/models/CourseReviewPaginatedResponse.ts +23 -0
  108. package/src/models/CourseReviewRequest.ts +42 -0
  109. package/src/models/CourseReviewResponse.ts +45 -0
  110. package/src/models/PaginatedAssertionsResponse.ts +26 -0
  111. package/src/models/PaginatedCourseAccessRequest.ts +2 -2
  112. package/src/models/PaginatedCourseGroupSuggestion.ts +2 -2
  113. package/src/models/PaginatedCourseInvitation.ts +2 -2
  114. package/src/models/PaginatedCourseLicense.ts +2 -2
  115. package/src/models/PaginatedCourseLicenseAssignment.ts +2 -2
  116. package/src/models/PaginatedCourseLicenseGroupAssignment.ts +2 -2
  117. package/src/models/PaginatedCourseSuggestion.ts +2 -2
  118. package/src/models/PaginatedPathwayGroupSuggestion.ts +2 -2
  119. package/src/models/PaginatedPathwaySuggestion.ts +2 -2
  120. package/src/models/PaginatedPlatformInvitation.ts +2 -2
  121. package/src/models/PaginatedPlatformLicense.ts +2 -2
  122. package/src/models/PaginatedProgramGroupSuggestion.ts +2 -2
  123. package/src/models/PaginatedProgramInvitation.ts +2 -2
  124. package/src/models/PaginatedProgramLicense.ts +2 -2
  125. package/src/models/PaginatedProgramLicenseAssignment.ts +2 -2
  126. package/src/models/PaginatedProgramLicenseGroupAssignment.ts +2 -2
  127. package/src/models/PaginatedProgramSuggestion.ts +2 -2
  128. package/src/models/PaginatedRbacGroupList.ts +12 -0
  129. package/src/models/PaginatedRbacPolicyList.ts +12 -0
  130. package/src/models/PaginatedRbacRoleList.ts +12 -0
  131. package/src/models/PaginatedSkill.ts +12 -0
  132. package/src/models/PaginatedUserLicense.ts +2 -2
  133. package/src/models/PaginatedUserLicenseAssignment.ts +2 -2
  134. package/src/models/PaginatedUserLicenseGroupAssignment.ts +2 -2
  135. package/src/models/PatchedRbacGroup.ts +39 -0
  136. package/src/models/PatchedRbacPolicy.ts +53 -0
  137. package/src/models/PatchedRbacRole.ts +25 -0
  138. package/src/models/PathwayGroupSuggestionDetail.ts +2 -2
  139. package/src/models/PlatformInvitationDetail.ts +2 -2
  140. package/src/models/PlatformSkillPointResponse.ts +2 -2
  141. package/src/models/ProgramEnrollmentSearchResponse.ts +27 -0
  142. package/src/models/ProgramLicenseAssignmentDetail.ts +4 -9
  143. package/src/models/ProgramLicenseDetail.ts +6 -2
  144. package/src/models/ProgramMetadataRequest.ts +34 -0
  145. package/src/models/ProgramMetadataResponse.ts +34 -0
  146. package/src/models/ProgramReview.ts +46 -0
  147. package/src/models/ProgramReviewPaginatedResponse.ts +27 -0
  148. package/src/models/ProgramReviewRequest.ts +42 -0
  149. package/src/models/RbacBaseRole.ts +20 -0
  150. package/src/models/RbacGroup.ts +39 -0
  151. package/src/models/RbacPlatform.ts +19 -0
  152. package/src/models/RbacPolicy.ts +53 -0
  153. package/src/models/RbacPolicyGroup.ts +25 -0
  154. package/src/models/RbacRole.ts +25 -0
  155. package/src/models/RbacUser.ts +18 -0
  156. package/src/models/StripeBillingPageIdentifierResponse.ts +14 -0
  157. package/src/models/StripeContext.ts +12 -0
  158. package/src/models/StripeNewUserTenantLaunchRequest.ts +25 -0
  159. package/src/models/UserApp.ts +0 -2
  160. package/src/models/UserLicenseAssignmentDetail.ts +1 -1
  161. package/src/models/UserLicenseDetail.ts +5 -1
  162. package/src/models/UserLicenseGroupAssignmentDetail.ts +2 -2
  163. package/src/services/AnalyticsService.ts +45 -16
  164. package/src/services/AudienceService.ts +380 -184
  165. package/src/services/CareerService.ts +144 -117
  166. package/src/services/CatalogService.ts +6902 -4245
  167. package/src/services/CoreService.ts +782 -172
  168. package/src/services/CredentialsService.ts +257 -176
  169. package/src/services/DepartmentsService.ts +56 -19
  170. package/src/services/EngagementService.ts +528 -236
  171. package/src/services/FeaturesService.ts +19 -10
  172. package/src/services/FinanceService.ts +54 -25
  173. package/src/services/MediaResourcesService.ts +251 -75
  174. package/src/services/NotificationBuilderService.ts +36 -22
  175. package/src/services/NotificationService.ts +73 -61
  176. package/src/services/OrgsService.ts +135 -106
  177. package/src/services/OverviewService.ts +172 -73
  178. package/src/services/PerformanceService.ts +153 -77
  179. package/src/services/PerlearnerService.ts +591 -279
  180. package/src/services/PlatformService.ts +278 -157
  181. package/src/services/ProviderAssociationService.ts +4 -3
  182. package/src/services/ProvidersService.ts +58 -27
  183. package/src/services/ProvisionService.ts +4 -3
  184. package/src/services/RecommendationsService.ts +5 -4
  185. package/src/services/ReportsService.ts +28 -22
  186. package/src/services/RolesService.ts +10 -8
  187. package/src/services/SearchService.ts +323 -98
  188. package/src/services/ServiceService.ts +149 -39
  189. package/src/services/SkillsService.ts +56 -44
  190. package/src/services/UserGroupsService.ts +56 -19
  191. package/dist/types/models/BlockSkillPointInfoResponse.d.ts +0 -10
  192. package/dist/types/models/CourseCompletionCatalogResponse.d.ts +0 -11
  193. package/dist/types/models/CourseEligibilityCheckResponse.d.ts +0 -25
  194. package/dist/types/models/CourseSkillPointInfoResponse.d.ts +0 -10
  195. package/dist/types/models/UserSkillPointInfoResponse.d.ts +0 -10
  196. package/src/models/BlockSkillPointInfoResponse.ts +0 -15
  197. package/src/models/CourseCompletionCatalogResponse.ts +0 -16
  198. package/src/models/CourseEligibilityCheckResponse.ts +0 -30
  199. package/src/models/CourseSkillPointInfoResponse.ts +0 -15
  200. package/src/models/UserSkillPointInfoResponse.ts +0 -15
@@ -19,11 +19,11 @@ export type PaginatedProgramLicense = {
19
19
  /**
20
20
  * URL for next page of results
21
21
  */
22
- next: string | null;
22
+ next_page: string | null;
23
23
  /**
24
24
  * URL for previous page of results
25
25
  */
26
- previous: string | null;
26
+ previous_page: string | null;
27
27
  /**
28
28
  * List of program licenses
29
29
  */
@@ -19,11 +19,11 @@ export type PaginatedProgramLicenseAssignment = {
19
19
  /**
20
20
  * URL for next page of results
21
21
  */
22
- next: string | null;
22
+ next_page: string | null;
23
23
  /**
24
24
  * URL for previous page of results
25
25
  */
26
- previous: string | null;
26
+ previous_page: string | null;
27
27
  /**
28
28
  * List of program license assignments
29
29
  */
@@ -19,11 +19,11 @@ export type PaginatedProgramLicenseGroupAssignment = {
19
19
  /**
20
20
  * URL for next page of results
21
21
  */
22
- next: string | null;
22
+ next_page: string | null;
23
23
  /**
24
24
  * URL for previous page of results
25
25
  */
26
- previous: string | null;
26
+ previous_page: string | null;
27
27
  /**
28
28
  * List of program license group assignments
29
29
  */
@@ -10,11 +10,11 @@ export type PaginatedProgramSuggestion = {
10
10
  /**
11
11
  * URL for next page of results
12
12
  */
13
- next: string | null;
13
+ next_page: string | null;
14
14
  /**
15
15
  * URL for previous page of results
16
16
  */
17
- previous: string | null;
17
+ previous_page: string | null;
18
18
  /**
19
19
  * List of program suggestions
20
20
  */
@@ -0,0 +1,7 @@
1
+ import type { RbacGroup } from './RbacGroup';
2
+ export type PaginatedRbacGroupList = {
3
+ count: number;
4
+ next?: string | null;
5
+ previous?: string | null;
6
+ results: Array<RbacGroup>;
7
+ };
@@ -0,0 +1,7 @@
1
+ import type { RbacPolicy } from './RbacPolicy';
2
+ export type PaginatedRbacPolicyList = {
3
+ count: number;
4
+ next?: string | null;
5
+ previous?: string | null;
6
+ results: Array<RbacPolicy>;
7
+ };
@@ -0,0 +1,7 @@
1
+ import type { RbacRole } from './RbacRole';
2
+ export type PaginatedRbacRoleList = {
3
+ count: number;
4
+ next?: string | null;
5
+ previous?: string | null;
6
+ results: Array<RbacRole>;
7
+ };
@@ -0,0 +1,7 @@
1
+ import type { Skill } from './Skill';
2
+ export type PaginatedSkill = {
3
+ next_page: string;
4
+ previous_page: string;
5
+ readonly results: Array<Skill>;
6
+ readonly count: number;
7
+ };
@@ -10,11 +10,11 @@ export type PaginatedUserLicense = {
10
10
  /**
11
11
  * URL for next page of results
12
12
  */
13
- next: string | null;
13
+ next_page: string | null;
14
14
  /**
15
15
  * URL for previous page of results
16
16
  */
17
- previous: string | null;
17
+ previous_page: string | null;
18
18
  /**
19
19
  * List of user licenses
20
20
  */
@@ -10,11 +10,11 @@ export type PaginatedUserLicenseAssignment = {
10
10
  /**
11
11
  * URL for next page of results
12
12
  */
13
- next: string | null;
13
+ next_page: string | null;
14
14
  /**
15
15
  * URL for previous page of results
16
16
  */
17
- previous: string | null;
17
+ previous_page: string | null;
18
18
  /**
19
19
  * List of user license assignments
20
20
  */
@@ -10,11 +10,11 @@ export type PaginatedUserLicenseGroupAssignment = {
10
10
  /**
11
11
  * URL for next page of results
12
12
  */
13
- next: string | null;
13
+ next_page: string | null;
14
14
  /**
15
15
  * URL for previous page of results
16
16
  */
17
- previous: string | null;
17
+ previous_page: string | null;
18
18
  /**
19
19
  * List of user license group assignments
20
20
  */
@@ -0,0 +1,34 @@
1
+ import type { RbacPlatform } from './RbacPlatform';
2
+ import type { RbacUser } from './RbacUser';
3
+ /**
4
+ * Serializer for RBAC groups.
5
+ */
6
+ export type PatchedRbacGroup = {
7
+ readonly id?: number;
8
+ /**
9
+ * The unique identifier for the group
10
+ */
11
+ unique_id?: string;
12
+ readonly platform?: RbacPlatform;
13
+ /**
14
+ * The platform key
15
+ */
16
+ platform_key?: string;
17
+ /**
18
+ * Optional name of the group
19
+ */
20
+ name?: string;
21
+ /**
22
+ * Optional group description
23
+ */
24
+ description?: string;
25
+ readonly users?: Array<RbacUser>;
26
+ /**
27
+ * List of user IDs to add to this group
28
+ */
29
+ users_to_add?: Array<number>;
30
+ /**
31
+ * List of user IDs to remove from this group
32
+ */
33
+ users_to_remove?: Array<number>;
34
+ };
@@ -0,0 +1,48 @@
1
+ import type { RbacBaseRole } from './RbacBaseRole';
2
+ import type { RbacPlatform } from './RbacPlatform';
3
+ import type { RbacPolicyGroup } from './RbacPolicyGroup';
4
+ import type { RbacUser } from './RbacUser';
5
+ /**
6
+ * Serializer for policies.
7
+ */
8
+ export type PatchedRbacPolicy = {
9
+ readonly id?: number;
10
+ /**
11
+ * Role information (read-only)
12
+ */
13
+ readonly role?: RbacBaseRole;
14
+ /**
15
+ * Platform information (read-only)
16
+ */
17
+ readonly platform?: RbacPlatform;
18
+ /**
19
+ * List of resource paths this policy grants access to (e.g., ['/platforms/1/mentors', '/platforms/1/mentors/settings'])
20
+ */
21
+ resources?: Array<string>;
22
+ readonly users?: Array<RbacUser>;
23
+ readonly groups?: Array<RbacPolicyGroup>;
24
+ /**
25
+ * ID of the role this policy applies to
26
+ */
27
+ role_id?: number;
28
+ /**
29
+ * Platform key where this policy applies
30
+ */
31
+ platform_key?: string;
32
+ /**
33
+ * List of user IDs to add to this Policy
34
+ */
35
+ users_to_add?: Array<number>;
36
+ /**
37
+ * List of user IDs to remove from this Policy
38
+ */
39
+ users_to_remove?: Array<number>;
40
+ /**
41
+ * List of group IDs to add to this Policy
42
+ */
43
+ groups_to_add?: Array<number>;
44
+ /**
45
+ * List of group IDs to remove from this Policy
46
+ */
47
+ groups_to_remove?: Array<number>;
48
+ };
@@ -0,0 +1,20 @@
1
+ import type { RbacPlatform } from './RbacPlatform';
2
+ /**
3
+ * Serializer for roles.
4
+ */
5
+ export type PatchedRbacRole = {
6
+ readonly id?: number;
7
+ name?: string;
8
+ /**
9
+ * Platform information (read-only)
10
+ */
11
+ readonly platform?: RbacPlatform;
12
+ /**
13
+ * Platform key where this role belongs
14
+ */
15
+ platform_key?: string;
16
+ /**
17
+ * List of actions/permissions this role can perform (e.g., ['Ibl.Mentor/Settings/read', 'Ibl.Mentor/Settings/write'])
18
+ */
19
+ actions?: Array<string>;
20
+ };
@@ -21,7 +21,7 @@ export type PathwayGroupSuggestionDetail = {
21
21
  /**
22
22
  * Whether the suggestion has been accepted
23
23
  */
24
- accepted: boolean;
24
+ accepted?: boolean;
25
25
  /**
26
26
  * Whether the suggestion is visible
27
27
  */
@@ -57,5 +57,5 @@ export type PathwayGroupSuggestionDetail = {
57
57
  /**
58
58
  * Number of users in the group
59
59
  */
60
- user_count: number;
60
+ user_count?: number;
61
61
  };
@@ -9,7 +9,7 @@ export type PlatformInvitationDetail = {
9
9
  /**
10
10
  * The ID of the user associated with the invitation
11
11
  */
12
- user_id: number | null;
12
+ user_id?: number | null;
13
13
  /**
14
14
  * The username of the user associated with the invitation
15
15
  */
@@ -21,7 +21,7 @@ export type PlatformInvitationDetail = {
21
21
  /**
22
22
  * When the invitation was created
23
23
  */
24
- created: string;
24
+ created?: string;
25
25
  /**
26
26
  * When the invitation was started
27
27
  */
@@ -13,9 +13,9 @@ export type PlatformSkillPointResponse = {
13
13
  /**
14
14
  * URL for next page of results
15
15
  */
16
- next: string | null;
16
+ next_page: string | null;
17
17
  /**
18
18
  * URL for previous page of results
19
19
  */
20
- previous: string | null;
20
+ previous_page: string | null;
21
21
  };
@@ -0,0 +1,22 @@
1
+ import type { ProgramEnrollmentPlus } from './ProgramEnrollmentPlus';
2
+ /**
3
+ * Response serializer for ProgramEnrollmentSearchView GET endpoint.
4
+ */
5
+ export type ProgramEnrollmentSearchResponse = {
6
+ /**
7
+ * List of program enrollments
8
+ */
9
+ results: Array<ProgramEnrollmentPlus>;
10
+ /**
11
+ * Total number of reviews
12
+ */
13
+ count: number;
14
+ /**
15
+ * Next page number
16
+ */
17
+ next_page: number | null;
18
+ /**
19
+ * Previous page number
20
+ */
21
+ previous_page: number | null;
22
+ };
@@ -20,7 +20,6 @@
20
20
  * license_id: The ID of the program license
21
21
  * license_name: The name of the program license
22
22
  * program_key: The program key associated with the license
23
- * program_name: The name of the program associated with the license
24
23
  */
25
24
  export type ProgramLicenseAssignmentDetail = {
26
25
  /**
@@ -54,11 +53,11 @@ export type ProgramLicenseAssignmentDetail = {
54
53
  /**
55
54
  * Whether the assignment was directly assigned to the user (vs. via a group)
56
55
  */
57
- direct: boolean | null;
56
+ direct?: boolean;
58
57
  /**
59
58
  * URL to redirect to after fulfillment
60
59
  */
61
- redirect_to: string | null;
60
+ redirect_to?: string;
62
61
  /**
63
62
  * Additional metadata for the assignment
64
63
  */
@@ -66,11 +65,11 @@ export type ProgramLicenseAssignmentDetail = {
66
65
  /**
67
66
  * When the assignment was created
68
67
  */
69
- created: string;
68
+ created?: string;
70
69
  /**
71
70
  * When the assignment was last modified
72
71
  */
73
- modified: string;
72
+ modified?: string;
74
73
  /**
75
74
  * The ID of the program license
76
75
  */
@@ -83,8 +82,4 @@ export type ProgramLicenseAssignmentDetail = {
83
82
  * The program key associated with the license
84
83
  */
85
84
  program_key: string;
86
- /**
87
- * The name of the program associated with the license
88
- */
89
- program_name: string;
90
85
  };
@@ -74,11 +74,15 @@ export type ProgramLicenseDetail = {
74
74
  /**
75
75
  * The program ID associated with the license
76
76
  */
77
- program_id: string;
77
+ program_id?: string;
78
+ /**
79
+ * The program key associated with the license
80
+ */
81
+ program_key?: string;
78
82
  /**
79
83
  * The name of the program associated with the license
80
84
  */
81
- program_name: string;
85
+ program_name?: string;
82
86
  /**
83
87
  * Number of assignments using this license
84
88
  */
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Request serializer for ProgramMetadataView POST endpoint.
3
+ */
4
+ export type ProgramMetadataRequest = {
5
+ /**
6
+ * The unique identifier for the program
7
+ */
8
+ program_id: string;
9
+ /**
10
+ * The organization associated with the program
11
+ */
12
+ org?: string;
13
+ /**
14
+ * Platform key identifier (alternative to org)
15
+ */
16
+ platform_key?: string;
17
+ /**
18
+ * Program key (alternative to program_id + org)
19
+ */
20
+ program_key?: string;
21
+ /**
22
+ * Metadata to update for the program
23
+ */
24
+ metadata: Record<string, any>;
25
+ /**
26
+ * Whether to update existing metadata
27
+ */
28
+ update?: boolean;
29
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Response serializer for ProgramMetadataView GET endpoint.
3
+ */
4
+ export type ProgramMetadataResponse = {
5
+ /**
6
+ * Program name
7
+ */
8
+ name?: string | null;
9
+ /**
10
+ * Program description
11
+ */
12
+ description?: string | null;
13
+ /**
14
+ * Whether the program is enabled
15
+ */
16
+ enabled?: boolean | null;
17
+ /**
18
+ * Program slug
19
+ */
20
+ slug?: string | null;
21
+ /**
22
+ * List of associated skills
23
+ */
24
+ skills?: Array<string>;
25
+ /**
26
+ * Platform key
27
+ */
28
+ platform_key?: string | null;
29
+ };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Serializer for program review data.
3
+ */
4
+ export type ProgramReview = {
5
+ /**
6
+ * The user identifier
7
+ */
8
+ user_id: number;
9
+ /**
10
+ * The username of the reviewer
11
+ */
12
+ username: string;
13
+ /**
14
+ * Review content/text
15
+ */
16
+ content: string;
17
+ /**
18
+ * Rating value (typically 1-5)
19
+ */
20
+ rating: number | null;
21
+ /**
22
+ * Review title
23
+ */
24
+ title: string;
25
+ /**
26
+ * Whether the review is visible
27
+ */
28
+ visible: boolean;
29
+ /**
30
+ * Date when review was created
31
+ */
32
+ created: string | null;
33
+ /**
34
+ * Date when review was last modified
35
+ */
36
+ modified: string | null;
37
+ /**
38
+ * The program key identifier
39
+ */
40
+ program_key: string;
41
+ };
@@ -0,0 +1,22 @@
1
+ import type { ProgramReview } from './ProgramReview';
2
+ /**
3
+ * Paginated response serializer for ProgramReviewQueryView GET endpoint.
4
+ */
5
+ export type ProgramReviewPaginatedResponse = {
6
+ /**
7
+ * Total number of reviews
8
+ */
9
+ count: number;
10
+ /**
11
+ * Next page number
12
+ */
13
+ next_page: number | null;
14
+ /**
15
+ * Previous page number
16
+ */
17
+ previous_page: number | null;
18
+ /**
19
+ * List of program reviews
20
+ */
21
+ results: Array<ProgramReview>;
22
+ };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Request serializer for ProgramReviewUpdateView POST endpoint.
3
+ */
4
+ export type ProgramReviewRequest = {
5
+ /**
6
+ * The program key to review (format: program-v1:org+program_id)
7
+ */
8
+ program_key: string;
9
+ /**
10
+ * The username of the reviewer
11
+ */
12
+ username: string;
13
+ /**
14
+ * The user ID of the reviewer (alternative to username)
15
+ */
16
+ user_id?: number;
17
+ /**
18
+ * The rating value (typically 1-5)
19
+ */
20
+ rating?: number | null;
21
+ /**
22
+ * The review title
23
+ */
24
+ title?: string;
25
+ /**
26
+ * The review content/text
27
+ */
28
+ content?: string;
29
+ /**
30
+ * Whether the review is visible
31
+ */
32
+ visible?: boolean;
33
+ /**
34
+ * Additional review metadata
35
+ */
36
+ metadata?: any;
37
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Serializer for roles.
3
+ */
4
+ export type RbacBaseRole = {
5
+ readonly id: number;
6
+ name: string;
7
+ /**
8
+ * Platform key where this role belongs
9
+ */
10
+ platform_key: string;
11
+ /**
12
+ * List of actions/permissions this role can perform (e.g., ['Ibl.Mentor/Settings/read', 'Ibl.Mentor/Settings/write'])
13
+ */
14
+ actions: Array<string>;
15
+ };
@@ -0,0 +1,34 @@
1
+ import type { RbacPlatform } from './RbacPlatform';
2
+ import type { RbacUser } from './RbacUser';
3
+ /**
4
+ * Serializer for RBAC groups.
5
+ */
6
+ export type RbacGroup = {
7
+ readonly id: number;
8
+ /**
9
+ * The unique identifier for the group
10
+ */
11
+ unique_id: string;
12
+ readonly platform: RbacPlatform;
13
+ /**
14
+ * The platform key
15
+ */
16
+ platform_key: string;
17
+ /**
18
+ * Optional name of the group
19
+ */
20
+ name?: string;
21
+ /**
22
+ * Optional group description
23
+ */
24
+ description?: string;
25
+ readonly users: Array<RbacUser>;
26
+ /**
27
+ * List of user IDs to add to this group
28
+ */
29
+ users_to_add?: Array<number>;
30
+ /**
31
+ * List of user IDs to remove from this group
32
+ */
33
+ users_to_remove?: Array<number>;
34
+ };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Serializer for platforms.
3
+ */
4
+ export type RbacPlatform = {
5
+ readonly id: number;
6
+ /**
7
+ * The platform key
8
+ */
9
+ key: string;
10
+ /**
11
+ * The name of the platform
12
+ */
13
+ name?: string | null;
14
+ };
@@ -0,0 +1,48 @@
1
+ import type { RbacBaseRole } from './RbacBaseRole';
2
+ import type { RbacPlatform } from './RbacPlatform';
3
+ import type { RbacPolicyGroup } from './RbacPolicyGroup';
4
+ import type { RbacUser } from './RbacUser';
5
+ /**
6
+ * Serializer for policies.
7
+ */
8
+ export type RbacPolicy = {
9
+ readonly id: number;
10
+ /**
11
+ * Role information (read-only)
12
+ */
13
+ readonly role: RbacBaseRole;
14
+ /**
15
+ * Platform information (read-only)
16
+ */
17
+ readonly platform: RbacPlatform;
18
+ /**
19
+ * List of resource paths this policy grants access to (e.g., ['/platforms/1/mentors', '/platforms/1/mentors/settings'])
20
+ */
21
+ resources: Array<string>;
22
+ readonly users: Array<RbacUser>;
23
+ readonly groups: Array<RbacPolicyGroup>;
24
+ /**
25
+ * ID of the role this policy applies to
26
+ */
27
+ role_id: number;
28
+ /**
29
+ * Platform key where this policy applies
30
+ */
31
+ platform_key: string;
32
+ /**
33
+ * List of user IDs to add to this Policy
34
+ */
35
+ users_to_add?: Array<number>;
36
+ /**
37
+ * List of user IDs to remove from this Policy
38
+ */
39
+ users_to_remove?: Array<number>;
40
+ /**
41
+ * List of group IDs to add to this Policy
42
+ */
43
+ groups_to_add?: Array<number>;
44
+ /**
45
+ * List of group IDs to remove from this Policy
46
+ */
47
+ groups_to_remove?: Array<number>;
48
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Serializer for RBAC groups when returned in a policy.
3
+ *
4
+ * We are limiting the returne data since we don't need everything there
5
+ */
6
+ export type RbacPolicyGroup = {
7
+ readonly id: number;
8
+ /**
9
+ * Optional name of the group
10
+ */
11
+ name?: string;
12
+ /**
13
+ * The unique identifier for the group
14
+ */
15
+ unique_id: string;
16
+ /**
17
+ * Optional group description
18
+ */
19
+ description?: string;
20
+ };