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