@iblai/iblai-api 4.305.0-core → 4.306.0-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 +1342 -207
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1343 -208
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +1342 -207
- package/dist/index.umd.js.map +1 -1
- package/dist/types/index.d.ts +25 -1
- package/dist/types/models/KindEnum.d.ts +8 -0
- package/dist/types/models/NotificationTemplateDetail.d.ts +3 -2
- package/dist/types/models/NotificationTemplateList.d.ts +3 -2
- package/dist/types/models/PatchedNotificationTemplateDetail.d.ts +3 -2
- package/dist/types/models/PatchedPlatformApplicationFormUpdate.d.ts +12 -0
- package/dist/types/models/PatchedPlatformApplicationNote.d.ts +8 -0
- package/dist/types/models/PatchedPlatformApplicationPlacementUpdate.d.ts +12 -0
- package/dist/types/models/PatchedPlatformApplicationUpdate.d.ts +6 -0
- package/dist/types/models/PlatformApplicationAdminSubmit.d.ts +6 -0
- package/dist/types/models/PlatformApplicationAttachmentUpload.d.ts +8 -0
- package/dist/types/models/PlatformApplicationCandidateLink.d.ts +8 -0
- package/dist/types/models/PlatformApplicationCourseAssignment.d.ts +7 -0
- package/dist/types/models/PlatformApplicationCourseAssignmentItem.d.ts +10 -0
- package/dist/types/models/PlatformApplicationCreate.d.ts +8 -0
- package/dist/types/models/PlatformApplicationDetail.d.ts +7 -0
- package/dist/types/models/PlatformApplicationFeeAction.d.ts +11 -0
- package/dist/types/models/PlatformApplicationFeeActionActionEnum.d.ts +12 -0
- package/dist/types/models/PlatformApplicationFormCreate.d.ts +12 -0
- package/dist/types/models/PlatformApplicationFormDetail.d.ts +9 -0
- package/dist/types/models/PlatformApplicationNote.d.ts +8 -0
- package/dist/types/models/PlatformApplicationPlacementCreate.d.ts +8 -0
- package/dist/types/models/PlatformApplicationPlacementItem.d.ts +11 -0
- package/dist/types/models/PlatformApplicationPlacementUpdateStatusEnum.d.ts +16 -0
- package/dist/types/models/PlatformApplicationSubmit.d.ts +6 -0
- package/dist/types/models/PlatformApplicationTransition.d.ts +11 -0
- package/dist/types/models/PlatformApplicationTransitionActionEnum.d.ts +16 -0
- package/dist/types/models/PlatformApplicationWaiver.d.ts +9 -0
- package/dist/types/models/{Type4b7Enum.d.ts → TypeB29Enum.d.ts} +3 -1
- package/dist/types/services/CatalogService.d.ts +648 -0
- package/dist/types/services/CoreService.d.ts +14 -0
- package/package.json +1 -1
- package/sdk_schema.yml +1893 -5
- package/src/core/OpenAPI.ts +1 -1
- package/src/index.ts +25 -1
- package/src/models/KindEnum.ts +12 -0
- package/src/models/NotificationTemplateDetail.ts +3 -2
- package/src/models/NotificationTemplateList.ts +3 -2
- package/src/models/PatchedNotificationTemplateDetail.ts +3 -2
- package/src/models/PatchedPlatformApplicationFormUpdate.ts +17 -0
- package/src/models/PatchedPlatformApplicationNote.ts +13 -0
- package/src/models/PatchedPlatformApplicationPlacementUpdate.ts +17 -0
- package/src/models/PatchedPlatformApplicationUpdate.ts +11 -0
- package/src/models/PlatformApplicationAdminSubmit.ts +11 -0
- package/src/models/PlatformApplicationAttachmentUpload.ts +13 -0
- package/src/models/PlatformApplicationCandidateLink.ts +13 -0
- package/src/models/PlatformApplicationCourseAssignment.ts +12 -0
- package/src/models/PlatformApplicationCourseAssignmentItem.ts +15 -0
- package/src/models/PlatformApplicationCreate.ts +13 -0
- package/src/models/PlatformApplicationDetail.ts +12 -0
- package/src/models/PlatformApplicationFeeAction.ts +16 -0
- package/src/models/PlatformApplicationFeeActionActionEnum.ts +16 -0
- package/src/models/PlatformApplicationFormCreate.ts +17 -0
- package/src/models/PlatformApplicationFormDetail.ts +14 -0
- package/src/models/PlatformApplicationNote.ts +13 -0
- package/src/models/PlatformApplicationPlacementCreate.ts +13 -0
- package/src/models/PlatformApplicationPlacementItem.ts +16 -0
- package/src/models/PlatformApplicationPlacementUpdateStatusEnum.ts +20 -0
- package/src/models/PlatformApplicationSubmit.ts +11 -0
- package/src/models/PlatformApplicationTransition.ts +16 -0
- package/src/models/PlatformApplicationTransitionActionEnum.ts +20 -0
- package/src/models/PlatformApplicationWaiver.ts +14 -0
- package/src/models/{Type4b7Enum.ts → TypeB29Enum.ts} +3 -1
- package/src/services/CatalogService.ts +1196 -0
- package/src/services/CoreService.ts +28 -0
package/dist/index.cjs.js
CHANGED
|
@@ -110,7 +110,7 @@ class CancelablePromise {
|
|
|
110
110
|
|
|
111
111
|
const OpenAPI = {
|
|
112
112
|
BASE: 'https://base.manager.iblai.app',
|
|
113
|
-
VERSION: '4.
|
|
113
|
+
VERSION: '4.306.0-core',
|
|
114
114
|
WITH_CREDENTIALS: false,
|
|
115
115
|
CREDENTIALS: 'include',
|
|
116
116
|
TOKEN: undefined,
|
|
@@ -547,6 +547,20 @@ exports.ItemTypeEnum = void 0;
|
|
|
547
547
|
ItemTypeEnum["ALL"] = "all";
|
|
548
548
|
})(exports.ItemTypeEnum || (exports.ItemTypeEnum = {}));
|
|
549
549
|
|
|
550
|
+
/* generated using openapi-typescript-codegen -- do not edit */
|
|
551
|
+
/* istanbul ignore file */
|
|
552
|
+
/* tslint:disable */
|
|
553
|
+
/* eslint-disable */
|
|
554
|
+
/**
|
|
555
|
+
* * `general` - general
|
|
556
|
+
* * `interview` - interview
|
|
557
|
+
*/
|
|
558
|
+
exports.KindEnum = void 0;
|
|
559
|
+
(function (KindEnum) {
|
|
560
|
+
KindEnum["GENERAL"] = "general";
|
|
561
|
+
KindEnum["INTERVIEW"] = "interview";
|
|
562
|
+
})(exports.KindEnum || (exports.KindEnum = {}));
|
|
563
|
+
|
|
550
564
|
/* generated using openapi-typescript-codegen -- do not edit */
|
|
551
565
|
/* istanbul ignore file */
|
|
552
566
|
/* tslint:disable */
|
|
@@ -693,6 +707,68 @@ exports.PlatformApiKeyModeEnum = void 0;
|
|
|
693
707
|
PlatformApiKeyModeEnum["TOKEN_POLICIES"] = "token_policies";
|
|
694
708
|
})(exports.PlatformApiKeyModeEnum || (exports.PlatformApiKeyModeEnum = {}));
|
|
695
709
|
|
|
710
|
+
/* generated using openapi-typescript-codegen -- do not edit */
|
|
711
|
+
/* istanbul ignore file */
|
|
712
|
+
/* tslint:disable */
|
|
713
|
+
/* eslint-disable */
|
|
714
|
+
/**
|
|
715
|
+
* * `record_payment` - record_payment
|
|
716
|
+
* * `waive` - waive
|
|
717
|
+
* * `refund` - refund
|
|
718
|
+
* * `credit` - credit
|
|
719
|
+
*/
|
|
720
|
+
exports.PlatformApplicationFeeActionActionEnum = void 0;
|
|
721
|
+
(function (PlatformApplicationFeeActionActionEnum) {
|
|
722
|
+
PlatformApplicationFeeActionActionEnum["RECORD_PAYMENT"] = "record_payment";
|
|
723
|
+
PlatformApplicationFeeActionActionEnum["WAIVE"] = "waive";
|
|
724
|
+
PlatformApplicationFeeActionActionEnum["REFUND"] = "refund";
|
|
725
|
+
PlatformApplicationFeeActionActionEnum["CREDIT"] = "credit";
|
|
726
|
+
})(exports.PlatformApplicationFeeActionActionEnum || (exports.PlatformApplicationFeeActionActionEnum = {}));
|
|
727
|
+
|
|
728
|
+
/* generated using openapi-typescript-codegen -- do not edit */
|
|
729
|
+
/* istanbul ignore file */
|
|
730
|
+
/* tslint:disable */
|
|
731
|
+
/* eslint-disable */
|
|
732
|
+
/**
|
|
733
|
+
* * `not_assigned` - not_assigned
|
|
734
|
+
* * `assigned` - assigned
|
|
735
|
+
* * `started` - started
|
|
736
|
+
* * `completed` - completed
|
|
737
|
+
* * `reviewed` - reviewed
|
|
738
|
+
* * `confirmed` - confirmed
|
|
739
|
+
*/
|
|
740
|
+
exports.PlatformApplicationPlacementUpdateStatusEnum = void 0;
|
|
741
|
+
(function (PlatformApplicationPlacementUpdateStatusEnum) {
|
|
742
|
+
PlatformApplicationPlacementUpdateStatusEnum["NOT_ASSIGNED"] = "not_assigned";
|
|
743
|
+
PlatformApplicationPlacementUpdateStatusEnum["ASSIGNED"] = "assigned";
|
|
744
|
+
PlatformApplicationPlacementUpdateStatusEnum["STARTED"] = "started";
|
|
745
|
+
PlatformApplicationPlacementUpdateStatusEnum["COMPLETED"] = "completed";
|
|
746
|
+
PlatformApplicationPlacementUpdateStatusEnum["REVIEWED"] = "reviewed";
|
|
747
|
+
PlatformApplicationPlacementUpdateStatusEnum["CONFIRMED"] = "confirmed";
|
|
748
|
+
})(exports.PlatformApplicationPlacementUpdateStatusEnum || (exports.PlatformApplicationPlacementUpdateStatusEnum = {}));
|
|
749
|
+
|
|
750
|
+
/* generated using openapi-typescript-codegen -- do not edit */
|
|
751
|
+
/* istanbul ignore file */
|
|
752
|
+
/* tslint:disable */
|
|
753
|
+
/* eslint-disable */
|
|
754
|
+
/**
|
|
755
|
+
* * `start_review` - start_review
|
|
756
|
+
* * `request_info` - request_info
|
|
757
|
+
* * `require_interview` - require_interview
|
|
758
|
+
* * `waitlist` - waitlist
|
|
759
|
+
* * `accept` - accept
|
|
760
|
+
* * `decline` - decline
|
|
761
|
+
*/
|
|
762
|
+
exports.PlatformApplicationTransitionActionEnum = void 0;
|
|
763
|
+
(function (PlatformApplicationTransitionActionEnum) {
|
|
764
|
+
PlatformApplicationTransitionActionEnum["START_REVIEW"] = "start_review";
|
|
765
|
+
PlatformApplicationTransitionActionEnum["REQUEST_INFO"] = "request_info";
|
|
766
|
+
PlatformApplicationTransitionActionEnum["REQUIRE_INTERVIEW"] = "require_interview";
|
|
767
|
+
PlatformApplicationTransitionActionEnum["WAITLIST"] = "waitlist";
|
|
768
|
+
PlatformApplicationTransitionActionEnum["ACCEPT"] = "accept";
|
|
769
|
+
PlatformApplicationTransitionActionEnum["DECLINE"] = "decline";
|
|
770
|
+
})(exports.PlatformApplicationTransitionActionEnum || (exports.PlatformApplicationTransitionActionEnum = {}));
|
|
771
|
+
|
|
696
772
|
/* generated using openapi-typescript-codegen -- do not edit */
|
|
697
773
|
/* istanbul ignore file */
|
|
698
774
|
/* tslint:disable */
|
|
@@ -2124,6 +2200,7 @@ exports.TransactionTypeEnum = void 0;
|
|
|
2124
2200
|
* * `DEFAULT_TEMPLATE` - Default Template
|
|
2125
2201
|
* * `HUMAN_SUPPORT_NOTIFICATION` - Human Support Notification
|
|
2126
2202
|
* * `PATHWAY_ENROLLMENT_CONFIRMATION` - Pathway Enrollment Confirmation
|
|
2203
|
+
* * `PLATFORM_APPLICATION_DECISION` - Platform Application Decision
|
|
2127
2204
|
* * `PLATFORM_INVITATION` - Platform Invitation
|
|
2128
2205
|
* * `POLICY_ASSIGNMENT` - Policy Assignment
|
|
2129
2206
|
* * `PROACTIVE_LEARNER_NOTIFICATION` - Proactive Learner Notification
|
|
@@ -2144,44 +2221,45 @@ exports.TransactionTypeEnum = void 0;
|
|
|
2144
2221
|
* * `USER_NOTIF_USER_INACTIVITY` - User Notif User Inactivity
|
|
2145
2222
|
* * `USER_NOTIF_USER_REGISTRATION` - User Notif User Registration
|
|
2146
2223
|
*/
|
|
2147
|
-
exports.
|
|
2148
|
-
(function (
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2224
|
+
exports.TypeB29Enum = void 0;
|
|
2225
|
+
(function (TypeB29Enum) {
|
|
2226
|
+
TypeB29Enum["ACTIVITY_COURSE_MILESTONE"] = "ACTIVITY_COURSE_MILESTONE";
|
|
2227
|
+
TypeB29Enum["ACTIVITY_NEW_CONTENT"] = "ACTIVITY_NEW_CONTENT";
|
|
2228
|
+
TypeB29Enum["ADMIN_NOTIF_COURSE_ENROLLMENT"] = "ADMIN_NOTIF_COURSE_ENROLLMENT";
|
|
2229
|
+
TypeB29Enum["APP_REGISTRATION"] = "APP_REGISTRATION";
|
|
2230
|
+
TypeB29Enum["COURSE_INVITATION"] = "COURSE_INVITATION";
|
|
2231
|
+
TypeB29Enum["COURSE_LICENSE_ASSIGNMENT"] = "COURSE_LICENSE_ASSIGNMENT";
|
|
2232
|
+
TypeB29Enum["COURSE_LICENSE_GROUP_ASSIGNMENT"] = "COURSE_LICENSE_GROUP_ASSIGNMENT";
|
|
2233
|
+
TypeB29Enum["COURSE_SCHEDULE_CHANGE"] = "COURSE_SCHEDULE_CHANGE";
|
|
2234
|
+
TypeB29Enum["COURSES_PROGRESS_SUMMARY"] = "COURSES_PROGRESS_SUMMARY";
|
|
2235
|
+
TypeB29Enum["CRM_DEAL_STAGE_CHANGED"] = "CRM_DEAL_STAGE_CHANGED";
|
|
2236
|
+
TypeB29Enum["CRM_PERSON_CREATED"] = "CRM_PERSON_CREATED";
|
|
2237
|
+
TypeB29Enum["CRM_PERSON_LINKED_TO_USER"] = "CRM_PERSON_LINKED_TO_USER";
|
|
2238
|
+
TypeB29Enum["CUSTOM_NOTIFICATION"] = "CUSTOM_NOTIFICATION";
|
|
2239
|
+
TypeB29Enum["DEFAULT_TEMPLATE"] = "DEFAULT_TEMPLATE";
|
|
2240
|
+
TypeB29Enum["HUMAN_SUPPORT_NOTIFICATION"] = "HUMAN_SUPPORT_NOTIFICATION";
|
|
2241
|
+
TypeB29Enum["PATHWAY_ENROLLMENT_CONFIRMATION"] = "PATHWAY_ENROLLMENT_CONFIRMATION";
|
|
2242
|
+
TypeB29Enum["PLATFORM_APPLICATION_DECISION"] = "PLATFORM_APPLICATION_DECISION";
|
|
2243
|
+
TypeB29Enum["PLATFORM_INVITATION"] = "PLATFORM_INVITATION";
|
|
2244
|
+
TypeB29Enum["POLICY_ASSIGNMENT"] = "POLICY_ASSIGNMENT";
|
|
2245
|
+
TypeB29Enum["PROACTIVE_LEARNER_NOTIFICATION"] = "PROACTIVE_LEARNER_NOTIFICATION";
|
|
2246
|
+
TypeB29Enum["PROGRAM_ENROLLMENT_CONFIRMATION"] = "PROGRAM_ENROLLMENT_CONFIRMATION";
|
|
2247
|
+
TypeB29Enum["PROGRAM_INVITATION"] = "PROGRAM_INVITATION";
|
|
2248
|
+
TypeB29Enum["PROGRAM_LICENSE_ASSIGNMENT"] = "PROGRAM_LICENSE_ASSIGNMENT";
|
|
2249
|
+
TypeB29Enum["PROGRAM_LICENSE_GROUP_ASSIGNMENT"] = "PROGRAM_LICENSE_GROUP_ASSIGNMENT";
|
|
2250
|
+
TypeB29Enum["REPORT_COMPLETED"] = "REPORT_COMPLETED";
|
|
2251
|
+
TypeB29Enum["ROLE_CHANGE"] = "ROLE_CHANGE";
|
|
2252
|
+
TypeB29Enum["SKILL_MASTERY_CHANGE"] = "SKILL_MASTERY_CHANGE";
|
|
2253
|
+
TypeB29Enum["SUBSECTION_GRADE_UPDATE"] = "SUBSECTION_GRADE_UPDATE";
|
|
2254
|
+
TypeB29Enum["USER_LICENSE_ASSIGNMENT"] = "USER_LICENSE_ASSIGNMENT";
|
|
2255
|
+
TypeB29Enum["USER_LICENSE_GROUP_ASSIGNMENT"] = "USER_LICENSE_GROUP_ASSIGNMENT";
|
|
2256
|
+
TypeB29Enum["USER_NOTIF_COURSE_COMPLETION"] = "USER_NOTIF_COURSE_COMPLETION";
|
|
2257
|
+
TypeB29Enum["USER_NOTIF_COURSE_ENROLLMENT"] = "USER_NOTIF_COURSE_ENROLLMENT";
|
|
2258
|
+
TypeB29Enum["USER_NOTIF_CREDENTIALS"] = "USER_NOTIF_CREDENTIALS";
|
|
2259
|
+
TypeB29Enum["USER_NOTIF_LEARNER_PROGRESS"] = "USER_NOTIF_LEARNER_PROGRESS";
|
|
2260
|
+
TypeB29Enum["USER_NOTIF_USER_INACTIVITY"] = "USER_NOTIF_USER_INACTIVITY";
|
|
2261
|
+
TypeB29Enum["USER_NOTIF_USER_REGISTRATION"] = "USER_NOTIF_USER_REGISTRATION";
|
|
2262
|
+
})(exports.TypeB29Enum || (exports.TypeB29Enum = {}));
|
|
2185
2263
|
|
|
2186
2264
|
/* generated using openapi-typescript-codegen -- do not edit */
|
|
2187
2265
|
/* istanbul ignore file */
|
|
@@ -7469,343 +7547,1377 @@ class CareerService {
|
|
|
7469
7547
|
* @returns void
|
|
7470
7548
|
* @throws ApiError
|
|
7471
7549
|
*/
|
|
7472
|
-
static careerOrgsExperienceUsersDestroy({
|
|
7473
|
-
org,
|
|
7474
|
-
username
|
|
7550
|
+
static careerOrgsExperienceUsersDestroy({
|
|
7551
|
+
org,
|
|
7552
|
+
username
|
|
7553
|
+
}) {
|
|
7554
|
+
return request(OpenAPI, {
|
|
7555
|
+
method: 'DELETE',
|
|
7556
|
+
url: '/api/career/orgs/{org}/experience/users/{username}/',
|
|
7557
|
+
path: {
|
|
7558
|
+
'org': org,
|
|
7559
|
+
'username': username
|
|
7560
|
+
}
|
|
7561
|
+
});
|
|
7562
|
+
}
|
|
7563
|
+
/**
|
|
7564
|
+
* @returns Institution
|
|
7565
|
+
* @throws ApiError
|
|
7566
|
+
*/
|
|
7567
|
+
static careerOrgsInstitutionsUsersRetrieve({
|
|
7568
|
+
org,
|
|
7569
|
+
username
|
|
7570
|
+
}) {
|
|
7571
|
+
return request(OpenAPI, {
|
|
7572
|
+
method: 'GET',
|
|
7573
|
+
url: '/api/career/orgs/{org}/institutions/users/{username}/',
|
|
7574
|
+
path: {
|
|
7575
|
+
'org': org,
|
|
7576
|
+
'username': username
|
|
7577
|
+
}
|
|
7578
|
+
});
|
|
7579
|
+
}
|
|
7580
|
+
/**
|
|
7581
|
+
* @returns Institution
|
|
7582
|
+
* @throws ApiError
|
|
7583
|
+
*/
|
|
7584
|
+
static careerOrgsInstitutionsUsersCreate({
|
|
7585
|
+
org,
|
|
7586
|
+
username,
|
|
7587
|
+
requestBody
|
|
7588
|
+
}) {
|
|
7589
|
+
return request(OpenAPI, {
|
|
7590
|
+
method: 'POST',
|
|
7591
|
+
url: '/api/career/orgs/{org}/institutions/users/{username}/',
|
|
7592
|
+
path: {
|
|
7593
|
+
'org': org,
|
|
7594
|
+
'username': username
|
|
7595
|
+
},
|
|
7596
|
+
body: requestBody,
|
|
7597
|
+
mediaType: 'application/json'
|
|
7598
|
+
});
|
|
7599
|
+
}
|
|
7600
|
+
/**
|
|
7601
|
+
* @returns Institution
|
|
7602
|
+
* @throws ApiError
|
|
7603
|
+
*/
|
|
7604
|
+
static careerOrgsInstitutionsUsersUpdate({
|
|
7605
|
+
org,
|
|
7606
|
+
username,
|
|
7607
|
+
requestBody
|
|
7608
|
+
}) {
|
|
7609
|
+
return request(OpenAPI, {
|
|
7610
|
+
method: 'PUT',
|
|
7611
|
+
url: '/api/career/orgs/{org}/institutions/users/{username}/',
|
|
7612
|
+
path: {
|
|
7613
|
+
'org': org,
|
|
7614
|
+
'username': username
|
|
7615
|
+
},
|
|
7616
|
+
body: requestBody,
|
|
7617
|
+
mediaType: 'application/json'
|
|
7618
|
+
});
|
|
7619
|
+
}
|
|
7620
|
+
/**
|
|
7621
|
+
* @returns void
|
|
7622
|
+
* @throws ApiError
|
|
7623
|
+
*/
|
|
7624
|
+
static careerOrgsInstitutionsUsersDestroy({
|
|
7625
|
+
org,
|
|
7626
|
+
username
|
|
7627
|
+
}) {
|
|
7628
|
+
return request(OpenAPI, {
|
|
7629
|
+
method: 'DELETE',
|
|
7630
|
+
url: '/api/career/orgs/{org}/institutions/users/{username}/',
|
|
7631
|
+
path: {
|
|
7632
|
+
'org': org,
|
|
7633
|
+
'username': username
|
|
7634
|
+
}
|
|
7635
|
+
});
|
|
7636
|
+
}
|
|
7637
|
+
/**
|
|
7638
|
+
* @returns Program
|
|
7639
|
+
* @throws ApiError
|
|
7640
|
+
*/
|
|
7641
|
+
static careerOrgsProgramsUsersRetrieve({
|
|
7642
|
+
org,
|
|
7643
|
+
username
|
|
7644
|
+
}) {
|
|
7645
|
+
return request(OpenAPI, {
|
|
7646
|
+
method: 'GET',
|
|
7647
|
+
url: '/api/career/orgs/{org}/programs/users/{username}/',
|
|
7648
|
+
path: {
|
|
7649
|
+
'org': org,
|
|
7650
|
+
'username': username
|
|
7651
|
+
}
|
|
7652
|
+
});
|
|
7653
|
+
}
|
|
7654
|
+
/**
|
|
7655
|
+
* @returns Program
|
|
7656
|
+
* @throws ApiError
|
|
7657
|
+
*/
|
|
7658
|
+
static careerOrgsProgramsUsersCreate({
|
|
7659
|
+
org,
|
|
7660
|
+
username,
|
|
7661
|
+
requestBody
|
|
7662
|
+
}) {
|
|
7663
|
+
return request(OpenAPI, {
|
|
7664
|
+
method: 'POST',
|
|
7665
|
+
url: '/api/career/orgs/{org}/programs/users/{username}/',
|
|
7666
|
+
path: {
|
|
7667
|
+
'org': org,
|
|
7668
|
+
'username': username
|
|
7669
|
+
},
|
|
7670
|
+
body: requestBody,
|
|
7671
|
+
mediaType: 'application/json'
|
|
7672
|
+
});
|
|
7673
|
+
}
|
|
7674
|
+
/**
|
|
7675
|
+
* @returns Program
|
|
7676
|
+
* @throws ApiError
|
|
7677
|
+
*/
|
|
7678
|
+
static careerOrgsProgramsUsersUpdate({
|
|
7679
|
+
org,
|
|
7680
|
+
username,
|
|
7681
|
+
requestBody
|
|
7682
|
+
}) {
|
|
7683
|
+
return request(OpenAPI, {
|
|
7684
|
+
method: 'PUT',
|
|
7685
|
+
url: '/api/career/orgs/{org}/programs/users/{username}/',
|
|
7686
|
+
path: {
|
|
7687
|
+
'org': org,
|
|
7688
|
+
'username': username
|
|
7689
|
+
},
|
|
7690
|
+
body: requestBody,
|
|
7691
|
+
mediaType: 'application/json'
|
|
7692
|
+
});
|
|
7693
|
+
}
|
|
7694
|
+
/**
|
|
7695
|
+
* @returns void
|
|
7696
|
+
* @throws ApiError
|
|
7697
|
+
*/
|
|
7698
|
+
static careerOrgsProgramsUsersDestroy({
|
|
7699
|
+
org,
|
|
7700
|
+
username
|
|
7701
|
+
}) {
|
|
7702
|
+
return request(OpenAPI, {
|
|
7703
|
+
method: 'DELETE',
|
|
7704
|
+
url: '/api/career/orgs/{org}/programs/users/{username}/',
|
|
7705
|
+
path: {
|
|
7706
|
+
'org': org,
|
|
7707
|
+
'username': username
|
|
7708
|
+
}
|
|
7709
|
+
});
|
|
7710
|
+
}
|
|
7711
|
+
/**
|
|
7712
|
+
* @returns any No response body
|
|
7713
|
+
* @throws ApiError
|
|
7714
|
+
*/
|
|
7715
|
+
static careerResumeOrgsUsersRetrieve({
|
|
7716
|
+
org,
|
|
7717
|
+
username
|
|
7718
|
+
}) {
|
|
7719
|
+
return request(OpenAPI, {
|
|
7720
|
+
method: 'GET',
|
|
7721
|
+
url: '/api/career/resume/orgs/{org}/users/{username}/',
|
|
7722
|
+
path: {
|
|
7723
|
+
'org': org,
|
|
7724
|
+
'username': username
|
|
7725
|
+
}
|
|
7726
|
+
});
|
|
7727
|
+
}
|
|
7728
|
+
/**
|
|
7729
|
+
* @returns any No response body
|
|
7730
|
+
* @throws ApiError
|
|
7731
|
+
*/
|
|
7732
|
+
static careerResumeOrgsUsersCreate({
|
|
7733
|
+
org,
|
|
7734
|
+
username
|
|
7735
|
+
}) {
|
|
7736
|
+
return request(OpenAPI, {
|
|
7737
|
+
method: 'POST',
|
|
7738
|
+
url: '/api/career/resume/orgs/{org}/users/{username}/',
|
|
7739
|
+
path: {
|
|
7740
|
+
'org': org,
|
|
7741
|
+
'username': username
|
|
7742
|
+
}
|
|
7743
|
+
});
|
|
7744
|
+
}
|
|
7745
|
+
/**
|
|
7746
|
+
* @returns any No response body
|
|
7747
|
+
* @throws ApiError
|
|
7748
|
+
*/
|
|
7749
|
+
static careerResumeOrgsUsersUpdate({
|
|
7750
|
+
org,
|
|
7751
|
+
username
|
|
7752
|
+
}) {
|
|
7753
|
+
return request(OpenAPI, {
|
|
7754
|
+
method: 'PUT',
|
|
7755
|
+
url: '/api/career/resume/orgs/{org}/users/{username}/',
|
|
7756
|
+
path: {
|
|
7757
|
+
'org': org,
|
|
7758
|
+
'username': username
|
|
7759
|
+
}
|
|
7760
|
+
});
|
|
7761
|
+
}
|
|
7762
|
+
}
|
|
7763
|
+
|
|
7764
|
+
class CatalogService {
|
|
7765
|
+
/**
|
|
7766
|
+
* Retrieve a paginated list of access requests
|
|
7767
|
+
* @returns PaginatedCourseAccessRequest
|
|
7768
|
+
* @throws ApiError
|
|
7769
|
+
*/
|
|
7770
|
+
static catalogAccessRequestsCourseManageRetrieve({
|
|
7771
|
+
page,
|
|
7772
|
+
pageSize,
|
|
7773
|
+
platformKey,
|
|
7774
|
+
platformOrg,
|
|
7775
|
+
reviewed,
|
|
7776
|
+
sort = '-id'
|
|
7777
|
+
}) {
|
|
7778
|
+
return request(OpenAPI, {
|
|
7779
|
+
method: 'GET',
|
|
7780
|
+
url: '/api/catalog/access_requests/course/manage/',
|
|
7781
|
+
query: {
|
|
7782
|
+
'page': page,
|
|
7783
|
+
'page_size': pageSize,
|
|
7784
|
+
'platform_key': platformKey,
|
|
7785
|
+
'platform_org': platformOrg,
|
|
7786
|
+
'reviewed': reviewed,
|
|
7787
|
+
'sort': sort
|
|
7788
|
+
},
|
|
7789
|
+
errors: {
|
|
7790
|
+
400: `Bad request - missing or invalid parameters`,
|
|
7791
|
+
401: `Unauthorized`,
|
|
7792
|
+
403: `Forbidden`,
|
|
7793
|
+
404: `Not found - platform doesn't exist`,
|
|
7794
|
+
500: `Internal server error`
|
|
7795
|
+
}
|
|
7796
|
+
});
|
|
7797
|
+
}
|
|
7798
|
+
/**
|
|
7799
|
+
* Update an existing access request (approve/reject)
|
|
7800
|
+
* @returns CourseAccessRequestDetail
|
|
7801
|
+
* @throws ApiError
|
|
7802
|
+
*/
|
|
7803
|
+
static catalogAccessRequestsCourseManageCreate({
|
|
7804
|
+
requestBody,
|
|
7805
|
+
page,
|
|
7806
|
+
pageSize,
|
|
7807
|
+
platformKey,
|
|
7808
|
+
platformOrg,
|
|
7809
|
+
reviewed,
|
|
7810
|
+
sort = '-id'
|
|
7811
|
+
}) {
|
|
7812
|
+
return request(OpenAPI, {
|
|
7813
|
+
method: 'POST',
|
|
7814
|
+
url: '/api/catalog/access_requests/course/manage/',
|
|
7815
|
+
query: {
|
|
7816
|
+
'page': page,
|
|
7817
|
+
'page_size': pageSize,
|
|
7818
|
+
'platform_key': platformKey,
|
|
7819
|
+
'platform_org': platformOrg,
|
|
7820
|
+
'reviewed': reviewed,
|
|
7821
|
+
'sort': sort
|
|
7822
|
+
},
|
|
7823
|
+
body: requestBody,
|
|
7824
|
+
mediaType: 'application/json',
|
|
7825
|
+
errors: {
|
|
7826
|
+
400: `Bad request - missing or invalid parameters`,
|
|
7827
|
+
401: `Unauthorized`,
|
|
7828
|
+
403: `Forbidden`,
|
|
7829
|
+
404: `Not found - platform or access request doesn't exist`,
|
|
7830
|
+
500: `Internal server error`
|
|
7831
|
+
}
|
|
7832
|
+
});
|
|
7833
|
+
}
|
|
7834
|
+
/**
|
|
7835
|
+
* Check if the user has an active access request for a course
|
|
7836
|
+
* @returns CourseAccessRequestStatusResponse
|
|
7837
|
+
* @throws ApiError
|
|
7838
|
+
*/
|
|
7839
|
+
static catalogAccessRequestsCourseRequestRetrieve({
|
|
7840
|
+
courseId,
|
|
7841
|
+
platformKey,
|
|
7842
|
+
platformOrg
|
|
7843
|
+
}) {
|
|
7844
|
+
return request(OpenAPI, {
|
|
7845
|
+
method: 'GET',
|
|
7846
|
+
url: '/api/catalog/access_requests/course/request/',
|
|
7847
|
+
query: {
|
|
7848
|
+
'course_id': courseId,
|
|
7849
|
+
'platform_key': platformKey,
|
|
7850
|
+
'platform_org': platformOrg
|
|
7851
|
+
},
|
|
7852
|
+
errors: {
|
|
7853
|
+
400: `Bad request - missing or invalid parameters`,
|
|
7854
|
+
401: `Unauthorized`,
|
|
7855
|
+
403: `Forbidden`,
|
|
7856
|
+
404: `Not found - platform or course doesn't exist`
|
|
7857
|
+
}
|
|
7858
|
+
});
|
|
7859
|
+
}
|
|
7860
|
+
/**
|
|
7861
|
+
* Create a new access request for a course
|
|
7862
|
+
* @returns CourseAccessRequestDetail
|
|
7863
|
+
* @throws ApiError
|
|
7864
|
+
*/
|
|
7865
|
+
static catalogAccessRequestsCourseRequestCreate({
|
|
7866
|
+
courseId,
|
|
7867
|
+
requestBody,
|
|
7868
|
+
platformKey,
|
|
7869
|
+
platformOrg
|
|
7870
|
+
}) {
|
|
7871
|
+
return request(OpenAPI, {
|
|
7872
|
+
method: 'POST',
|
|
7873
|
+
url: '/api/catalog/access_requests/course/request/',
|
|
7874
|
+
query: {
|
|
7875
|
+
'course_id': courseId,
|
|
7876
|
+
'platform_key': platformKey,
|
|
7877
|
+
'platform_org': platformOrg
|
|
7878
|
+
},
|
|
7879
|
+
body: requestBody,
|
|
7880
|
+
mediaType: 'application/json',
|
|
7881
|
+
errors: {
|
|
7882
|
+
400: `Bad request - missing or invalid parameters`,
|
|
7883
|
+
401: `Unauthorized`,
|
|
7884
|
+
403: `Forbidden`,
|
|
7885
|
+
404: `Not found - platform or course doesn't exist`,
|
|
7886
|
+
500: `Internal server error`
|
|
7887
|
+
}
|
|
7888
|
+
});
|
|
7889
|
+
}
|
|
7890
|
+
/**
|
|
7891
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
7892
|
+
*
|
|
7893
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
7894
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
7895
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
7896
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
7897
|
+
* @returns any Own submissions
|
|
7898
|
+
* @throws ApiError
|
|
7899
|
+
*/
|
|
7900
|
+
static catalogApplicationsPlatformRetrieve({
|
|
7901
|
+
formId,
|
|
7902
|
+
platformKey,
|
|
7903
|
+
platformOrg
|
|
7904
|
+
}) {
|
|
7905
|
+
return request(OpenAPI, {
|
|
7906
|
+
method: 'GET',
|
|
7907
|
+
url: '/api/catalog/applications/platform/',
|
|
7908
|
+
query: {
|
|
7909
|
+
'form_id': formId,
|
|
7910
|
+
'platform_key': platformKey,
|
|
7911
|
+
'platform_org': platformOrg
|
|
7912
|
+
}
|
|
7913
|
+
});
|
|
7914
|
+
}
|
|
7915
|
+
/**
|
|
7916
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
7917
|
+
*
|
|
7918
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
7919
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
7920
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
7921
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
7922
|
+
* @returns PlatformApplicationDetail
|
|
7923
|
+
* @throws ApiError
|
|
7924
|
+
*/
|
|
7925
|
+
static catalogApplicationsPlatformCreate({
|
|
7926
|
+
requestBody
|
|
7927
|
+
}) {
|
|
7928
|
+
return request(OpenAPI, {
|
|
7929
|
+
method: 'POST',
|
|
7930
|
+
url: '/api/catalog/applications/platform/',
|
|
7931
|
+
body: requestBody,
|
|
7932
|
+
mediaType: 'application/json'
|
|
7933
|
+
});
|
|
7934
|
+
}
|
|
7935
|
+
/**
|
|
7936
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
7937
|
+
*
|
|
7938
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
7939
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
7940
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
7941
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
7942
|
+
* @returns PlatformApplicationDetail
|
|
7943
|
+
* @throws ApiError
|
|
7944
|
+
*/
|
|
7945
|
+
static catalogApplicationsPlatformRetrieve2({
|
|
7946
|
+
submissionId
|
|
7947
|
+
}) {
|
|
7948
|
+
return request(OpenAPI, {
|
|
7949
|
+
method: 'GET',
|
|
7950
|
+
url: '/api/catalog/applications/platform/{submission_id}/',
|
|
7951
|
+
path: {
|
|
7952
|
+
'submission_id': submissionId
|
|
7953
|
+
}
|
|
7954
|
+
});
|
|
7955
|
+
}
|
|
7956
|
+
/**
|
|
7957
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
7958
|
+
*
|
|
7959
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
7960
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
7961
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
7962
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
7963
|
+
* @returns PlatformApplicationDetail
|
|
7964
|
+
* @throws ApiError
|
|
7965
|
+
*/
|
|
7966
|
+
static catalogApplicationsPlatformPartialUpdate({
|
|
7967
|
+
submissionId,
|
|
7968
|
+
requestBody
|
|
7969
|
+
}) {
|
|
7970
|
+
return request(OpenAPI, {
|
|
7971
|
+
method: 'PATCH',
|
|
7972
|
+
url: '/api/catalog/applications/platform/{submission_id}/',
|
|
7973
|
+
path: {
|
|
7974
|
+
'submission_id': submissionId
|
|
7975
|
+
},
|
|
7976
|
+
body: requestBody,
|
|
7977
|
+
mediaType: 'application/json'
|
|
7978
|
+
});
|
|
7979
|
+
}
|
|
7980
|
+
/**
|
|
7981
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
7982
|
+
*
|
|
7983
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
7984
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
7985
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
7986
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
7987
|
+
* @returns any Attachment stored
|
|
7988
|
+
* @throws ApiError
|
|
7989
|
+
*/
|
|
7990
|
+
static catalogApplicationsPlatformAttachmentsCreate({
|
|
7991
|
+
submissionId,
|
|
7992
|
+
formData
|
|
7993
|
+
}) {
|
|
7994
|
+
return request(OpenAPI, {
|
|
7995
|
+
method: 'POST',
|
|
7996
|
+
url: '/api/catalog/applications/platform/{submission_id}/attachments/',
|
|
7997
|
+
path: {
|
|
7998
|
+
'submission_id': submissionId
|
|
7999
|
+
},
|
|
8000
|
+
formData: formData,
|
|
8001
|
+
mediaType: 'multipart/form-data'
|
|
8002
|
+
});
|
|
8003
|
+
}
|
|
8004
|
+
/**
|
|
8005
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
8006
|
+
*
|
|
8007
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
8008
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
8009
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
8010
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
8011
|
+
* @returns void
|
|
8012
|
+
* @throws ApiError
|
|
8013
|
+
*/
|
|
8014
|
+
static catalogApplicationsPlatformAttachmentsDestroy({
|
|
8015
|
+
attachmentId,
|
|
8016
|
+
submissionId
|
|
8017
|
+
}) {
|
|
8018
|
+
return request(OpenAPI, {
|
|
8019
|
+
method: 'DELETE',
|
|
8020
|
+
url: '/api/catalog/applications/platform/{submission_id}/attachments/{attachment_id}/',
|
|
8021
|
+
path: {
|
|
8022
|
+
'attachment_id': attachmentId,
|
|
8023
|
+
'submission_id': submissionId
|
|
8024
|
+
}
|
|
8025
|
+
});
|
|
8026
|
+
}
|
|
8027
|
+
/**
|
|
8028
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
8029
|
+
*
|
|
8030
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
8031
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
8032
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
8033
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
8034
|
+
* @returns PlatformApplicationDetail
|
|
8035
|
+
* @throws ApiError
|
|
8036
|
+
*/
|
|
8037
|
+
static catalogApplicationsPlatformSubmitCreate({
|
|
8038
|
+
submissionId,
|
|
8039
|
+
requestBody
|
|
8040
|
+
}) {
|
|
8041
|
+
return request(OpenAPI, {
|
|
8042
|
+
method: 'POST',
|
|
8043
|
+
url: '/api/catalog/applications/platform/{submission_id}/submit/',
|
|
8044
|
+
path: {
|
|
8045
|
+
'submission_id': submissionId
|
|
8046
|
+
},
|
|
8047
|
+
body: requestBody,
|
|
8048
|
+
mediaType: 'application/json'
|
|
8049
|
+
});
|
|
8050
|
+
}
|
|
8051
|
+
/**
|
|
8052
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
8053
|
+
*
|
|
8054
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
8055
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
8056
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
8057
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
8058
|
+
* @returns PlatformApplicationDetail
|
|
8059
|
+
* @throws ApiError
|
|
8060
|
+
*/
|
|
8061
|
+
static catalogApplicationsPlatformWithdrawCreate({
|
|
8062
|
+
submissionId
|
|
8063
|
+
}) {
|
|
8064
|
+
return request(OpenAPI, {
|
|
8065
|
+
method: 'POST',
|
|
8066
|
+
url: '/api/catalog/applications/platform/{submission_id}/withdraw/',
|
|
8067
|
+
path: {
|
|
8068
|
+
'submission_id': submissionId
|
|
8069
|
+
}
|
|
8070
|
+
});
|
|
8071
|
+
}
|
|
8072
|
+
/**
|
|
8073
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
8074
|
+
*
|
|
8075
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
8076
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
8077
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
8078
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
8079
|
+
* @returns any Active form
|
|
8080
|
+
* @throws ApiError
|
|
8081
|
+
*/
|
|
8082
|
+
static catalogApplicationsPlatformFormRetrieve({
|
|
8083
|
+
formId,
|
|
8084
|
+
platformKey,
|
|
8085
|
+
platformOrg
|
|
8086
|
+
}) {
|
|
8087
|
+
return request(OpenAPI, {
|
|
8088
|
+
method: 'GET',
|
|
8089
|
+
url: '/api/catalog/applications/platform/form/',
|
|
8090
|
+
query: {
|
|
8091
|
+
'form_id': formId,
|
|
8092
|
+
'platform_key': platformKey,
|
|
8093
|
+
'platform_org': platformOrg
|
|
8094
|
+
}
|
|
8095
|
+
});
|
|
8096
|
+
}
|
|
8097
|
+
/**
|
|
8098
|
+
* Wires RBAC into a DRF view.
|
|
8099
|
+
*
|
|
8100
|
+
* Two responsibilities:
|
|
8101
|
+
*
|
|
8102
|
+
* 1. When RBAC is enabled, replace the view's `permission_classes` with
|
|
8103
|
+
* `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
|
|
8104
|
+
* semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
|
|
8105
|
+
* views that set `token_policies_enabled = True`).
|
|
8106
|
+
*
|
|
8107
|
+
* 2. Detect server-to-server (Django auth) callers via `is_service_account`.
|
|
8108
|
+
* Server-to-server tokens authenticate as Django auth users with no
|
|
8109
|
+
* relationship to a platform EdxUser. The convention is "we trust this
|
|
8110
|
+
* caller — bypass RBAC and serve the request."
|
|
8111
|
+
*
|
|
8112
|
+
* Combine it with the RBAC-disabled check at the top of `initial()` so
|
|
8113
|
+
* the early exit skips all RBAC prep work:
|
|
8114
|
+
*
|
|
8115
|
+
* if not ConfigFlags.rbac_enabled() or self.is_service_account:
|
|
8116
|
+
* return
|
|
8117
|
+
*
|
|
8118
|
+
* Use `is_service_account` at any other touch points where caller
|
|
8119
|
+
* identity matters (queryset ownership filters, owner attribution on
|
|
8120
|
+
* create, serializer context, etc.).
|
|
8121
|
+
* @returns any Forms for the platform
|
|
8122
|
+
* @throws ApiError
|
|
8123
|
+
*/
|
|
8124
|
+
static catalogApplicationsPlatformFormsManageRetrieve({
|
|
8125
|
+
platformKey,
|
|
8126
|
+
platformOrg,
|
|
8127
|
+
sort
|
|
8128
|
+
}) {
|
|
8129
|
+
return request(OpenAPI, {
|
|
8130
|
+
method: 'GET',
|
|
8131
|
+
url: '/api/catalog/applications/platform/forms/manage/',
|
|
8132
|
+
query: {
|
|
8133
|
+
'platform_key': platformKey,
|
|
8134
|
+
'platform_org': platformOrg,
|
|
8135
|
+
'sort': sort
|
|
8136
|
+
}
|
|
8137
|
+
});
|
|
8138
|
+
}
|
|
8139
|
+
/**
|
|
8140
|
+
* Wires RBAC into a DRF view.
|
|
8141
|
+
*
|
|
8142
|
+
* Two responsibilities:
|
|
8143
|
+
*
|
|
8144
|
+
* 1. When RBAC is enabled, replace the view's `permission_classes` with
|
|
8145
|
+
* `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
|
|
8146
|
+
* semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
|
|
8147
|
+
* views that set `token_policies_enabled = True`).
|
|
8148
|
+
*
|
|
8149
|
+
* 2. Detect server-to-server (Django auth) callers via `is_service_account`.
|
|
8150
|
+
* Server-to-server tokens authenticate as Django auth users with no
|
|
8151
|
+
* relationship to a platform EdxUser. The convention is "we trust this
|
|
8152
|
+
* caller — bypass RBAC and serve the request."
|
|
8153
|
+
*
|
|
8154
|
+
* Combine it with the RBAC-disabled check at the top of `initial()` so
|
|
8155
|
+
* the early exit skips all RBAC prep work:
|
|
8156
|
+
*
|
|
8157
|
+
* if not ConfigFlags.rbac_enabled() or self.is_service_account:
|
|
8158
|
+
* return
|
|
8159
|
+
*
|
|
8160
|
+
* Use `is_service_account` at any other touch points where caller
|
|
8161
|
+
* identity matters (queryset ownership filters, owner attribution on
|
|
8162
|
+
* create, serializer context, etc.).
|
|
8163
|
+
* @returns PlatformApplicationFormDetail
|
|
8164
|
+
* @throws ApiError
|
|
8165
|
+
*/
|
|
8166
|
+
static catalogApplicationsPlatformFormsManageCreate({
|
|
8167
|
+
requestBody,
|
|
8168
|
+
platformKey,
|
|
8169
|
+
platformOrg,
|
|
8170
|
+
sort
|
|
8171
|
+
}) {
|
|
8172
|
+
return request(OpenAPI, {
|
|
8173
|
+
method: 'POST',
|
|
8174
|
+
url: '/api/catalog/applications/platform/forms/manage/',
|
|
8175
|
+
query: {
|
|
8176
|
+
'platform_key': platformKey,
|
|
8177
|
+
'platform_org': platformOrg,
|
|
8178
|
+
'sort': sort
|
|
8179
|
+
},
|
|
8180
|
+
body: requestBody,
|
|
8181
|
+
mediaType: 'application/json'
|
|
8182
|
+
});
|
|
8183
|
+
}
|
|
8184
|
+
/**
|
|
8185
|
+
* Wires RBAC into a DRF view.
|
|
8186
|
+
*
|
|
8187
|
+
* Two responsibilities:
|
|
8188
|
+
*
|
|
8189
|
+
* 1. When RBAC is enabled, replace the view's `permission_classes` with
|
|
8190
|
+
* `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
|
|
8191
|
+
* semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
|
|
8192
|
+
* views that set `token_policies_enabled = True`).
|
|
8193
|
+
*
|
|
8194
|
+
* 2. Detect server-to-server (Django auth) callers via `is_service_account`.
|
|
8195
|
+
* Server-to-server tokens authenticate as Django auth users with no
|
|
8196
|
+
* relationship to a platform EdxUser. The convention is "we trust this
|
|
8197
|
+
* caller — bypass RBAC and serve the request."
|
|
8198
|
+
*
|
|
8199
|
+
* Combine it with the RBAC-disabled check at the top of `initial()` so
|
|
8200
|
+
* the early exit skips all RBAC prep work:
|
|
8201
|
+
*
|
|
8202
|
+
* if not ConfigFlags.rbac_enabled() or self.is_service_account:
|
|
8203
|
+
* return
|
|
8204
|
+
*
|
|
8205
|
+
* Use `is_service_account` at any other touch points where caller
|
|
8206
|
+
* identity matters (queryset ownership filters, owner attribution on
|
|
8207
|
+
* create, serializer context, etc.).
|
|
8208
|
+
* @returns PlatformApplicationFormDetail
|
|
8209
|
+
* @throws ApiError
|
|
8210
|
+
*/
|
|
8211
|
+
static catalogApplicationsPlatformFormsManageRetrieve2({
|
|
8212
|
+
formId,
|
|
8213
|
+
platformKey,
|
|
8214
|
+
platformOrg,
|
|
8215
|
+
sort
|
|
8216
|
+
}) {
|
|
8217
|
+
return request(OpenAPI, {
|
|
8218
|
+
method: 'GET',
|
|
8219
|
+
url: '/api/catalog/applications/platform/forms/manage/{form_id}/',
|
|
8220
|
+
path: {
|
|
8221
|
+
'form_id': formId
|
|
8222
|
+
},
|
|
8223
|
+
query: {
|
|
8224
|
+
'platform_key': platformKey,
|
|
8225
|
+
'platform_org': platformOrg,
|
|
8226
|
+
'sort': sort
|
|
8227
|
+
}
|
|
8228
|
+
});
|
|
8229
|
+
}
|
|
8230
|
+
/**
|
|
8231
|
+
* Wires RBAC into a DRF view.
|
|
8232
|
+
*
|
|
8233
|
+
* Two responsibilities:
|
|
8234
|
+
*
|
|
8235
|
+
* 1. When RBAC is enabled, replace the view's `permission_classes` with
|
|
8236
|
+
* `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
|
|
8237
|
+
* semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
|
|
8238
|
+
* views that set `token_policies_enabled = True`).
|
|
8239
|
+
*
|
|
8240
|
+
* 2. Detect server-to-server (Django auth) callers via `is_service_account`.
|
|
8241
|
+
* Server-to-server tokens authenticate as Django auth users with no
|
|
8242
|
+
* relationship to a platform EdxUser. The convention is "we trust this
|
|
8243
|
+
* caller — bypass RBAC and serve the request."
|
|
8244
|
+
*
|
|
8245
|
+
* Combine it with the RBAC-disabled check at the top of `initial()` so
|
|
8246
|
+
* the early exit skips all RBAC prep work:
|
|
8247
|
+
*
|
|
8248
|
+
* if not ConfigFlags.rbac_enabled() or self.is_service_account:
|
|
8249
|
+
* return
|
|
8250
|
+
*
|
|
8251
|
+
* Use `is_service_account` at any other touch points where caller
|
|
8252
|
+
* identity matters (queryset ownership filters, owner attribution on
|
|
8253
|
+
* create, serializer context, etc.).
|
|
8254
|
+
* @returns PlatformApplicationFormDetail
|
|
8255
|
+
* @throws ApiError
|
|
8256
|
+
*/
|
|
8257
|
+
static catalogApplicationsPlatformFormsManagePartialUpdate({
|
|
8258
|
+
formId,
|
|
8259
|
+
platformKey,
|
|
8260
|
+
platformOrg,
|
|
8261
|
+
sort,
|
|
8262
|
+
requestBody
|
|
8263
|
+
}) {
|
|
8264
|
+
return request(OpenAPI, {
|
|
8265
|
+
method: 'PATCH',
|
|
8266
|
+
url: '/api/catalog/applications/platform/forms/manage/{form_id}/',
|
|
8267
|
+
path: {
|
|
8268
|
+
'form_id': formId
|
|
8269
|
+
},
|
|
8270
|
+
query: {
|
|
8271
|
+
'platform_key': platformKey,
|
|
8272
|
+
'platform_org': platformOrg,
|
|
8273
|
+
'sort': sort
|
|
8274
|
+
},
|
|
8275
|
+
body: requestBody,
|
|
8276
|
+
mediaType: 'application/json'
|
|
8277
|
+
});
|
|
8278
|
+
}
|
|
8279
|
+
/**
|
|
8280
|
+
* Wires RBAC into a DRF view.
|
|
8281
|
+
*
|
|
8282
|
+
* Two responsibilities:
|
|
8283
|
+
*
|
|
8284
|
+
* 1. When RBAC is enabled, replace the view's `permission_classes` with
|
|
8285
|
+
* `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
|
|
8286
|
+
* semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
|
|
8287
|
+
* views that set `token_policies_enabled = True`).
|
|
8288
|
+
*
|
|
8289
|
+
* 2. Detect server-to-server (Django auth) callers via `is_service_account`.
|
|
8290
|
+
* Server-to-server tokens authenticate as Django auth users with no
|
|
8291
|
+
* relationship to a platform EdxUser. The convention is "we trust this
|
|
8292
|
+
* caller — bypass RBAC and serve the request."
|
|
8293
|
+
*
|
|
8294
|
+
* Combine it with the RBAC-disabled check at the top of `initial()` so
|
|
8295
|
+
* the early exit skips all RBAC prep work:
|
|
8296
|
+
*
|
|
8297
|
+
* if not ConfigFlags.rbac_enabled() or self.is_service_account:
|
|
8298
|
+
* return
|
|
8299
|
+
*
|
|
8300
|
+
* Use `is_service_account` at any other touch points where caller
|
|
8301
|
+
* identity matters (queryset ownership filters, owner attribution on
|
|
8302
|
+
* create, serializer context, etc.).
|
|
8303
|
+
* @returns any Submissions for the platform
|
|
8304
|
+
* @throws ApiError
|
|
8305
|
+
*/
|
|
8306
|
+
static catalogApplicationsPlatformManageRetrieve({
|
|
8307
|
+
platformKey,
|
|
8308
|
+
platformOrg,
|
|
8309
|
+
search,
|
|
8310
|
+
sort,
|
|
8311
|
+
status
|
|
8312
|
+
}) {
|
|
8313
|
+
return request(OpenAPI, {
|
|
8314
|
+
method: 'GET',
|
|
8315
|
+
url: '/api/catalog/applications/platform/manage/',
|
|
8316
|
+
query: {
|
|
8317
|
+
'platform_key': platformKey,
|
|
8318
|
+
'platform_org': platformOrg,
|
|
8319
|
+
'search': search,
|
|
8320
|
+
'sort': sort,
|
|
8321
|
+
'status': status
|
|
8322
|
+
}
|
|
8323
|
+
});
|
|
8324
|
+
}
|
|
8325
|
+
/**
|
|
8326
|
+
* Wires RBAC into a DRF view.
|
|
8327
|
+
*
|
|
8328
|
+
* Two responsibilities:
|
|
8329
|
+
*
|
|
8330
|
+
* 1. When RBAC is enabled, replace the view's `permission_classes` with
|
|
8331
|
+
* `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
|
|
8332
|
+
* semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
|
|
8333
|
+
* views that set `token_policies_enabled = True`).
|
|
8334
|
+
*
|
|
8335
|
+
* 2. Detect server-to-server (Django auth) callers via `is_service_account`.
|
|
8336
|
+
* Server-to-server tokens authenticate as Django auth users with no
|
|
8337
|
+
* relationship to a platform EdxUser. The convention is "we trust this
|
|
8338
|
+
* caller — bypass RBAC and serve the request."
|
|
8339
|
+
*
|
|
8340
|
+
* Combine it with the RBAC-disabled check at the top of `initial()` so
|
|
8341
|
+
* the early exit skips all RBAC prep work:
|
|
8342
|
+
*
|
|
8343
|
+
* if not ConfigFlags.rbac_enabled() or self.is_service_account:
|
|
8344
|
+
* return
|
|
8345
|
+
*
|
|
8346
|
+
* Use `is_service_account` at any other touch points where caller
|
|
8347
|
+
* identity matters (queryset ownership filters, owner attribution on
|
|
8348
|
+
* create, serializer context, etc.).
|
|
8349
|
+
* @returns any Full submission detail
|
|
8350
|
+
* @throws ApiError
|
|
8351
|
+
*/
|
|
8352
|
+
static catalogApplicationsPlatformManageRetrieve2({
|
|
8353
|
+
submissionId,
|
|
8354
|
+
platformKey,
|
|
8355
|
+
platformOrg,
|
|
8356
|
+
search,
|
|
8357
|
+
sort,
|
|
8358
|
+
status
|
|
8359
|
+
}) {
|
|
8360
|
+
return request(OpenAPI, {
|
|
8361
|
+
method: 'GET',
|
|
8362
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/',
|
|
8363
|
+
path: {
|
|
8364
|
+
'submission_id': submissionId
|
|
8365
|
+
},
|
|
8366
|
+
query: {
|
|
8367
|
+
'platform_key': platformKey,
|
|
8368
|
+
'platform_org': platformOrg,
|
|
8369
|
+
'search': search,
|
|
8370
|
+
'sort': sort,
|
|
8371
|
+
'status': status
|
|
8372
|
+
}
|
|
8373
|
+
});
|
|
8374
|
+
}
|
|
8375
|
+
/**
|
|
8376
|
+
* Reviewer download: redirect to the storage's (signed, on S3) file URL.
|
|
8377
|
+
*
|
|
8378
|
+
* Gated by ``IsDMAdmin | IsPlatformAdmin`` plus the RBAC verb check on the
|
|
8379
|
+
* attachment's own platform when RBAC is enabled.
|
|
8380
|
+
* @returns void
|
|
8381
|
+
* @throws ApiError
|
|
8382
|
+
*/
|
|
8383
|
+
static catalogApplicationsPlatformManageAttachmentsDownloadRetrieve({
|
|
8384
|
+
attachmentId,
|
|
8385
|
+
submissionId
|
|
8386
|
+
}) {
|
|
8387
|
+
return request(OpenAPI, {
|
|
8388
|
+
method: 'GET',
|
|
8389
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/attachments/{attachment_id}/download/',
|
|
8390
|
+
path: {
|
|
8391
|
+
'attachment_id': attachmentId,
|
|
8392
|
+
'submission_id': submissionId
|
|
8393
|
+
},
|
|
8394
|
+
errors: {
|
|
8395
|
+
302: `Redirect to the file URL`
|
|
8396
|
+
}
|
|
8397
|
+
});
|
|
8398
|
+
}
|
|
8399
|
+
/**
|
|
8400
|
+
* Re-run settlement provisioning for one accepted candidate: links them
|
|
8401
|
+
* if an account with their designated email now exists, or re-issues the
|
|
8402
|
+
* platform invitation if none is active. Covers the invite-missing state.
|
|
8403
|
+
* @returns any Candidate after provisioning
|
|
8404
|
+
* @throws ApiError
|
|
8405
|
+
*/
|
|
8406
|
+
static catalogApplicationsPlatformManageCandidatesInviteCreate({
|
|
8407
|
+
candidateId,
|
|
8408
|
+
submissionId
|
|
8409
|
+
}) {
|
|
8410
|
+
return request(OpenAPI, {
|
|
8411
|
+
method: 'POST',
|
|
8412
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/candidates/{candidate_id}/invite/',
|
|
8413
|
+
path: {
|
|
8414
|
+
'candidate_id': candidateId,
|
|
8415
|
+
'submission_id': submissionId
|
|
8416
|
+
}
|
|
8417
|
+
});
|
|
8418
|
+
}
|
|
8419
|
+
/**
|
|
8420
|
+
* Manually link an accepted candidate to an existing account (the
|
|
8421
|
+
* account-unlinked state: the family signed up outside invitation
|
|
8422
|
+
* redemption, or under a different email than designated).
|
|
8423
|
+
* @returns any Candidate linked
|
|
8424
|
+
* @throws ApiError
|
|
8425
|
+
*/
|
|
8426
|
+
static catalogApplicationsPlatformManageCandidatesLinkCreate({
|
|
8427
|
+
candidateId,
|
|
8428
|
+
submissionId,
|
|
8429
|
+
requestBody
|
|
8430
|
+
}) {
|
|
8431
|
+
return request(OpenAPI, {
|
|
8432
|
+
method: 'POST',
|
|
8433
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/candidates/{candidate_id}/link/',
|
|
8434
|
+
path: {
|
|
8435
|
+
'candidate_id': candidateId,
|
|
8436
|
+
'submission_id': submissionId
|
|
8437
|
+
},
|
|
8438
|
+
body: requestBody,
|
|
8439
|
+
mediaType: 'application/json'
|
|
8440
|
+
});
|
|
8441
|
+
}
|
|
8442
|
+
/**
|
|
8443
|
+
* Course assignments for a submission (#2134): list, and assign courses to
|
|
8444
|
+
* accepted candidates individually or in bulk. Each successful item issues a
|
|
8445
|
+
* CourseInvitation that the existing pipeline enrolls.
|
|
8446
|
+
* @returns any Assignments for the submission
|
|
8447
|
+
* @throws ApiError
|
|
8448
|
+
*/
|
|
8449
|
+
static catalogApplicationsPlatformManageCourseAssignmentsRetrieve({
|
|
8450
|
+
submissionId
|
|
8451
|
+
}) {
|
|
8452
|
+
return request(OpenAPI, {
|
|
8453
|
+
method: 'GET',
|
|
8454
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/course-assignments/',
|
|
8455
|
+
path: {
|
|
8456
|
+
'submission_id': submissionId
|
|
8457
|
+
}
|
|
8458
|
+
});
|
|
8459
|
+
}
|
|
8460
|
+
/**
|
|
8461
|
+
* Course assignments for a submission (#2134): list, and assign courses to
|
|
8462
|
+
* accepted candidates individually or in bulk. Each successful item issues a
|
|
8463
|
+
* CourseInvitation that the existing pipeline enrolls.
|
|
8464
|
+
* @returns any Per-item assignment results
|
|
8465
|
+
* @throws ApiError
|
|
8466
|
+
*/
|
|
8467
|
+
static catalogApplicationsPlatformManageCourseAssignmentsCreate({
|
|
8468
|
+
submissionId,
|
|
8469
|
+
requestBody
|
|
8470
|
+
}) {
|
|
8471
|
+
return request(OpenAPI, {
|
|
8472
|
+
method: 'POST',
|
|
8473
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/course-assignments/',
|
|
8474
|
+
path: {
|
|
8475
|
+
'submission_id': submissionId
|
|
8476
|
+
},
|
|
8477
|
+
body: requestBody,
|
|
8478
|
+
mediaType: 'application/json'
|
|
8479
|
+
});
|
|
8480
|
+
}
|
|
8481
|
+
/**
|
|
8482
|
+
* Remove one course assignment (§9.2 "enrollment changes after the school
|
|
8483
|
+
* year begins" — the record side).
|
|
8484
|
+
*
|
|
8485
|
+
* Deactivates the assignment and cancels its invitation when the student has
|
|
8486
|
+
* not yet been enrolled through it. It never unenrolls an already-enrolled
|
|
8487
|
+
* student: platform admins un-enroll deliberately through the catalog
|
|
8488
|
+
* enrollment endpoints, not from an admissions record.
|
|
8489
|
+
* @returns void
|
|
8490
|
+
* @throws ApiError
|
|
8491
|
+
*/
|
|
8492
|
+
static catalogApplicationsPlatformManageCourseAssignmentsDestroy({
|
|
8493
|
+
assignmentId,
|
|
8494
|
+
submissionId
|
|
8495
|
+
}) {
|
|
8496
|
+
return request(OpenAPI, {
|
|
8497
|
+
method: 'DELETE',
|
|
8498
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/course-assignments/{assignment_id}/',
|
|
8499
|
+
path: {
|
|
8500
|
+
'assignment_id': assignmentId,
|
|
8501
|
+
'submission_id': submissionId
|
|
8502
|
+
}
|
|
8503
|
+
});
|
|
8504
|
+
}
|
|
8505
|
+
/**
|
|
8506
|
+
* Reviewer/admin view of a submission's application fee (#2132, §5).
|
|
8507
|
+
*
|
|
8508
|
+
* GET returns the charge and its event history; POST records an out-of-band
|
|
8509
|
+
* payment or a waiver/refund/credit. Money collection through Stripe is a
|
|
8510
|
+
* later segment; this is the domain side.
|
|
8511
|
+
* @returns any Charge + events
|
|
8512
|
+
* @throws ApiError
|
|
8513
|
+
*/
|
|
8514
|
+
static catalogApplicationsPlatformManageFeeRetrieve({
|
|
8515
|
+
submissionId
|
|
8516
|
+
}) {
|
|
8517
|
+
return request(OpenAPI, {
|
|
8518
|
+
method: 'GET',
|
|
8519
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/fee/',
|
|
8520
|
+
path: {
|
|
8521
|
+
'submission_id': submissionId
|
|
8522
|
+
}
|
|
8523
|
+
});
|
|
8524
|
+
}
|
|
8525
|
+
/**
|
|
8526
|
+
* Reviewer/admin view of a submission's application fee (#2132, §5).
|
|
8527
|
+
*
|
|
8528
|
+
* GET returns the charge and its event history; POST records an out-of-band
|
|
8529
|
+
* payment or a waiver/refund/credit. Money collection through Stripe is a
|
|
8530
|
+
* later segment; this is the domain side.
|
|
8531
|
+
* @returns any Charge updated
|
|
8532
|
+
* @throws ApiError
|
|
8533
|
+
*/
|
|
8534
|
+
static catalogApplicationsPlatformManageFeeCreate({
|
|
8535
|
+
submissionId,
|
|
8536
|
+
requestBody
|
|
7475
8537
|
}) {
|
|
7476
8538
|
return request(OpenAPI, {
|
|
7477
|
-
method: '
|
|
7478
|
-
url: '/api/
|
|
8539
|
+
method: 'POST',
|
|
8540
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/fee/',
|
|
7479
8541
|
path: {
|
|
7480
|
-
'
|
|
7481
|
-
|
|
7482
|
-
|
|
8542
|
+
'submission_id': submissionId
|
|
8543
|
+
},
|
|
8544
|
+
body: requestBody,
|
|
8545
|
+
mediaType: 'application/json'
|
|
7483
8546
|
});
|
|
7484
8547
|
}
|
|
7485
8548
|
/**
|
|
7486
|
-
*
|
|
8549
|
+
* Internal reviewer notes on a submission (#2089, §6). Never surfaced on
|
|
8550
|
+
* applicant endpoints. GET lists (optional ``kind`` filter); POST adds one.
|
|
8551
|
+
* @returns any Notes for the submission
|
|
7487
8552
|
* @throws ApiError
|
|
7488
8553
|
*/
|
|
7489
|
-
static
|
|
7490
|
-
|
|
7491
|
-
|
|
8554
|
+
static catalogApplicationsPlatformManageNotesRetrieve({
|
|
8555
|
+
submissionId,
|
|
8556
|
+
platformKey,
|
|
8557
|
+
platformOrg,
|
|
8558
|
+
search,
|
|
8559
|
+
sort,
|
|
8560
|
+
status
|
|
7492
8561
|
}) {
|
|
7493
8562
|
return request(OpenAPI, {
|
|
7494
8563
|
method: 'GET',
|
|
7495
|
-
url: '/api/
|
|
8564
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/notes/',
|
|
7496
8565
|
path: {
|
|
7497
|
-
'
|
|
7498
|
-
|
|
8566
|
+
'submission_id': submissionId
|
|
8567
|
+
},
|
|
8568
|
+
query: {
|
|
8569
|
+
'platform_key': platformKey,
|
|
8570
|
+
'platform_org': platformOrg,
|
|
8571
|
+
'search': search,
|
|
8572
|
+
'sort': sort,
|
|
8573
|
+
'status': status
|
|
7499
8574
|
}
|
|
7500
8575
|
});
|
|
7501
8576
|
}
|
|
7502
8577
|
/**
|
|
7503
|
-
*
|
|
8578
|
+
* Internal reviewer notes on a submission (#2089, §6). Never surfaced on
|
|
8579
|
+
* applicant endpoints. GET lists (optional ``kind`` filter); POST adds one.
|
|
8580
|
+
* @returns any Note created
|
|
7504
8581
|
* @throws ApiError
|
|
7505
8582
|
*/
|
|
7506
|
-
static
|
|
7507
|
-
|
|
7508
|
-
username,
|
|
8583
|
+
static catalogApplicationsPlatformManageNotesCreate({
|
|
8584
|
+
submissionId,
|
|
7509
8585
|
requestBody
|
|
7510
8586
|
}) {
|
|
7511
8587
|
return request(OpenAPI, {
|
|
7512
8588
|
method: 'POST',
|
|
7513
|
-
url: '/api/
|
|
8589
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/notes/',
|
|
7514
8590
|
path: {
|
|
7515
|
-
'
|
|
7516
|
-
'username': username
|
|
8591
|
+
'submission_id': submissionId
|
|
7517
8592
|
},
|
|
7518
8593
|
body: requestBody,
|
|
7519
8594
|
mediaType: 'application/json'
|
|
7520
8595
|
});
|
|
7521
8596
|
}
|
|
7522
8597
|
/**
|
|
7523
|
-
*
|
|
8598
|
+
* Edit or remove a single internal reviewer note.
|
|
8599
|
+
* @returns any Note updated
|
|
7524
8600
|
* @throws ApiError
|
|
7525
8601
|
*/
|
|
7526
|
-
static
|
|
7527
|
-
|
|
7528
|
-
|
|
8602
|
+
static catalogApplicationsPlatformManageNotesPartialUpdate({
|
|
8603
|
+
noteId,
|
|
8604
|
+
submissionId,
|
|
7529
8605
|
requestBody
|
|
7530
8606
|
}) {
|
|
7531
8607
|
return request(OpenAPI, {
|
|
7532
|
-
method: '
|
|
7533
|
-
url: '/api/
|
|
8608
|
+
method: 'PATCH',
|
|
8609
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/notes/{note_id}/',
|
|
7534
8610
|
path: {
|
|
7535
|
-
'
|
|
7536
|
-
'
|
|
8611
|
+
'note_id': noteId,
|
|
8612
|
+
'submission_id': submissionId
|
|
7537
8613
|
},
|
|
7538
8614
|
body: requestBody,
|
|
7539
8615
|
mediaType: 'application/json'
|
|
7540
8616
|
});
|
|
7541
8617
|
}
|
|
7542
8618
|
/**
|
|
8619
|
+
* Edit or remove a single internal reviewer note.
|
|
7543
8620
|
* @returns void
|
|
7544
8621
|
* @throws ApiError
|
|
7545
8622
|
*/
|
|
7546
|
-
static
|
|
7547
|
-
|
|
7548
|
-
|
|
8623
|
+
static catalogApplicationsPlatformManageNotesDestroy({
|
|
8624
|
+
noteId,
|
|
8625
|
+
submissionId
|
|
7549
8626
|
}) {
|
|
7550
8627
|
return request(OpenAPI, {
|
|
7551
8628
|
method: 'DELETE',
|
|
7552
|
-
url: '/api/
|
|
8629
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/notes/{note_id}/',
|
|
7553
8630
|
path: {
|
|
7554
|
-
'
|
|
7555
|
-
'
|
|
8631
|
+
'note_id': noteId,
|
|
8632
|
+
'submission_id': submissionId
|
|
7556
8633
|
}
|
|
7557
8634
|
});
|
|
7558
8635
|
}
|
|
7559
8636
|
/**
|
|
7560
|
-
*
|
|
8637
|
+
* Placements for a submission (#2133): list, and assign a new placement
|
|
8638
|
+
* linking an accepted candidate to the placement mentor.
|
|
8639
|
+
* @returns any Placements for the submission
|
|
7561
8640
|
* @throws ApiError
|
|
7562
8641
|
*/
|
|
7563
|
-
static
|
|
7564
|
-
|
|
7565
|
-
username
|
|
8642
|
+
static catalogApplicationsPlatformManagePlacementsRetrieve({
|
|
8643
|
+
submissionId
|
|
7566
8644
|
}) {
|
|
7567
8645
|
return request(OpenAPI, {
|
|
7568
8646
|
method: 'GET',
|
|
7569
|
-
url: '/api/
|
|
8647
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/placements/',
|
|
7570
8648
|
path: {
|
|
7571
|
-
'
|
|
7572
|
-
'username': username
|
|
8649
|
+
'submission_id': submissionId
|
|
7573
8650
|
}
|
|
7574
8651
|
});
|
|
7575
8652
|
}
|
|
7576
8653
|
/**
|
|
7577
|
-
*
|
|
8654
|
+
* Placements for a submission (#2133): list, and assign a new placement
|
|
8655
|
+
* linking an accepted candidate to the placement mentor.
|
|
8656
|
+
* @returns any Per-item placement results
|
|
7578
8657
|
* @throws ApiError
|
|
7579
8658
|
*/
|
|
7580
|
-
static
|
|
7581
|
-
|
|
7582
|
-
username,
|
|
8659
|
+
static catalogApplicationsPlatformManagePlacementsCreate({
|
|
8660
|
+
submissionId,
|
|
7583
8661
|
requestBody
|
|
7584
8662
|
}) {
|
|
7585
8663
|
return request(OpenAPI, {
|
|
7586
8664
|
method: 'POST',
|
|
7587
|
-
url: '/api/
|
|
8665
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/placements/',
|
|
7588
8666
|
path: {
|
|
7589
|
-
'
|
|
7590
|
-
'username': username
|
|
8667
|
+
'submission_id': submissionId
|
|
7591
8668
|
},
|
|
7592
8669
|
body: requestBody,
|
|
7593
8670
|
mediaType: 'application/json'
|
|
7594
8671
|
});
|
|
7595
8672
|
}
|
|
7596
8673
|
/**
|
|
7597
|
-
*
|
|
8674
|
+
* Advance a single placement: status, the agent's result, admin override.
|
|
8675
|
+
* @returns any Placement updated
|
|
7598
8676
|
* @throws ApiError
|
|
7599
8677
|
*/
|
|
7600
|
-
static
|
|
7601
|
-
|
|
7602
|
-
|
|
8678
|
+
static catalogApplicationsPlatformManagePlacementsPartialUpdate({
|
|
8679
|
+
placementId,
|
|
8680
|
+
submissionId,
|
|
7603
8681
|
requestBody
|
|
7604
8682
|
}) {
|
|
7605
8683
|
return request(OpenAPI, {
|
|
7606
|
-
method: '
|
|
7607
|
-
url: '/api/
|
|
8684
|
+
method: 'PATCH',
|
|
8685
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/placements/{placement_id}/',
|
|
7608
8686
|
path: {
|
|
7609
|
-
'
|
|
7610
|
-
'
|
|
8687
|
+
'placement_id': placementId,
|
|
8688
|
+
'submission_id': submissionId
|
|
7611
8689
|
},
|
|
7612
8690
|
body: requestBody,
|
|
7613
8691
|
mediaType: 'application/json'
|
|
7614
8692
|
});
|
|
7615
8693
|
}
|
|
7616
8694
|
/**
|
|
7617
|
-
*
|
|
8695
|
+
* Admin submit-with-exceptions (§2.1 "administratively waived"): push a
|
|
8696
|
+
* family's editable application to Submitted, recording a waiver for every
|
|
8697
|
+
* required item still missing and bypassing an unpaid fee gate (the charge
|
|
8698
|
+
* stays payable/waivable). Present-but-invalid answers still block (400).
|
|
8699
|
+
* @returns any Application submitted
|
|
7618
8700
|
* @throws ApiError
|
|
7619
8701
|
*/
|
|
7620
|
-
static
|
|
7621
|
-
|
|
7622
|
-
|
|
8702
|
+
static catalogApplicationsPlatformManageSubmitCreate({
|
|
8703
|
+
submissionId,
|
|
8704
|
+
requestBody
|
|
7623
8705
|
}) {
|
|
7624
8706
|
return request(OpenAPI, {
|
|
7625
|
-
method: '
|
|
7626
|
-
url: '/api/
|
|
8707
|
+
method: 'POST',
|
|
8708
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/submit/',
|
|
7627
8709
|
path: {
|
|
7628
|
-
'
|
|
7629
|
-
|
|
7630
|
-
|
|
8710
|
+
'submission_id': submissionId
|
|
8711
|
+
},
|
|
8712
|
+
body: requestBody,
|
|
8713
|
+
mediaType: 'application/json'
|
|
7631
8714
|
});
|
|
7632
8715
|
}
|
|
7633
8716
|
/**
|
|
7634
|
-
*
|
|
8717
|
+
* Advance a submission or a single candidate through the review pipeline
|
|
8718
|
+
* (#2089, §5-6). A ``candidate_id`` scopes the action to one person; without
|
|
8719
|
+
* it the action applies to every candidate that can legally accept it. When
|
|
8720
|
+
* ``action`` is ``decline`` and ``block`` is set, the applicant is also added
|
|
8721
|
+
* to the platform ban-list (deny-with-block).
|
|
8722
|
+
* @returns any Updated submission detail
|
|
7635
8723
|
* @throws ApiError
|
|
7636
8724
|
*/
|
|
7637
|
-
static
|
|
7638
|
-
|
|
7639
|
-
|
|
8725
|
+
static catalogApplicationsPlatformManageTransitionCreate({
|
|
8726
|
+
submissionId,
|
|
8727
|
+
requestBody
|
|
7640
8728
|
}) {
|
|
7641
8729
|
return request(OpenAPI, {
|
|
7642
|
-
method: '
|
|
7643
|
-
url: '/api/
|
|
8730
|
+
method: 'POST',
|
|
8731
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/transition/',
|
|
7644
8732
|
path: {
|
|
7645
|
-
'
|
|
7646
|
-
|
|
7647
|
-
|
|
8733
|
+
'submission_id': submissionId
|
|
8734
|
+
},
|
|
8735
|
+
body: requestBody,
|
|
8736
|
+
mediaType: 'application/json'
|
|
7648
8737
|
});
|
|
7649
8738
|
}
|
|
7650
8739
|
/**
|
|
7651
|
-
*
|
|
8740
|
+
* Waive a required item on one application (§2.1 "administratively
|
|
8741
|
+
* waived"): POST excuses a missing required field so it no longer blocks
|
|
8742
|
+
* submission; DELETE reinstates it. Waivers excuse absence only — a
|
|
8743
|
+
* present-but-invalid answer still blocks. The fee is waived through its own
|
|
8744
|
+
* fee endpoint action, which also settles the money record.
|
|
8745
|
+
* @returns any Waiver recorded
|
|
7652
8746
|
* @throws ApiError
|
|
7653
8747
|
*/
|
|
7654
|
-
static
|
|
7655
|
-
|
|
7656
|
-
|
|
8748
|
+
static catalogApplicationsPlatformManageWaiversCreate({
|
|
8749
|
+
submissionId,
|
|
8750
|
+
requestBody
|
|
7657
8751
|
}) {
|
|
7658
8752
|
return request(OpenAPI, {
|
|
7659
8753
|
method: 'POST',
|
|
7660
|
-
url: '/api/
|
|
8754
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/waivers/',
|
|
7661
8755
|
path: {
|
|
7662
|
-
'
|
|
7663
|
-
|
|
7664
|
-
|
|
8756
|
+
'submission_id': submissionId
|
|
8757
|
+
},
|
|
8758
|
+
body: requestBody,
|
|
8759
|
+
mediaType: 'application/json'
|
|
7665
8760
|
});
|
|
7666
8761
|
}
|
|
7667
8762
|
/**
|
|
7668
|
-
*
|
|
8763
|
+
* Waive a required item on one application (§2.1 "administratively
|
|
8764
|
+
* waived"): POST excuses a missing required field so it no longer blocks
|
|
8765
|
+
* submission; DELETE reinstates it. Waivers excuse absence only — a
|
|
8766
|
+
* present-but-invalid answer still blocks. The fee is waived through its own
|
|
8767
|
+
* fee endpoint action, which also settles the money record.
|
|
8768
|
+
* @returns void
|
|
7669
8769
|
* @throws ApiError
|
|
7670
8770
|
*/
|
|
7671
|
-
static
|
|
7672
|
-
|
|
7673
|
-
username
|
|
8771
|
+
static catalogApplicationsPlatformManageWaiversDestroy({
|
|
8772
|
+
submissionId
|
|
7674
8773
|
}) {
|
|
7675
8774
|
return request(OpenAPI, {
|
|
7676
|
-
method: '
|
|
7677
|
-
url: '/api/
|
|
8775
|
+
method: 'DELETE',
|
|
8776
|
+
url: '/api/catalog/applications/platform/manage/{submission_id}/waivers/',
|
|
7678
8777
|
path: {
|
|
7679
|
-
'
|
|
7680
|
-
'username': username
|
|
8778
|
+
'submission_id': submissionId
|
|
7681
8779
|
}
|
|
7682
8780
|
});
|
|
7683
8781
|
}
|
|
7684
|
-
}
|
|
7685
|
-
|
|
7686
|
-
class CatalogService {
|
|
7687
8782
|
/**
|
|
7688
|
-
*
|
|
7689
|
-
* @returns
|
|
8783
|
+
* List the active application blocks (ban-list) for a platform.
|
|
8784
|
+
* @returns any Active blocks
|
|
7690
8785
|
* @throws ApiError
|
|
7691
8786
|
*/
|
|
7692
|
-
static
|
|
7693
|
-
page,
|
|
7694
|
-
pageSize,
|
|
8787
|
+
static catalogApplicationsPlatformManageBlocksRetrieve({
|
|
7695
8788
|
platformKey,
|
|
7696
8789
|
platformOrg,
|
|
7697
|
-
|
|
7698
|
-
sort
|
|
8790
|
+
search,
|
|
8791
|
+
sort,
|
|
8792
|
+
status
|
|
7699
8793
|
}) {
|
|
7700
8794
|
return request(OpenAPI, {
|
|
7701
8795
|
method: 'GET',
|
|
7702
|
-
url: '/api/catalog/
|
|
8796
|
+
url: '/api/catalog/applications/platform/manage/blocks/',
|
|
7703
8797
|
query: {
|
|
7704
|
-
'page': page,
|
|
7705
|
-
'page_size': pageSize,
|
|
7706
8798
|
'platform_key': platformKey,
|
|
7707
8799
|
'platform_org': platformOrg,
|
|
7708
|
-
'
|
|
7709
|
-
'sort': sort
|
|
7710
|
-
|
|
7711
|
-
errors: {
|
|
7712
|
-
400: `Bad request - missing or invalid parameters`,
|
|
7713
|
-
401: `Unauthorized`,
|
|
7714
|
-
403: `Forbidden`,
|
|
7715
|
-
404: `Not found - platform doesn't exist`,
|
|
7716
|
-
500: `Internal server error`
|
|
8800
|
+
'search': search,
|
|
8801
|
+
'sort': sort,
|
|
8802
|
+
'status': status
|
|
7717
8803
|
}
|
|
7718
8804
|
});
|
|
7719
8805
|
}
|
|
7720
8806
|
/**
|
|
7721
|
-
*
|
|
7722
|
-
* @returns
|
|
8807
|
+
* Lift a single active application block (unblock).
|
|
8808
|
+
* @returns void
|
|
7723
8809
|
* @throws ApiError
|
|
7724
8810
|
*/
|
|
7725
|
-
static
|
|
7726
|
-
|
|
7727
|
-
page,
|
|
7728
|
-
pageSize,
|
|
8811
|
+
static catalogApplicationsPlatformManageBlocksDestroy({
|
|
8812
|
+
blockId,
|
|
7729
8813
|
platformKey,
|
|
7730
8814
|
platformOrg,
|
|
7731
|
-
|
|
7732
|
-
sort
|
|
8815
|
+
search,
|
|
8816
|
+
sort,
|
|
8817
|
+
status
|
|
7733
8818
|
}) {
|
|
7734
8819
|
return request(OpenAPI, {
|
|
7735
|
-
method: '
|
|
7736
|
-
url: '/api/catalog/
|
|
8820
|
+
method: 'DELETE',
|
|
8821
|
+
url: '/api/catalog/applications/platform/manage/blocks/{block_id}/',
|
|
8822
|
+
path: {
|
|
8823
|
+
'block_id': blockId
|
|
8824
|
+
},
|
|
7737
8825
|
query: {
|
|
7738
|
-
'page': page,
|
|
7739
|
-
'page_size': pageSize,
|
|
7740
8826
|
'platform_key': platformKey,
|
|
7741
8827
|
'platform_org': platformOrg,
|
|
7742
|
-
'
|
|
7743
|
-
'sort': sort
|
|
7744
|
-
|
|
7745
|
-
body: requestBody,
|
|
7746
|
-
mediaType: 'application/json',
|
|
7747
|
-
errors: {
|
|
7748
|
-
400: `Bad request - missing or invalid parameters`,
|
|
7749
|
-
401: `Unauthorized`,
|
|
7750
|
-
403: `Forbidden`,
|
|
7751
|
-
404: `Not found - platform or access request doesn't exist`,
|
|
7752
|
-
500: `Internal server error`
|
|
8828
|
+
'search': search,
|
|
8829
|
+
'sort': sort,
|
|
8830
|
+
'status': status
|
|
7753
8831
|
}
|
|
7754
8832
|
});
|
|
7755
8833
|
}
|
|
7756
8834
|
/**
|
|
7757
|
-
*
|
|
7758
|
-
*
|
|
8835
|
+
* Wires RBAC into a DRF view.
|
|
8836
|
+
*
|
|
8837
|
+
* Two responsibilities:
|
|
8838
|
+
*
|
|
8839
|
+
* 1. When RBAC is enabled, replace the view's `permission_classes` with
|
|
8840
|
+
* `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
|
|
8841
|
+
* semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
|
|
8842
|
+
* views that set `token_policies_enabled = True`).
|
|
8843
|
+
*
|
|
8844
|
+
* 2. Detect server-to-server (Django auth) callers via `is_service_account`.
|
|
8845
|
+
* Server-to-server tokens authenticate as Django auth users with no
|
|
8846
|
+
* relationship to a platform EdxUser. The convention is "we trust this
|
|
8847
|
+
* caller — bypass RBAC and serve the request."
|
|
8848
|
+
*
|
|
8849
|
+
* Combine it with the RBAC-disabled check at the top of `initial()` so
|
|
8850
|
+
* the early exit skips all RBAC prep work:
|
|
8851
|
+
*
|
|
8852
|
+
* if not ConfigFlags.rbac_enabled() or self.is_service_account:
|
|
8853
|
+
* return
|
|
8854
|
+
*
|
|
8855
|
+
* Use `is_service_account` at any other touch points where caller
|
|
8856
|
+
* identity matters (queryset ownership filters, owner attribution on
|
|
8857
|
+
* create, serializer context, etc.).
|
|
8858
|
+
* @returns any Per-status counts
|
|
7759
8859
|
* @throws ApiError
|
|
7760
8860
|
*/
|
|
7761
|
-
static
|
|
7762
|
-
courseId,
|
|
8861
|
+
static catalogApplicationsPlatformManageStatsRetrieve({
|
|
7763
8862
|
platformKey,
|
|
7764
|
-
platformOrg
|
|
8863
|
+
platformOrg,
|
|
8864
|
+
search,
|
|
8865
|
+
sort,
|
|
8866
|
+
status
|
|
7765
8867
|
}) {
|
|
7766
8868
|
return request(OpenAPI, {
|
|
7767
8869
|
method: 'GET',
|
|
7768
|
-
url: '/api/catalog/
|
|
8870
|
+
url: '/api/catalog/applications/platform/manage/stats/',
|
|
7769
8871
|
query: {
|
|
7770
|
-
'course_id': courseId,
|
|
7771
8872
|
'platform_key': platformKey,
|
|
7772
|
-
'platform_org': platformOrg
|
|
7773
|
-
|
|
7774
|
-
|
|
7775
|
-
|
|
7776
|
-
401: `Unauthorized`,
|
|
7777
|
-
403: `Forbidden`,
|
|
7778
|
-
404: `Not found - platform or course doesn't exist`
|
|
8873
|
+
'platform_org': platformOrg,
|
|
8874
|
+
'search': search,
|
|
8875
|
+
'sort': sort,
|
|
8876
|
+
'status': status
|
|
7779
8877
|
}
|
|
7780
8878
|
});
|
|
7781
8879
|
}
|
|
7782
8880
|
/**
|
|
7783
|
-
*
|
|
7784
|
-
*
|
|
8881
|
+
* Start an annual re-enrollment (#2135): a normal draft create whose
|
|
8882
|
+
* responses are pre-filled from the caller's most recent approved submission
|
|
8883
|
+
* (current-schema fields only; signatures, consents, files, and fields the
|
|
8884
|
+
* form flags fresh are re-asked), linked to that prior submission. With no
|
|
8885
|
+
* prior approved submission this behaves as a plain create.
|
|
8886
|
+
* @returns PlatformApplicationDetail
|
|
7785
8887
|
* @throws ApiError
|
|
7786
8888
|
*/
|
|
7787
|
-
static
|
|
7788
|
-
|
|
7789
|
-
|
|
8889
|
+
static catalogApplicationsPlatformRenewCreate({
|
|
8890
|
+
requestBody
|
|
8891
|
+
}) {
|
|
8892
|
+
return request(OpenAPI, {
|
|
8893
|
+
method: 'POST',
|
|
8894
|
+
url: '/api/catalog/applications/platform/renew/',
|
|
8895
|
+
body: requestBody,
|
|
8896
|
+
mediaType: 'application/json'
|
|
8897
|
+
});
|
|
8898
|
+
}
|
|
8899
|
+
/**
|
|
8900
|
+
* Authenticated applicants, including learners on AXD student tokens.
|
|
8901
|
+
*
|
|
8902
|
+
* Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
|
|
8903
|
+
* not in the DRF defaults, but learners self-applying use it). An anonymous
|
|
8904
|
+
* request returns 401, not 403: DRF's ``permission_denied`` raises
|
|
8905
|
+
* ``NotAuthenticated`` whenever no authenticator succeeded.
|
|
8906
|
+
* @returns any Gate state
|
|
8907
|
+
* @throws ApiError
|
|
8908
|
+
*/
|
|
8909
|
+
static catalogApplicationsPlatformStatusRetrieve({
|
|
8910
|
+
formId,
|
|
7790
8911
|
platformKey,
|
|
7791
8912
|
platformOrg
|
|
7792
8913
|
}) {
|
|
7793
8914
|
return request(OpenAPI, {
|
|
7794
|
-
method: '
|
|
7795
|
-
url: '/api/catalog/
|
|
8915
|
+
method: 'GET',
|
|
8916
|
+
url: '/api/catalog/applications/platform/status/',
|
|
7796
8917
|
query: {
|
|
7797
|
-
'
|
|
8918
|
+
'form_id': formId,
|
|
7798
8919
|
'platform_key': platformKey,
|
|
7799
8920
|
'platform_org': platformOrg
|
|
7800
|
-
},
|
|
7801
|
-
body: requestBody,
|
|
7802
|
-
mediaType: 'application/json',
|
|
7803
|
-
errors: {
|
|
7804
|
-
400: `Bad request - missing or invalid parameters`,
|
|
7805
|
-
401: `Unauthorized`,
|
|
7806
|
-
403: `Forbidden`,
|
|
7807
|
-
404: `Not found - platform or course doesn't exist`,
|
|
7808
|
-
500: `Internal server error`
|
|
7809
8921
|
}
|
|
7810
8922
|
});
|
|
7811
8923
|
}
|
|
@@ -17802,6 +18914,29 @@ class CoreService {
|
|
|
17802
18914
|
}
|
|
17803
18915
|
});
|
|
17804
18916
|
}
|
|
18917
|
+
/**
|
|
18918
|
+
* Discover resources for policy building
|
|
18919
|
+
* GET the resource tree node at `path`.
|
|
18920
|
+
*
|
|
18921
|
+
* Platform comes from the request token (service accounts pass platform_key).
|
|
18922
|
+
* @returns any An entity node (child collections) or a collection node (list_url + search_qps + result_fields).
|
|
18923
|
+
* @throws ApiError
|
|
18924
|
+
*/
|
|
18925
|
+
static coreRbacResourcesRetrieve({
|
|
18926
|
+
path = '/'
|
|
18927
|
+
}) {
|
|
18928
|
+
return request(OpenAPI, {
|
|
18929
|
+
method: 'GET',
|
|
18930
|
+
url: '/api/core/rbac/resources/',
|
|
18931
|
+
query: {
|
|
18932
|
+
'path': path
|
|
18933
|
+
},
|
|
18934
|
+
errors: {
|
|
18935
|
+
400: `Invalid path or unknown platform`,
|
|
18936
|
+
403: `Missing resource-discovery access`
|
|
18937
|
+
}
|
|
18938
|
+
});
|
|
18939
|
+
}
|
|
17805
18940
|
/**
|
|
17806
18941
|
* List RBAC roles
|
|
17807
18942
|
* Retrieve a list of RBAC roles. Can be filtered by platform_key and name.
|