@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.
Files changed (71) hide show
  1. package/dist/index.cjs.js +1342 -207
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +1343 -208
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +1342 -207
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +25 -1
  8. package/dist/types/models/KindEnum.d.ts +8 -0
  9. package/dist/types/models/NotificationTemplateDetail.d.ts +3 -2
  10. package/dist/types/models/NotificationTemplateList.d.ts +3 -2
  11. package/dist/types/models/PatchedNotificationTemplateDetail.d.ts +3 -2
  12. package/dist/types/models/PatchedPlatformApplicationFormUpdate.d.ts +12 -0
  13. package/dist/types/models/PatchedPlatformApplicationNote.d.ts +8 -0
  14. package/dist/types/models/PatchedPlatformApplicationPlacementUpdate.d.ts +12 -0
  15. package/dist/types/models/PatchedPlatformApplicationUpdate.d.ts +6 -0
  16. package/dist/types/models/PlatformApplicationAdminSubmit.d.ts +6 -0
  17. package/dist/types/models/PlatformApplicationAttachmentUpload.d.ts +8 -0
  18. package/dist/types/models/PlatformApplicationCandidateLink.d.ts +8 -0
  19. package/dist/types/models/PlatformApplicationCourseAssignment.d.ts +7 -0
  20. package/dist/types/models/PlatformApplicationCourseAssignmentItem.d.ts +10 -0
  21. package/dist/types/models/PlatformApplicationCreate.d.ts +8 -0
  22. package/dist/types/models/PlatformApplicationDetail.d.ts +7 -0
  23. package/dist/types/models/PlatformApplicationFeeAction.d.ts +11 -0
  24. package/dist/types/models/PlatformApplicationFeeActionActionEnum.d.ts +12 -0
  25. package/dist/types/models/PlatformApplicationFormCreate.d.ts +12 -0
  26. package/dist/types/models/PlatformApplicationFormDetail.d.ts +9 -0
  27. package/dist/types/models/PlatformApplicationNote.d.ts +8 -0
  28. package/dist/types/models/PlatformApplicationPlacementCreate.d.ts +8 -0
  29. package/dist/types/models/PlatformApplicationPlacementItem.d.ts +11 -0
  30. package/dist/types/models/PlatformApplicationPlacementUpdateStatusEnum.d.ts +16 -0
  31. package/dist/types/models/PlatformApplicationSubmit.d.ts +6 -0
  32. package/dist/types/models/PlatformApplicationTransition.d.ts +11 -0
  33. package/dist/types/models/PlatformApplicationTransitionActionEnum.d.ts +16 -0
  34. package/dist/types/models/PlatformApplicationWaiver.d.ts +9 -0
  35. package/dist/types/models/{Type4b7Enum.d.ts → TypeB29Enum.d.ts} +3 -1
  36. package/dist/types/services/CatalogService.d.ts +648 -0
  37. package/dist/types/services/CoreService.d.ts +14 -0
  38. package/package.json +1 -1
  39. package/sdk_schema.yml +1893 -5
  40. package/src/core/OpenAPI.ts +1 -1
  41. package/src/index.ts +25 -1
  42. package/src/models/KindEnum.ts +12 -0
  43. package/src/models/NotificationTemplateDetail.ts +3 -2
  44. package/src/models/NotificationTemplateList.ts +3 -2
  45. package/src/models/PatchedNotificationTemplateDetail.ts +3 -2
  46. package/src/models/PatchedPlatformApplicationFormUpdate.ts +17 -0
  47. package/src/models/PatchedPlatformApplicationNote.ts +13 -0
  48. package/src/models/PatchedPlatformApplicationPlacementUpdate.ts +17 -0
  49. package/src/models/PatchedPlatformApplicationUpdate.ts +11 -0
  50. package/src/models/PlatformApplicationAdminSubmit.ts +11 -0
  51. package/src/models/PlatformApplicationAttachmentUpload.ts +13 -0
  52. package/src/models/PlatformApplicationCandidateLink.ts +13 -0
  53. package/src/models/PlatformApplicationCourseAssignment.ts +12 -0
  54. package/src/models/PlatformApplicationCourseAssignmentItem.ts +15 -0
  55. package/src/models/PlatformApplicationCreate.ts +13 -0
  56. package/src/models/PlatformApplicationDetail.ts +12 -0
  57. package/src/models/PlatformApplicationFeeAction.ts +16 -0
  58. package/src/models/PlatformApplicationFeeActionActionEnum.ts +16 -0
  59. package/src/models/PlatformApplicationFormCreate.ts +17 -0
  60. package/src/models/PlatformApplicationFormDetail.ts +14 -0
  61. package/src/models/PlatformApplicationNote.ts +13 -0
  62. package/src/models/PlatformApplicationPlacementCreate.ts +13 -0
  63. package/src/models/PlatformApplicationPlacementItem.ts +16 -0
  64. package/src/models/PlatformApplicationPlacementUpdateStatusEnum.ts +20 -0
  65. package/src/models/PlatformApplicationSubmit.ts +11 -0
  66. package/src/models/PlatformApplicationTransition.ts +16 -0
  67. package/src/models/PlatformApplicationTransitionActionEnum.ts +20 -0
  68. package/src/models/PlatformApplicationWaiver.ts +14 -0
  69. package/src/models/{Type4b7Enum.ts → TypeB29Enum.ts} +3 -1
  70. package/src/services/CatalogService.ts +1196 -0
  71. 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.305.0-core',
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 Type4b7Enum;
2146
- (function (Type4b7Enum) {
2147
- Type4b7Enum["ACTIVITY_COURSE_MILESTONE"] = "ACTIVITY_COURSE_MILESTONE";
2148
- Type4b7Enum["ACTIVITY_NEW_CONTENT"] = "ACTIVITY_NEW_CONTENT";
2149
- Type4b7Enum["ADMIN_NOTIF_COURSE_ENROLLMENT"] = "ADMIN_NOTIF_COURSE_ENROLLMENT";
2150
- Type4b7Enum["APP_REGISTRATION"] = "APP_REGISTRATION";
2151
- Type4b7Enum["COURSE_INVITATION"] = "COURSE_INVITATION";
2152
- Type4b7Enum["COURSE_LICENSE_ASSIGNMENT"] = "COURSE_LICENSE_ASSIGNMENT";
2153
- Type4b7Enum["COURSE_LICENSE_GROUP_ASSIGNMENT"] = "COURSE_LICENSE_GROUP_ASSIGNMENT";
2154
- Type4b7Enum["COURSE_SCHEDULE_CHANGE"] = "COURSE_SCHEDULE_CHANGE";
2155
- Type4b7Enum["COURSES_PROGRESS_SUMMARY"] = "COURSES_PROGRESS_SUMMARY";
2156
- Type4b7Enum["CRM_DEAL_STAGE_CHANGED"] = "CRM_DEAL_STAGE_CHANGED";
2157
- Type4b7Enum["CRM_PERSON_CREATED"] = "CRM_PERSON_CREATED";
2158
- Type4b7Enum["CRM_PERSON_LINKED_TO_USER"] = "CRM_PERSON_LINKED_TO_USER";
2159
- Type4b7Enum["CUSTOM_NOTIFICATION"] = "CUSTOM_NOTIFICATION";
2160
- Type4b7Enum["DEFAULT_TEMPLATE"] = "DEFAULT_TEMPLATE";
2161
- Type4b7Enum["HUMAN_SUPPORT_NOTIFICATION"] = "HUMAN_SUPPORT_NOTIFICATION";
2162
- Type4b7Enum["PATHWAY_ENROLLMENT_CONFIRMATION"] = "PATHWAY_ENROLLMENT_CONFIRMATION";
2163
- Type4b7Enum["PLATFORM_INVITATION"] = "PLATFORM_INVITATION";
2164
- Type4b7Enum["POLICY_ASSIGNMENT"] = "POLICY_ASSIGNMENT";
2165
- Type4b7Enum["PROACTIVE_LEARNER_NOTIFICATION"] = "PROACTIVE_LEARNER_NOTIFICATION";
2166
- Type4b7Enum["PROGRAM_ENROLLMENT_CONFIRMATION"] = "PROGRAM_ENROLLMENT_CONFIRMATION";
2167
- Type4b7Enum["PROGRAM_INVITATION"] = "PROGRAM_INVITATION";
2168
- Type4b7Enum["PROGRAM_LICENSE_ASSIGNMENT"] = "PROGRAM_LICENSE_ASSIGNMENT";
2169
- Type4b7Enum["PROGRAM_LICENSE_GROUP_ASSIGNMENT"] = "PROGRAM_LICENSE_GROUP_ASSIGNMENT";
2170
- Type4b7Enum["REPORT_COMPLETED"] = "REPORT_COMPLETED";
2171
- Type4b7Enum["ROLE_CHANGE"] = "ROLE_CHANGE";
2172
- Type4b7Enum["SKILL_MASTERY_CHANGE"] = "SKILL_MASTERY_CHANGE";
2173
- Type4b7Enum["SUBSECTION_GRADE_UPDATE"] = "SUBSECTION_GRADE_UPDATE";
2174
- Type4b7Enum["USER_LICENSE_ASSIGNMENT"] = "USER_LICENSE_ASSIGNMENT";
2175
- Type4b7Enum["USER_LICENSE_GROUP_ASSIGNMENT"] = "USER_LICENSE_GROUP_ASSIGNMENT";
2176
- Type4b7Enum["USER_NOTIF_COURSE_COMPLETION"] = "USER_NOTIF_COURSE_COMPLETION";
2177
- Type4b7Enum["USER_NOTIF_COURSE_ENROLLMENT"] = "USER_NOTIF_COURSE_ENROLLMENT";
2178
- Type4b7Enum["USER_NOTIF_CREDENTIALS"] = "USER_NOTIF_CREDENTIALS";
2179
- Type4b7Enum["USER_NOTIF_LEARNER_PROGRESS"] = "USER_NOTIF_LEARNER_PROGRESS";
2180
- Type4b7Enum["USER_NOTIF_USER_INACTIVITY"] = "USER_NOTIF_USER_INACTIVITY";
2181
- Type4b7Enum["USER_NOTIF_USER_REGISTRATION"] = "USER_NOTIF_USER_REGISTRATION";
2182
- })(Type4b7Enum || (Type4b7Enum = {}));
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: 'DELETE',
7476
- url: '/api/career/orgs/{org}/experience/users/{username}/',
8537
+ method: 'POST',
8538
+ url: '/api/catalog/applications/platform/manage/{submission_id}/fee/',
7477
8539
  path: {
7478
- 'org': org,
7479
- 'username': username
7480
- }
8540
+ 'submission_id': submissionId
8541
+ },
8542
+ body: requestBody,
8543
+ mediaType: 'application/json'
7481
8544
  });
7482
8545
  }
7483
8546
  /**
7484
- * @returns Institution
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 careerOrgsInstitutionsUsersRetrieve({
7488
- org,
7489
- username
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/career/orgs/{org}/institutions/users/{username}/',
8562
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/',
7494
8563
  path: {
7495
- 'org': org,
7496
- 'username': username
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
- * @returns Institution
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 careerOrgsInstitutionsUsersCreate({
7505
- org,
7506
- username,
8581
+ static catalogApplicationsPlatformManageNotesCreate({
8582
+ submissionId,
7507
8583
  requestBody
7508
8584
  }) {
7509
8585
  return request(OpenAPI, {
7510
8586
  method: 'POST',
7511
- url: '/api/career/orgs/{org}/institutions/users/{username}/',
8587
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/',
7512
8588
  path: {
7513
- 'org': org,
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
- * @returns Institution
8596
+ * Edit or remove a single internal reviewer note.
8597
+ * @returns any Note updated
7522
8598
  * @throws ApiError
7523
8599
  */
7524
- static careerOrgsInstitutionsUsersUpdate({
7525
- org,
7526
- username,
8600
+ static catalogApplicationsPlatformManageNotesPartialUpdate({
8601
+ noteId,
8602
+ submissionId,
7527
8603
  requestBody
7528
8604
  }) {
7529
8605
  return request(OpenAPI, {
7530
- method: 'PUT',
7531
- url: '/api/career/orgs/{org}/institutions/users/{username}/',
8606
+ method: 'PATCH',
8607
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/{note_id}/',
7532
8608
  path: {
7533
- 'org': org,
7534
- 'username': username
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 careerOrgsInstitutionsUsersDestroy({
7545
- org,
7546
- username
8621
+ static catalogApplicationsPlatformManageNotesDestroy({
8622
+ noteId,
8623
+ submissionId
7547
8624
  }) {
7548
8625
  return request(OpenAPI, {
7549
8626
  method: 'DELETE',
7550
- url: '/api/career/orgs/{org}/institutions/users/{username}/',
8627
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/{note_id}/',
7551
8628
  path: {
7552
- 'org': org,
7553
- 'username': username
8629
+ 'note_id': noteId,
8630
+ 'submission_id': submissionId
7554
8631
  }
7555
8632
  });
7556
8633
  }
7557
8634
  /**
7558
- * @returns Program
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 careerOrgsProgramsUsersRetrieve({
7562
- org,
7563
- username
8640
+ static catalogApplicationsPlatformManagePlacementsRetrieve({
8641
+ submissionId
7564
8642
  }) {
7565
8643
  return request(OpenAPI, {
7566
8644
  method: 'GET',
7567
- url: '/api/career/orgs/{org}/programs/users/{username}/',
8645
+ url: '/api/catalog/applications/platform/manage/{submission_id}/placements/',
7568
8646
  path: {
7569
- 'org': org,
7570
- 'username': username
8647
+ 'submission_id': submissionId
7571
8648
  }
7572
8649
  });
7573
8650
  }
7574
8651
  /**
7575
- * @returns Program
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 careerOrgsProgramsUsersCreate({
7579
- org,
7580
- username,
8657
+ static catalogApplicationsPlatformManagePlacementsCreate({
8658
+ submissionId,
7581
8659
  requestBody
7582
8660
  }) {
7583
8661
  return request(OpenAPI, {
7584
8662
  method: 'POST',
7585
- url: '/api/career/orgs/{org}/programs/users/{username}/',
8663
+ url: '/api/catalog/applications/platform/manage/{submission_id}/placements/',
7586
8664
  path: {
7587
- 'org': org,
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
- * @returns Program
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 careerOrgsProgramsUsersUpdate({
7599
- org,
7600
- username,
8676
+ static catalogApplicationsPlatformManagePlacementsPartialUpdate({
8677
+ placementId,
8678
+ submissionId,
7601
8679
  requestBody
7602
8680
  }) {
7603
8681
  return request(OpenAPI, {
7604
- method: 'PUT',
7605
- url: '/api/career/orgs/{org}/programs/users/{username}/',
8682
+ method: 'PATCH',
8683
+ url: '/api/catalog/applications/platform/manage/{submission_id}/placements/{placement_id}/',
7606
8684
  path: {
7607
- 'org': org,
7608
- 'username': username
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
- * @returns void
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 careerOrgsProgramsUsersDestroy({
7619
- org,
7620
- username
8700
+ static catalogApplicationsPlatformManageSubmitCreate({
8701
+ submissionId,
8702
+ requestBody
7621
8703
  }) {
7622
8704
  return request(OpenAPI, {
7623
- method: 'DELETE',
7624
- url: '/api/career/orgs/{org}/programs/users/{username}/',
8705
+ method: 'POST',
8706
+ url: '/api/catalog/applications/platform/manage/{submission_id}/submit/',
7625
8707
  path: {
7626
- 'org': org,
7627
- 'username': username
7628
- }
8708
+ 'submission_id': submissionId
8709
+ },
8710
+ body: requestBody,
8711
+ mediaType: 'application/json'
7629
8712
  });
7630
8713
  }
7631
8714
  /**
7632
- * @returns any No response body
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 careerResumeOrgsUsersRetrieve({
7636
- org,
7637
- username
8723
+ static catalogApplicationsPlatformManageTransitionCreate({
8724
+ submissionId,
8725
+ requestBody
7638
8726
  }) {
7639
8727
  return request(OpenAPI, {
7640
- method: 'GET',
7641
- url: '/api/career/resume/orgs/{org}/users/{username}/',
8728
+ method: 'POST',
8729
+ url: '/api/catalog/applications/platform/manage/{submission_id}/transition/',
7642
8730
  path: {
7643
- 'org': org,
7644
- 'username': username
7645
- }
8731
+ 'submission_id': submissionId
8732
+ },
8733
+ body: requestBody,
8734
+ mediaType: 'application/json'
7646
8735
  });
7647
8736
  }
7648
8737
  /**
7649
- * @returns any No response body
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 careerResumeOrgsUsersCreate({
7653
- org,
7654
- username
8746
+ static catalogApplicationsPlatformManageWaiversCreate({
8747
+ submissionId,
8748
+ requestBody
7655
8749
  }) {
7656
8750
  return request(OpenAPI, {
7657
8751
  method: 'POST',
7658
- url: '/api/career/resume/orgs/{org}/users/{username}/',
8752
+ url: '/api/catalog/applications/platform/manage/{submission_id}/waivers/',
7659
8753
  path: {
7660
- 'org': org,
7661
- 'username': username
7662
- }
8754
+ 'submission_id': submissionId
8755
+ },
8756
+ body: requestBody,
8757
+ mediaType: 'application/json'
7663
8758
  });
7664
8759
  }
7665
8760
  /**
7666
- * @returns any No response body
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 careerResumeOrgsUsersUpdate({
7670
- org,
7671
- username
8769
+ static catalogApplicationsPlatformManageWaiversDestroy({
8770
+ submissionId
7672
8771
  }) {
7673
8772
  return request(OpenAPI, {
7674
- method: 'PUT',
7675
- url: '/api/career/resume/orgs/{org}/users/{username}/',
8773
+ method: 'DELETE',
8774
+ url: '/api/catalog/applications/platform/manage/{submission_id}/waivers/',
7676
8775
  path: {
7677
- 'org': org,
7678
- 'username': username
8776
+ 'submission_id': submissionId
7679
8777
  }
7680
8778
  });
7681
8779
  }
7682
- }
7683
-
7684
- class CatalogService {
7685
8780
  /**
7686
- * Retrieve a paginated list of access requests
7687
- * @returns PaginatedCourseAccessRequest
8781
+ * List the active application blocks (ban-list) for a platform.
8782
+ * @returns any Active blocks
7688
8783
  * @throws ApiError
7689
8784
  */
7690
- static catalogAccessRequestsCourseManageRetrieve({
7691
- page,
7692
- pageSize,
8785
+ static catalogApplicationsPlatformManageBlocksRetrieve({
7693
8786
  platformKey,
7694
8787
  platformOrg,
7695
- reviewed,
7696
- sort = '-id'
8788
+ search,
8789
+ sort,
8790
+ status
7697
8791
  }) {
7698
8792
  return request(OpenAPI, {
7699
8793
  method: 'GET',
7700
- url: '/api/catalog/access_requests/course/manage/',
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
- 'reviewed': reviewed,
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
- * Update an existing access request (approve/reject)
7720
- * @returns CourseAccessRequestDetail
8805
+ * Lift a single active application block (unblock).
8806
+ * @returns void
7721
8807
  * @throws ApiError
7722
8808
  */
7723
- static catalogAccessRequestsCourseManageCreate({
7724
- requestBody,
7725
- page,
7726
- pageSize,
8809
+ static catalogApplicationsPlatformManageBlocksDestroy({
8810
+ blockId,
7727
8811
  platformKey,
7728
8812
  platformOrg,
7729
- reviewed,
7730
- sort = '-id'
8813
+ search,
8814
+ sort,
8815
+ status
7731
8816
  }) {
7732
8817
  return request(OpenAPI, {
7733
- method: 'POST',
7734
- url: '/api/catalog/access_requests/course/manage/',
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
- 'reviewed': reviewed,
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
- * Check if the user has an active access request for a course
7756
- * @returns CourseAccessRequestStatusResponse
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 catalogAccessRequestsCourseRequestRetrieve({
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/access_requests/course/request/',
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
- errors: {
7773
- 400: `Bad request - missing or invalid parameters`,
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
- * Create a new access request for a course
7782
- * @returns CourseAccessRequestDetail
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 catalogAccessRequestsCourseRequestCreate({
7786
- courseId,
7787
- requestBody,
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: 'POST',
7793
- url: '/api/catalog/access_requests/course/request/',
8913
+ method: 'GET',
8914
+ url: '/api/catalog/applications/platform/status/',
7794
8915
  query: {
7795
- 'course_id': courseId,
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, Type4b7Enum };
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