@iblai/iblai-api 4.305.0-ai → 4.306.0-ai

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 +1174 -39
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +1175 -40
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.umd.js +1174 -39
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/types/index.d.ts +25 -1
  8. package/dist/types/models/NotificationTemplateDetail.d.ts +3 -2
  9. package/dist/types/models/NotificationTemplateList.d.ts +3 -2
  10. package/dist/types/models/PatchedNotificationTemplateDetail.d.ts +3 -2
  11. package/dist/types/models/PatchedPlatformApplicationFormUpdate.d.ts +12 -0
  12. package/dist/types/models/PatchedPlatformApplicationNote.d.ts +8 -0
  13. package/dist/types/models/PatchedPlatformApplicationPlacementUpdate.d.ts +12 -0
  14. package/dist/types/models/PatchedPlatformApplicationUpdate.d.ts +6 -0
  15. package/dist/types/models/PlatformApplicationAdminSubmit.d.ts +6 -0
  16. package/dist/types/models/PlatformApplicationAttachmentUpload.d.ts +8 -0
  17. package/dist/types/models/PlatformApplicationCandidateLink.d.ts +8 -0
  18. package/dist/types/models/PlatformApplicationCourseAssignment.d.ts +7 -0
  19. package/dist/types/models/PlatformApplicationCourseAssignmentItem.d.ts +10 -0
  20. package/dist/types/models/PlatformApplicationCreate.d.ts +8 -0
  21. package/dist/types/models/PlatformApplicationDetail.d.ts +7 -0
  22. package/dist/types/models/PlatformApplicationFeeAction.d.ts +11 -0
  23. package/dist/types/models/PlatformApplicationFeeActionActionEnum.d.ts +12 -0
  24. package/dist/types/models/PlatformApplicationFormCreate.d.ts +12 -0
  25. package/dist/types/models/PlatformApplicationFormDetail.d.ts +9 -0
  26. package/dist/types/models/PlatformApplicationNote.d.ts +8 -0
  27. package/dist/types/models/PlatformApplicationNoteKindEnum.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/NotificationTemplateDetail.ts +3 -2
  43. package/src/models/NotificationTemplateList.ts +3 -2
  44. package/src/models/PatchedNotificationTemplateDetail.ts +3 -2
  45. package/src/models/PatchedPlatformApplicationFormUpdate.ts +17 -0
  46. package/src/models/PatchedPlatformApplicationNote.ts +13 -0
  47. package/src/models/PatchedPlatformApplicationPlacementUpdate.ts +17 -0
  48. package/src/models/PatchedPlatformApplicationUpdate.ts +11 -0
  49. package/src/models/PlatformApplicationAdminSubmit.ts +11 -0
  50. package/src/models/PlatformApplicationAttachmentUpload.ts +13 -0
  51. package/src/models/PlatformApplicationCandidateLink.ts +13 -0
  52. package/src/models/PlatformApplicationCourseAssignment.ts +12 -0
  53. package/src/models/PlatformApplicationCourseAssignmentItem.ts +15 -0
  54. package/src/models/PlatformApplicationCreate.ts +13 -0
  55. package/src/models/PlatformApplicationDetail.ts +12 -0
  56. package/src/models/PlatformApplicationFeeAction.ts +16 -0
  57. package/src/models/PlatformApplicationFeeActionActionEnum.ts +16 -0
  58. package/src/models/PlatformApplicationFormCreate.ts +17 -0
  59. package/src/models/PlatformApplicationFormDetail.ts +14 -0
  60. package/src/models/PlatformApplicationNote.ts +13 -0
  61. package/src/models/PlatformApplicationNoteKindEnum.ts +12 -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.cjs.js CHANGED
@@ -110,7 +110,7 @@ class CancelablePromise {
110
110
 
111
111
  const OpenAPI = {
112
112
  BASE: 'https://base.manager.iblai.app',
113
- VERSION: '4.305.0-ai-plus',
113
+ VERSION: '4.306.0-ai-plus',
114
114
  WITH_CREDENTIALS: false,
115
115
  CREDENTIALS: 'include',
116
116
  TOKEN: undefined,
@@ -1375,6 +1375,82 @@ exports.PlatformApiKeyModeEnum = void 0;
1375
1375
  PlatformApiKeyModeEnum["TOKEN_POLICIES"] = "token_policies";
1376
1376
  })(exports.PlatformApiKeyModeEnum || (exports.PlatformApiKeyModeEnum = {}));
1377
1377
 
1378
+ /* generated using openapi-typescript-codegen -- do not edit */
1379
+ /* istanbul ignore file */
1380
+ /* tslint:disable */
1381
+ /* eslint-disable */
1382
+ /**
1383
+ * * `record_payment` - record_payment
1384
+ * * `waive` - waive
1385
+ * * `refund` - refund
1386
+ * * `credit` - credit
1387
+ */
1388
+ exports.PlatformApplicationFeeActionActionEnum = void 0;
1389
+ (function (PlatformApplicationFeeActionActionEnum) {
1390
+ PlatformApplicationFeeActionActionEnum["RECORD_PAYMENT"] = "record_payment";
1391
+ PlatformApplicationFeeActionActionEnum["WAIVE"] = "waive";
1392
+ PlatformApplicationFeeActionActionEnum["REFUND"] = "refund";
1393
+ PlatformApplicationFeeActionActionEnum["CREDIT"] = "credit";
1394
+ })(exports.PlatformApplicationFeeActionActionEnum || (exports.PlatformApplicationFeeActionActionEnum = {}));
1395
+
1396
+ /* generated using openapi-typescript-codegen -- do not edit */
1397
+ /* istanbul ignore file */
1398
+ /* tslint:disable */
1399
+ /* eslint-disable */
1400
+ /**
1401
+ * * `general` - general
1402
+ * * `interview` - interview
1403
+ */
1404
+ exports.PlatformApplicationNoteKindEnum = void 0;
1405
+ (function (PlatformApplicationNoteKindEnum) {
1406
+ PlatformApplicationNoteKindEnum["GENERAL"] = "general";
1407
+ PlatformApplicationNoteKindEnum["INTERVIEW"] = "interview";
1408
+ })(exports.PlatformApplicationNoteKindEnum || (exports.PlatformApplicationNoteKindEnum = {}));
1409
+
1410
+ /* generated using openapi-typescript-codegen -- do not edit */
1411
+ /* istanbul ignore file */
1412
+ /* tslint:disable */
1413
+ /* eslint-disable */
1414
+ /**
1415
+ * * `not_assigned` - not_assigned
1416
+ * * `assigned` - assigned
1417
+ * * `started` - started
1418
+ * * `completed` - completed
1419
+ * * `reviewed` - reviewed
1420
+ * * `confirmed` - confirmed
1421
+ */
1422
+ exports.PlatformApplicationPlacementUpdateStatusEnum = void 0;
1423
+ (function (PlatformApplicationPlacementUpdateStatusEnum) {
1424
+ PlatformApplicationPlacementUpdateStatusEnum["NOT_ASSIGNED"] = "not_assigned";
1425
+ PlatformApplicationPlacementUpdateStatusEnum["ASSIGNED"] = "assigned";
1426
+ PlatformApplicationPlacementUpdateStatusEnum["STARTED"] = "started";
1427
+ PlatformApplicationPlacementUpdateStatusEnum["COMPLETED"] = "completed";
1428
+ PlatformApplicationPlacementUpdateStatusEnum["REVIEWED"] = "reviewed";
1429
+ PlatformApplicationPlacementUpdateStatusEnum["CONFIRMED"] = "confirmed";
1430
+ })(exports.PlatformApplicationPlacementUpdateStatusEnum || (exports.PlatformApplicationPlacementUpdateStatusEnum = {}));
1431
+
1432
+ /* generated using openapi-typescript-codegen -- do not edit */
1433
+ /* istanbul ignore file */
1434
+ /* tslint:disable */
1435
+ /* eslint-disable */
1436
+ /**
1437
+ * * `start_review` - start_review
1438
+ * * `request_info` - request_info
1439
+ * * `require_interview` - require_interview
1440
+ * * `waitlist` - waitlist
1441
+ * * `accept` - accept
1442
+ * * `decline` - decline
1443
+ */
1444
+ exports.PlatformApplicationTransitionActionEnum = void 0;
1445
+ (function (PlatformApplicationTransitionActionEnum) {
1446
+ PlatformApplicationTransitionActionEnum["START_REVIEW"] = "start_review";
1447
+ PlatformApplicationTransitionActionEnum["REQUEST_INFO"] = "request_info";
1448
+ PlatformApplicationTransitionActionEnum["REQUIRE_INTERVIEW"] = "require_interview";
1449
+ PlatformApplicationTransitionActionEnum["WAITLIST"] = "waitlist";
1450
+ PlatformApplicationTransitionActionEnum["ACCEPT"] = "accept";
1451
+ PlatformApplicationTransitionActionEnum["DECLINE"] = "decline";
1452
+ })(exports.PlatformApplicationTransitionActionEnum || (exports.PlatformApplicationTransitionActionEnum = {}));
1453
+
1378
1454
  /* generated using openapi-typescript-codegen -- do not edit */
1379
1455
  /* istanbul ignore file */
1380
1456
  /* tslint:disable */
@@ -3114,6 +3190,7 @@ exports.TtsProviderEnum = void 0;
3114
3190
  * * `DEFAULT_TEMPLATE` - Default Template
3115
3191
  * * `HUMAN_SUPPORT_NOTIFICATION` - Human Support Notification
3116
3192
  * * `PATHWAY_ENROLLMENT_CONFIRMATION` - Pathway Enrollment Confirmation
3193
+ * * `PLATFORM_APPLICATION_DECISION` - Platform Application Decision
3117
3194
  * * `PLATFORM_INVITATION` - Platform Invitation
3118
3195
  * * `POLICY_ASSIGNMENT` - Policy Assignment
3119
3196
  * * `PROACTIVE_LEARNER_NOTIFICATION` - Proactive Learner Notification
@@ -3134,44 +3211,45 @@ exports.TtsProviderEnum = void 0;
3134
3211
  * * `USER_NOTIF_USER_INACTIVITY` - User Notif User Inactivity
3135
3212
  * * `USER_NOTIF_USER_REGISTRATION` - User Notif User Registration
3136
3213
  */
3137
- exports.Type4b7Enum = void 0;
3138
- (function (Type4b7Enum) {
3139
- Type4b7Enum["ACTIVITY_COURSE_MILESTONE"] = "ACTIVITY_COURSE_MILESTONE";
3140
- Type4b7Enum["ACTIVITY_NEW_CONTENT"] = "ACTIVITY_NEW_CONTENT";
3141
- Type4b7Enum["ADMIN_NOTIF_COURSE_ENROLLMENT"] = "ADMIN_NOTIF_COURSE_ENROLLMENT";
3142
- Type4b7Enum["APP_REGISTRATION"] = "APP_REGISTRATION";
3143
- Type4b7Enum["COURSE_INVITATION"] = "COURSE_INVITATION";
3144
- Type4b7Enum["COURSE_LICENSE_ASSIGNMENT"] = "COURSE_LICENSE_ASSIGNMENT";
3145
- Type4b7Enum["COURSE_LICENSE_GROUP_ASSIGNMENT"] = "COURSE_LICENSE_GROUP_ASSIGNMENT";
3146
- Type4b7Enum["COURSE_SCHEDULE_CHANGE"] = "COURSE_SCHEDULE_CHANGE";
3147
- Type4b7Enum["COURSES_PROGRESS_SUMMARY"] = "COURSES_PROGRESS_SUMMARY";
3148
- Type4b7Enum["CRM_DEAL_STAGE_CHANGED"] = "CRM_DEAL_STAGE_CHANGED";
3149
- Type4b7Enum["CRM_PERSON_CREATED"] = "CRM_PERSON_CREATED";
3150
- Type4b7Enum["CRM_PERSON_LINKED_TO_USER"] = "CRM_PERSON_LINKED_TO_USER";
3151
- Type4b7Enum["CUSTOM_NOTIFICATION"] = "CUSTOM_NOTIFICATION";
3152
- Type4b7Enum["DEFAULT_TEMPLATE"] = "DEFAULT_TEMPLATE";
3153
- Type4b7Enum["HUMAN_SUPPORT_NOTIFICATION"] = "HUMAN_SUPPORT_NOTIFICATION";
3154
- Type4b7Enum["PATHWAY_ENROLLMENT_CONFIRMATION"] = "PATHWAY_ENROLLMENT_CONFIRMATION";
3155
- Type4b7Enum["PLATFORM_INVITATION"] = "PLATFORM_INVITATION";
3156
- Type4b7Enum["POLICY_ASSIGNMENT"] = "POLICY_ASSIGNMENT";
3157
- Type4b7Enum["PROACTIVE_LEARNER_NOTIFICATION"] = "PROACTIVE_LEARNER_NOTIFICATION";
3158
- Type4b7Enum["PROGRAM_ENROLLMENT_CONFIRMATION"] = "PROGRAM_ENROLLMENT_CONFIRMATION";
3159
- Type4b7Enum["PROGRAM_INVITATION"] = "PROGRAM_INVITATION";
3160
- Type4b7Enum["PROGRAM_LICENSE_ASSIGNMENT"] = "PROGRAM_LICENSE_ASSIGNMENT";
3161
- Type4b7Enum["PROGRAM_LICENSE_GROUP_ASSIGNMENT"] = "PROGRAM_LICENSE_GROUP_ASSIGNMENT";
3162
- Type4b7Enum["REPORT_COMPLETED"] = "REPORT_COMPLETED";
3163
- Type4b7Enum["ROLE_CHANGE"] = "ROLE_CHANGE";
3164
- Type4b7Enum["SKILL_MASTERY_CHANGE"] = "SKILL_MASTERY_CHANGE";
3165
- Type4b7Enum["SUBSECTION_GRADE_UPDATE"] = "SUBSECTION_GRADE_UPDATE";
3166
- Type4b7Enum["USER_LICENSE_ASSIGNMENT"] = "USER_LICENSE_ASSIGNMENT";
3167
- Type4b7Enum["USER_LICENSE_GROUP_ASSIGNMENT"] = "USER_LICENSE_GROUP_ASSIGNMENT";
3168
- Type4b7Enum["USER_NOTIF_COURSE_COMPLETION"] = "USER_NOTIF_COURSE_COMPLETION";
3169
- Type4b7Enum["USER_NOTIF_COURSE_ENROLLMENT"] = "USER_NOTIF_COURSE_ENROLLMENT";
3170
- Type4b7Enum["USER_NOTIF_CREDENTIALS"] = "USER_NOTIF_CREDENTIALS";
3171
- Type4b7Enum["USER_NOTIF_LEARNER_PROGRESS"] = "USER_NOTIF_LEARNER_PROGRESS";
3172
- Type4b7Enum["USER_NOTIF_USER_INACTIVITY"] = "USER_NOTIF_USER_INACTIVITY";
3173
- Type4b7Enum["USER_NOTIF_USER_REGISTRATION"] = "USER_NOTIF_USER_REGISTRATION";
3174
- })(exports.Type4b7Enum || (exports.Type4b7Enum = {}));
3214
+ exports.TypeB29Enum = void 0;
3215
+ (function (TypeB29Enum) {
3216
+ TypeB29Enum["ACTIVITY_COURSE_MILESTONE"] = "ACTIVITY_COURSE_MILESTONE";
3217
+ TypeB29Enum["ACTIVITY_NEW_CONTENT"] = "ACTIVITY_NEW_CONTENT";
3218
+ TypeB29Enum["ADMIN_NOTIF_COURSE_ENROLLMENT"] = "ADMIN_NOTIF_COURSE_ENROLLMENT";
3219
+ TypeB29Enum["APP_REGISTRATION"] = "APP_REGISTRATION";
3220
+ TypeB29Enum["COURSE_INVITATION"] = "COURSE_INVITATION";
3221
+ TypeB29Enum["COURSE_LICENSE_ASSIGNMENT"] = "COURSE_LICENSE_ASSIGNMENT";
3222
+ TypeB29Enum["COURSE_LICENSE_GROUP_ASSIGNMENT"] = "COURSE_LICENSE_GROUP_ASSIGNMENT";
3223
+ TypeB29Enum["COURSE_SCHEDULE_CHANGE"] = "COURSE_SCHEDULE_CHANGE";
3224
+ TypeB29Enum["COURSES_PROGRESS_SUMMARY"] = "COURSES_PROGRESS_SUMMARY";
3225
+ TypeB29Enum["CRM_DEAL_STAGE_CHANGED"] = "CRM_DEAL_STAGE_CHANGED";
3226
+ TypeB29Enum["CRM_PERSON_CREATED"] = "CRM_PERSON_CREATED";
3227
+ TypeB29Enum["CRM_PERSON_LINKED_TO_USER"] = "CRM_PERSON_LINKED_TO_USER";
3228
+ TypeB29Enum["CUSTOM_NOTIFICATION"] = "CUSTOM_NOTIFICATION";
3229
+ TypeB29Enum["DEFAULT_TEMPLATE"] = "DEFAULT_TEMPLATE";
3230
+ TypeB29Enum["HUMAN_SUPPORT_NOTIFICATION"] = "HUMAN_SUPPORT_NOTIFICATION";
3231
+ TypeB29Enum["PATHWAY_ENROLLMENT_CONFIRMATION"] = "PATHWAY_ENROLLMENT_CONFIRMATION";
3232
+ TypeB29Enum["PLATFORM_APPLICATION_DECISION"] = "PLATFORM_APPLICATION_DECISION";
3233
+ TypeB29Enum["PLATFORM_INVITATION"] = "PLATFORM_INVITATION";
3234
+ TypeB29Enum["POLICY_ASSIGNMENT"] = "POLICY_ASSIGNMENT";
3235
+ TypeB29Enum["PROACTIVE_LEARNER_NOTIFICATION"] = "PROACTIVE_LEARNER_NOTIFICATION";
3236
+ TypeB29Enum["PROGRAM_ENROLLMENT_CONFIRMATION"] = "PROGRAM_ENROLLMENT_CONFIRMATION";
3237
+ TypeB29Enum["PROGRAM_INVITATION"] = "PROGRAM_INVITATION";
3238
+ TypeB29Enum["PROGRAM_LICENSE_ASSIGNMENT"] = "PROGRAM_LICENSE_ASSIGNMENT";
3239
+ TypeB29Enum["PROGRAM_LICENSE_GROUP_ASSIGNMENT"] = "PROGRAM_LICENSE_GROUP_ASSIGNMENT";
3240
+ TypeB29Enum["REPORT_COMPLETED"] = "REPORT_COMPLETED";
3241
+ TypeB29Enum["ROLE_CHANGE"] = "ROLE_CHANGE";
3242
+ TypeB29Enum["SKILL_MASTERY_CHANGE"] = "SKILL_MASTERY_CHANGE";
3243
+ TypeB29Enum["SUBSECTION_GRADE_UPDATE"] = "SUBSECTION_GRADE_UPDATE";
3244
+ TypeB29Enum["USER_LICENSE_ASSIGNMENT"] = "USER_LICENSE_ASSIGNMENT";
3245
+ TypeB29Enum["USER_LICENSE_GROUP_ASSIGNMENT"] = "USER_LICENSE_GROUP_ASSIGNMENT";
3246
+ TypeB29Enum["USER_NOTIF_COURSE_COMPLETION"] = "USER_NOTIF_COURSE_COMPLETION";
3247
+ TypeB29Enum["USER_NOTIF_COURSE_ENROLLMENT"] = "USER_NOTIF_COURSE_ENROLLMENT";
3248
+ TypeB29Enum["USER_NOTIF_CREDENTIALS"] = "USER_NOTIF_CREDENTIALS";
3249
+ TypeB29Enum["USER_NOTIF_LEARNER_PROGRESS"] = "USER_NOTIF_LEARNER_PROGRESS";
3250
+ TypeB29Enum["USER_NOTIF_USER_INACTIVITY"] = "USER_NOTIF_USER_INACTIVITY";
3251
+ TypeB29Enum["USER_NOTIF_USER_REGISTRATION"] = "USER_NOTIF_USER_REGISTRATION";
3252
+ })(exports.TypeB29Enum || (exports.TypeB29Enum = {}));
3175
3253
 
3176
3254
  /* generated using openapi-typescript-codegen -- do not edit */
3177
3255
  /* istanbul ignore file */
@@ -27238,6 +27316,1040 @@ class CatalogService {
27238
27316
  }
27239
27317
  });
27240
27318
  }
27319
+ /**
27320
+ * Authenticated applicants, including learners on AXD student tokens.
27321
+ *
27322
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27323
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27324
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27325
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27326
+ * @returns any Own submissions
27327
+ * @throws ApiError
27328
+ */
27329
+ static catalogApplicationsPlatformRetrieve({
27330
+ formId,
27331
+ platformKey,
27332
+ platformOrg
27333
+ }) {
27334
+ return request(OpenAPI, {
27335
+ method: 'GET',
27336
+ url: '/api/catalog/applications/platform/',
27337
+ query: {
27338
+ 'form_id': formId,
27339
+ 'platform_key': platformKey,
27340
+ 'platform_org': platformOrg
27341
+ }
27342
+ });
27343
+ }
27344
+ /**
27345
+ * Authenticated applicants, including learners on AXD student tokens.
27346
+ *
27347
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27348
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27349
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27350
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27351
+ * @returns PlatformApplicationDetail
27352
+ * @throws ApiError
27353
+ */
27354
+ static catalogApplicationsPlatformCreate({
27355
+ requestBody
27356
+ }) {
27357
+ return request(OpenAPI, {
27358
+ method: 'POST',
27359
+ url: '/api/catalog/applications/platform/',
27360
+ body: requestBody,
27361
+ mediaType: 'application/json'
27362
+ });
27363
+ }
27364
+ /**
27365
+ * Authenticated applicants, including learners on AXD student tokens.
27366
+ *
27367
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27368
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27369
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27370
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27371
+ * @returns PlatformApplicationDetail
27372
+ * @throws ApiError
27373
+ */
27374
+ static catalogApplicationsPlatformRetrieve2({
27375
+ submissionId
27376
+ }) {
27377
+ return request(OpenAPI, {
27378
+ method: 'GET',
27379
+ url: '/api/catalog/applications/platform/{submission_id}/',
27380
+ path: {
27381
+ 'submission_id': submissionId
27382
+ }
27383
+ });
27384
+ }
27385
+ /**
27386
+ * Authenticated applicants, including learners on AXD student tokens.
27387
+ *
27388
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27389
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27390
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27391
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27392
+ * @returns PlatformApplicationDetail
27393
+ * @throws ApiError
27394
+ */
27395
+ static catalogApplicationsPlatformPartialUpdate({
27396
+ submissionId,
27397
+ requestBody
27398
+ }) {
27399
+ return request(OpenAPI, {
27400
+ method: 'PATCH',
27401
+ url: '/api/catalog/applications/platform/{submission_id}/',
27402
+ path: {
27403
+ 'submission_id': submissionId
27404
+ },
27405
+ body: requestBody,
27406
+ mediaType: 'application/json'
27407
+ });
27408
+ }
27409
+ /**
27410
+ * Authenticated applicants, including learners on AXD student tokens.
27411
+ *
27412
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27413
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27414
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27415
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27416
+ * @returns any Attachment stored
27417
+ * @throws ApiError
27418
+ */
27419
+ static catalogApplicationsPlatformAttachmentsCreate({
27420
+ submissionId,
27421
+ formData
27422
+ }) {
27423
+ return request(OpenAPI, {
27424
+ method: 'POST',
27425
+ url: '/api/catalog/applications/platform/{submission_id}/attachments/',
27426
+ path: {
27427
+ 'submission_id': submissionId
27428
+ },
27429
+ formData: formData,
27430
+ mediaType: 'multipart/form-data'
27431
+ });
27432
+ }
27433
+ /**
27434
+ * Authenticated applicants, including learners on AXD student tokens.
27435
+ *
27436
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27437
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27438
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27439
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27440
+ * @returns void
27441
+ * @throws ApiError
27442
+ */
27443
+ static catalogApplicationsPlatformAttachmentsDestroy({
27444
+ attachmentId,
27445
+ submissionId
27446
+ }) {
27447
+ return request(OpenAPI, {
27448
+ method: 'DELETE',
27449
+ url: '/api/catalog/applications/platform/{submission_id}/attachments/{attachment_id}/',
27450
+ path: {
27451
+ 'attachment_id': attachmentId,
27452
+ 'submission_id': submissionId
27453
+ }
27454
+ });
27455
+ }
27456
+ /**
27457
+ * Authenticated applicants, including learners on AXD student tokens.
27458
+ *
27459
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27460
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27461
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27462
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27463
+ * @returns PlatformApplicationDetail
27464
+ * @throws ApiError
27465
+ */
27466
+ static catalogApplicationsPlatformSubmitCreate({
27467
+ submissionId,
27468
+ requestBody
27469
+ }) {
27470
+ return request(OpenAPI, {
27471
+ method: 'POST',
27472
+ url: '/api/catalog/applications/platform/{submission_id}/submit/',
27473
+ path: {
27474
+ 'submission_id': submissionId
27475
+ },
27476
+ body: requestBody,
27477
+ mediaType: 'application/json'
27478
+ });
27479
+ }
27480
+ /**
27481
+ * Authenticated applicants, including learners on AXD student tokens.
27482
+ *
27483
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27484
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27485
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27486
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27487
+ * @returns PlatformApplicationDetail
27488
+ * @throws ApiError
27489
+ */
27490
+ static catalogApplicationsPlatformWithdrawCreate({
27491
+ submissionId
27492
+ }) {
27493
+ return request(OpenAPI, {
27494
+ method: 'POST',
27495
+ url: '/api/catalog/applications/platform/{submission_id}/withdraw/',
27496
+ path: {
27497
+ 'submission_id': submissionId
27498
+ }
27499
+ });
27500
+ }
27501
+ /**
27502
+ * Authenticated applicants, including learners on AXD student tokens.
27503
+ *
27504
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
27505
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
27506
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
27507
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
27508
+ * @returns any Active form
27509
+ * @throws ApiError
27510
+ */
27511
+ static catalogApplicationsPlatformFormRetrieve({
27512
+ formId,
27513
+ platformKey,
27514
+ platformOrg
27515
+ }) {
27516
+ return request(OpenAPI, {
27517
+ method: 'GET',
27518
+ url: '/api/catalog/applications/platform/form/',
27519
+ query: {
27520
+ 'form_id': formId,
27521
+ 'platform_key': platformKey,
27522
+ 'platform_org': platformOrg
27523
+ }
27524
+ });
27525
+ }
27526
+ /**
27527
+ * Wires RBAC into a DRF view.
27528
+ *
27529
+ * Two responsibilities:
27530
+ *
27531
+ * 1. When RBAC is enabled, replace the view's `permission_classes` with
27532
+ * `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
27533
+ * semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
27534
+ * views that set `token_policies_enabled = True`).
27535
+ *
27536
+ * 2. Detect server-to-server (Django auth) callers via `is_service_account`.
27537
+ * Server-to-server tokens authenticate as Django auth users with no
27538
+ * relationship to a platform EdxUser. The convention is "we trust this
27539
+ * caller — bypass RBAC and serve the request."
27540
+ *
27541
+ * Combine it with the RBAC-disabled check at the top of `initial()` so
27542
+ * the early exit skips all RBAC prep work:
27543
+ *
27544
+ * if not ConfigFlags.rbac_enabled() or self.is_service_account:
27545
+ * return
27546
+ *
27547
+ * Use `is_service_account` at any other touch points where caller
27548
+ * identity matters (queryset ownership filters, owner attribution on
27549
+ * create, serializer context, etc.).
27550
+ * @returns any Forms for the platform
27551
+ * @throws ApiError
27552
+ */
27553
+ static catalogApplicationsPlatformFormsManageRetrieve({
27554
+ platformKey,
27555
+ platformOrg,
27556
+ sort
27557
+ }) {
27558
+ return request(OpenAPI, {
27559
+ method: 'GET',
27560
+ url: '/api/catalog/applications/platform/forms/manage/',
27561
+ query: {
27562
+ 'platform_key': platformKey,
27563
+ 'platform_org': platformOrg,
27564
+ 'sort': sort
27565
+ }
27566
+ });
27567
+ }
27568
+ /**
27569
+ * Wires RBAC into a DRF view.
27570
+ *
27571
+ * Two responsibilities:
27572
+ *
27573
+ * 1. When RBAC is enabled, replace the view's `permission_classes` with
27574
+ * `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
27575
+ * semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
27576
+ * views that set `token_policies_enabled = True`).
27577
+ *
27578
+ * 2. Detect server-to-server (Django auth) callers via `is_service_account`.
27579
+ * Server-to-server tokens authenticate as Django auth users with no
27580
+ * relationship to a platform EdxUser. The convention is "we trust this
27581
+ * caller — bypass RBAC and serve the request."
27582
+ *
27583
+ * Combine it with the RBAC-disabled check at the top of `initial()` so
27584
+ * the early exit skips all RBAC prep work:
27585
+ *
27586
+ * if not ConfigFlags.rbac_enabled() or self.is_service_account:
27587
+ * return
27588
+ *
27589
+ * Use `is_service_account` at any other touch points where caller
27590
+ * identity matters (queryset ownership filters, owner attribution on
27591
+ * create, serializer context, etc.).
27592
+ * @returns PlatformApplicationFormDetail
27593
+ * @throws ApiError
27594
+ */
27595
+ static catalogApplicationsPlatformFormsManageCreate({
27596
+ requestBody,
27597
+ platformKey,
27598
+ platformOrg,
27599
+ sort
27600
+ }) {
27601
+ return request(OpenAPI, {
27602
+ method: 'POST',
27603
+ url: '/api/catalog/applications/platform/forms/manage/',
27604
+ query: {
27605
+ 'platform_key': platformKey,
27606
+ 'platform_org': platformOrg,
27607
+ 'sort': sort
27608
+ },
27609
+ body: requestBody,
27610
+ mediaType: 'application/json'
27611
+ });
27612
+ }
27613
+ /**
27614
+ * Wires RBAC into a DRF view.
27615
+ *
27616
+ * Two responsibilities:
27617
+ *
27618
+ * 1. When RBAC is enabled, replace the view's `permission_classes` with
27619
+ * `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
27620
+ * semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
27621
+ * views that set `token_policies_enabled = True`).
27622
+ *
27623
+ * 2. Detect server-to-server (Django auth) callers via `is_service_account`.
27624
+ * Server-to-server tokens authenticate as Django auth users with no
27625
+ * relationship to a platform EdxUser. The convention is "we trust this
27626
+ * caller — bypass RBAC and serve the request."
27627
+ *
27628
+ * Combine it with the RBAC-disabled check at the top of `initial()` so
27629
+ * the early exit skips all RBAC prep work:
27630
+ *
27631
+ * if not ConfigFlags.rbac_enabled() or self.is_service_account:
27632
+ * return
27633
+ *
27634
+ * Use `is_service_account` at any other touch points where caller
27635
+ * identity matters (queryset ownership filters, owner attribution on
27636
+ * create, serializer context, etc.).
27637
+ * @returns PlatformApplicationFormDetail
27638
+ * @throws ApiError
27639
+ */
27640
+ static catalogApplicationsPlatformFormsManageRetrieve2({
27641
+ formId,
27642
+ platformKey,
27643
+ platformOrg,
27644
+ sort
27645
+ }) {
27646
+ return request(OpenAPI, {
27647
+ method: 'GET',
27648
+ url: '/api/catalog/applications/platform/forms/manage/{form_id}/',
27649
+ path: {
27650
+ 'form_id': formId
27651
+ },
27652
+ query: {
27653
+ 'platform_key': platformKey,
27654
+ 'platform_org': platformOrg,
27655
+ 'sort': sort
27656
+ }
27657
+ });
27658
+ }
27659
+ /**
27660
+ * Wires RBAC into a DRF view.
27661
+ *
27662
+ * Two responsibilities:
27663
+ *
27664
+ * 1. When RBAC is enabled, replace the view's `permission_classes` with
27665
+ * `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
27666
+ * semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
27667
+ * views that set `token_policies_enabled = True`).
27668
+ *
27669
+ * 2. Detect server-to-server (Django auth) callers via `is_service_account`.
27670
+ * Server-to-server tokens authenticate as Django auth users with no
27671
+ * relationship to a platform EdxUser. The convention is "we trust this
27672
+ * caller — bypass RBAC and serve the request."
27673
+ *
27674
+ * Combine it with the RBAC-disabled check at the top of `initial()` so
27675
+ * the early exit skips all RBAC prep work:
27676
+ *
27677
+ * if not ConfigFlags.rbac_enabled() or self.is_service_account:
27678
+ * return
27679
+ *
27680
+ * Use `is_service_account` at any other touch points where caller
27681
+ * identity matters (queryset ownership filters, owner attribution on
27682
+ * create, serializer context, etc.).
27683
+ * @returns PlatformApplicationFormDetail
27684
+ * @throws ApiError
27685
+ */
27686
+ static catalogApplicationsPlatformFormsManagePartialUpdate({
27687
+ formId,
27688
+ platformKey,
27689
+ platformOrg,
27690
+ sort,
27691
+ requestBody
27692
+ }) {
27693
+ return request(OpenAPI, {
27694
+ method: 'PATCH',
27695
+ url: '/api/catalog/applications/platform/forms/manage/{form_id}/',
27696
+ path: {
27697
+ 'form_id': formId
27698
+ },
27699
+ query: {
27700
+ 'platform_key': platformKey,
27701
+ 'platform_org': platformOrg,
27702
+ 'sort': sort
27703
+ },
27704
+ body: requestBody,
27705
+ mediaType: 'application/json'
27706
+ });
27707
+ }
27708
+ /**
27709
+ * Wires RBAC into a DRF view.
27710
+ *
27711
+ * Two responsibilities:
27712
+ *
27713
+ * 1. When RBAC is enabled, replace the view's `permission_classes` with
27714
+ * `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
27715
+ * semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
27716
+ * views that set `token_policies_enabled = True`).
27717
+ *
27718
+ * 2. Detect server-to-server (Django auth) callers via `is_service_account`.
27719
+ * Server-to-server tokens authenticate as Django auth users with no
27720
+ * relationship to a platform EdxUser. The convention is "we trust this
27721
+ * caller — bypass RBAC and serve the request."
27722
+ *
27723
+ * Combine it with the RBAC-disabled check at the top of `initial()` so
27724
+ * the early exit skips all RBAC prep work:
27725
+ *
27726
+ * if not ConfigFlags.rbac_enabled() or self.is_service_account:
27727
+ * return
27728
+ *
27729
+ * Use `is_service_account` at any other touch points where caller
27730
+ * identity matters (queryset ownership filters, owner attribution on
27731
+ * create, serializer context, etc.).
27732
+ * @returns any Submissions for the platform
27733
+ * @throws ApiError
27734
+ */
27735
+ static catalogApplicationsPlatformManageRetrieve({
27736
+ platformKey,
27737
+ platformOrg,
27738
+ search,
27739
+ sort,
27740
+ status
27741
+ }) {
27742
+ return request(OpenAPI, {
27743
+ method: 'GET',
27744
+ url: '/api/catalog/applications/platform/manage/',
27745
+ query: {
27746
+ 'platform_key': platformKey,
27747
+ 'platform_org': platformOrg,
27748
+ 'search': search,
27749
+ 'sort': sort,
27750
+ 'status': status
27751
+ }
27752
+ });
27753
+ }
27754
+ /**
27755
+ * Wires RBAC into a DRF view.
27756
+ *
27757
+ * Two responsibilities:
27758
+ *
27759
+ * 1. When RBAC is enabled, replace the view's `permission_classes` with
27760
+ * `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
27761
+ * semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
27762
+ * views that set `token_policies_enabled = True`).
27763
+ *
27764
+ * 2. Detect server-to-server (Django auth) callers via `is_service_account`.
27765
+ * Server-to-server tokens authenticate as Django auth users with no
27766
+ * relationship to a platform EdxUser. The convention is "we trust this
27767
+ * caller — bypass RBAC and serve the request."
27768
+ *
27769
+ * Combine it with the RBAC-disabled check at the top of `initial()` so
27770
+ * the early exit skips all RBAC prep work:
27771
+ *
27772
+ * if not ConfigFlags.rbac_enabled() or self.is_service_account:
27773
+ * return
27774
+ *
27775
+ * Use `is_service_account` at any other touch points where caller
27776
+ * identity matters (queryset ownership filters, owner attribution on
27777
+ * create, serializer context, etc.).
27778
+ * @returns any Full submission detail
27779
+ * @throws ApiError
27780
+ */
27781
+ static catalogApplicationsPlatformManageRetrieve2({
27782
+ submissionId,
27783
+ platformKey,
27784
+ platformOrg,
27785
+ search,
27786
+ sort,
27787
+ status
27788
+ }) {
27789
+ return request(OpenAPI, {
27790
+ method: 'GET',
27791
+ url: '/api/catalog/applications/platform/manage/{submission_id}/',
27792
+ path: {
27793
+ 'submission_id': submissionId
27794
+ },
27795
+ query: {
27796
+ 'platform_key': platformKey,
27797
+ 'platform_org': platformOrg,
27798
+ 'search': search,
27799
+ 'sort': sort,
27800
+ 'status': status
27801
+ }
27802
+ });
27803
+ }
27804
+ /**
27805
+ * Reviewer download: redirect to the storage's (signed, on S3) file URL.
27806
+ *
27807
+ * Gated by ``IsDMAdmin | IsPlatformAdmin`` plus the RBAC verb check on the
27808
+ * attachment's own platform when RBAC is enabled.
27809
+ * @returns void
27810
+ * @throws ApiError
27811
+ */
27812
+ static catalogApplicationsPlatformManageAttachmentsDownloadRetrieve({
27813
+ attachmentId,
27814
+ submissionId
27815
+ }) {
27816
+ return request(OpenAPI, {
27817
+ method: 'GET',
27818
+ url: '/api/catalog/applications/platform/manage/{submission_id}/attachments/{attachment_id}/download/',
27819
+ path: {
27820
+ 'attachment_id': attachmentId,
27821
+ 'submission_id': submissionId
27822
+ },
27823
+ errors: {
27824
+ 302: `Redirect to the file URL`
27825
+ }
27826
+ });
27827
+ }
27828
+ /**
27829
+ * Re-run settlement provisioning for one accepted candidate: links them
27830
+ * if an account with their designated email now exists, or re-issues the
27831
+ * platform invitation if none is active. Covers the invite-missing state.
27832
+ * @returns any Candidate after provisioning
27833
+ * @throws ApiError
27834
+ */
27835
+ static catalogApplicationsPlatformManageCandidatesInviteCreate({
27836
+ candidateId,
27837
+ submissionId
27838
+ }) {
27839
+ return request(OpenAPI, {
27840
+ method: 'POST',
27841
+ url: '/api/catalog/applications/platform/manage/{submission_id}/candidates/{candidate_id}/invite/',
27842
+ path: {
27843
+ 'candidate_id': candidateId,
27844
+ 'submission_id': submissionId
27845
+ }
27846
+ });
27847
+ }
27848
+ /**
27849
+ * Manually link an accepted candidate to an existing account (the
27850
+ * account-unlinked state: the family signed up outside invitation
27851
+ * redemption, or under a different email than designated).
27852
+ * @returns any Candidate linked
27853
+ * @throws ApiError
27854
+ */
27855
+ static catalogApplicationsPlatformManageCandidatesLinkCreate({
27856
+ candidateId,
27857
+ submissionId,
27858
+ requestBody
27859
+ }) {
27860
+ return request(OpenAPI, {
27861
+ method: 'POST',
27862
+ url: '/api/catalog/applications/platform/manage/{submission_id}/candidates/{candidate_id}/link/',
27863
+ path: {
27864
+ 'candidate_id': candidateId,
27865
+ 'submission_id': submissionId
27866
+ },
27867
+ body: requestBody,
27868
+ mediaType: 'application/json'
27869
+ });
27870
+ }
27871
+ /**
27872
+ * Course assignments for a submission (#2134): list, and assign courses to
27873
+ * accepted candidates individually or in bulk. Each successful item issues a
27874
+ * CourseInvitation that the existing pipeline enrolls.
27875
+ * @returns any Assignments for the submission
27876
+ * @throws ApiError
27877
+ */
27878
+ static catalogApplicationsPlatformManageCourseAssignmentsRetrieve({
27879
+ submissionId
27880
+ }) {
27881
+ return request(OpenAPI, {
27882
+ method: 'GET',
27883
+ url: '/api/catalog/applications/platform/manage/{submission_id}/course-assignments/',
27884
+ path: {
27885
+ 'submission_id': submissionId
27886
+ }
27887
+ });
27888
+ }
27889
+ /**
27890
+ * Course assignments for a submission (#2134): list, and assign courses to
27891
+ * accepted candidates individually or in bulk. Each successful item issues a
27892
+ * CourseInvitation that the existing pipeline enrolls.
27893
+ * @returns any Per-item assignment results
27894
+ * @throws ApiError
27895
+ */
27896
+ static catalogApplicationsPlatformManageCourseAssignmentsCreate({
27897
+ submissionId,
27898
+ requestBody
27899
+ }) {
27900
+ return request(OpenAPI, {
27901
+ method: 'POST',
27902
+ url: '/api/catalog/applications/platform/manage/{submission_id}/course-assignments/',
27903
+ path: {
27904
+ 'submission_id': submissionId
27905
+ },
27906
+ body: requestBody,
27907
+ mediaType: 'application/json'
27908
+ });
27909
+ }
27910
+ /**
27911
+ * Remove one course assignment (§9.2 "enrollment changes after the school
27912
+ * year begins" — the record side).
27913
+ *
27914
+ * Deactivates the assignment and cancels its invitation when the student has
27915
+ * not yet been enrolled through it. It never unenrolls an already-enrolled
27916
+ * student: platform admins un-enroll deliberately through the catalog
27917
+ * enrollment endpoints, not from an admissions record.
27918
+ * @returns void
27919
+ * @throws ApiError
27920
+ */
27921
+ static catalogApplicationsPlatformManageCourseAssignmentsDestroy({
27922
+ assignmentId,
27923
+ submissionId
27924
+ }) {
27925
+ return request(OpenAPI, {
27926
+ method: 'DELETE',
27927
+ url: '/api/catalog/applications/platform/manage/{submission_id}/course-assignments/{assignment_id}/',
27928
+ path: {
27929
+ 'assignment_id': assignmentId,
27930
+ 'submission_id': submissionId
27931
+ }
27932
+ });
27933
+ }
27934
+ /**
27935
+ * Reviewer/admin view of a submission's application fee (#2132, §5).
27936
+ *
27937
+ * GET returns the charge and its event history; POST records an out-of-band
27938
+ * payment or a waiver/refund/credit. Money collection through Stripe is a
27939
+ * later segment; this is the domain side.
27940
+ * @returns any Charge + events
27941
+ * @throws ApiError
27942
+ */
27943
+ static catalogApplicationsPlatformManageFeeRetrieve({
27944
+ submissionId
27945
+ }) {
27946
+ return request(OpenAPI, {
27947
+ method: 'GET',
27948
+ url: '/api/catalog/applications/platform/manage/{submission_id}/fee/',
27949
+ path: {
27950
+ 'submission_id': submissionId
27951
+ }
27952
+ });
27953
+ }
27954
+ /**
27955
+ * Reviewer/admin view of a submission's application fee (#2132, §5).
27956
+ *
27957
+ * GET returns the charge and its event history; POST records an out-of-band
27958
+ * payment or a waiver/refund/credit. Money collection through Stripe is a
27959
+ * later segment; this is the domain side.
27960
+ * @returns any Charge updated
27961
+ * @throws ApiError
27962
+ */
27963
+ static catalogApplicationsPlatformManageFeeCreate({
27964
+ submissionId,
27965
+ requestBody
27966
+ }) {
27967
+ return request(OpenAPI, {
27968
+ method: 'POST',
27969
+ url: '/api/catalog/applications/platform/manage/{submission_id}/fee/',
27970
+ path: {
27971
+ 'submission_id': submissionId
27972
+ },
27973
+ body: requestBody,
27974
+ mediaType: 'application/json'
27975
+ });
27976
+ }
27977
+ /**
27978
+ * Internal reviewer notes on a submission (#2089, §6). Never surfaced on
27979
+ * applicant endpoints. GET lists (optional ``kind`` filter); POST adds one.
27980
+ * @returns any Notes for the submission
27981
+ * @throws ApiError
27982
+ */
27983
+ static catalogApplicationsPlatformManageNotesRetrieve({
27984
+ submissionId,
27985
+ platformKey,
27986
+ platformOrg,
27987
+ search,
27988
+ sort,
27989
+ status
27990
+ }) {
27991
+ return request(OpenAPI, {
27992
+ method: 'GET',
27993
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/',
27994
+ path: {
27995
+ 'submission_id': submissionId
27996
+ },
27997
+ query: {
27998
+ 'platform_key': platformKey,
27999
+ 'platform_org': platformOrg,
28000
+ 'search': search,
28001
+ 'sort': sort,
28002
+ 'status': status
28003
+ }
28004
+ });
28005
+ }
28006
+ /**
28007
+ * Internal reviewer notes on a submission (#2089, §6). Never surfaced on
28008
+ * applicant endpoints. GET lists (optional ``kind`` filter); POST adds one.
28009
+ * @returns any Note created
28010
+ * @throws ApiError
28011
+ */
28012
+ static catalogApplicationsPlatformManageNotesCreate({
28013
+ submissionId,
28014
+ requestBody
28015
+ }) {
28016
+ return request(OpenAPI, {
28017
+ method: 'POST',
28018
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/',
28019
+ path: {
28020
+ 'submission_id': submissionId
28021
+ },
28022
+ body: requestBody,
28023
+ mediaType: 'application/json'
28024
+ });
28025
+ }
28026
+ /**
28027
+ * Edit or remove a single internal reviewer note.
28028
+ * @returns any Note updated
28029
+ * @throws ApiError
28030
+ */
28031
+ static catalogApplicationsPlatformManageNotesPartialUpdate({
28032
+ noteId,
28033
+ submissionId,
28034
+ requestBody
28035
+ }) {
28036
+ return request(OpenAPI, {
28037
+ method: 'PATCH',
28038
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/{note_id}/',
28039
+ path: {
28040
+ 'note_id': noteId,
28041
+ 'submission_id': submissionId
28042
+ },
28043
+ body: requestBody,
28044
+ mediaType: 'application/json'
28045
+ });
28046
+ }
28047
+ /**
28048
+ * Edit or remove a single internal reviewer note.
28049
+ * @returns void
28050
+ * @throws ApiError
28051
+ */
28052
+ static catalogApplicationsPlatformManageNotesDestroy({
28053
+ noteId,
28054
+ submissionId
28055
+ }) {
28056
+ return request(OpenAPI, {
28057
+ method: 'DELETE',
28058
+ url: '/api/catalog/applications/platform/manage/{submission_id}/notes/{note_id}/',
28059
+ path: {
28060
+ 'note_id': noteId,
28061
+ 'submission_id': submissionId
28062
+ }
28063
+ });
28064
+ }
28065
+ /**
28066
+ * Placements for a submission (#2133): list, and assign a new placement
28067
+ * linking an accepted candidate to the placement mentor.
28068
+ * @returns any Placements for the submission
28069
+ * @throws ApiError
28070
+ */
28071
+ static catalogApplicationsPlatformManagePlacementsRetrieve({
28072
+ submissionId
28073
+ }) {
28074
+ return request(OpenAPI, {
28075
+ method: 'GET',
28076
+ url: '/api/catalog/applications/platform/manage/{submission_id}/placements/',
28077
+ path: {
28078
+ 'submission_id': submissionId
28079
+ }
28080
+ });
28081
+ }
28082
+ /**
28083
+ * Placements for a submission (#2133): list, and assign a new placement
28084
+ * linking an accepted candidate to the placement mentor.
28085
+ * @returns any Per-item placement results
28086
+ * @throws ApiError
28087
+ */
28088
+ static catalogApplicationsPlatformManagePlacementsCreate({
28089
+ submissionId,
28090
+ requestBody
28091
+ }) {
28092
+ return request(OpenAPI, {
28093
+ method: 'POST',
28094
+ url: '/api/catalog/applications/platform/manage/{submission_id}/placements/',
28095
+ path: {
28096
+ 'submission_id': submissionId
28097
+ },
28098
+ body: requestBody,
28099
+ mediaType: 'application/json'
28100
+ });
28101
+ }
28102
+ /**
28103
+ * Advance a single placement: status, the agent's result, admin override.
28104
+ * @returns any Placement updated
28105
+ * @throws ApiError
28106
+ */
28107
+ static catalogApplicationsPlatformManagePlacementsPartialUpdate({
28108
+ placementId,
28109
+ submissionId,
28110
+ requestBody
28111
+ }) {
28112
+ return request(OpenAPI, {
28113
+ method: 'PATCH',
28114
+ url: '/api/catalog/applications/platform/manage/{submission_id}/placements/{placement_id}/',
28115
+ path: {
28116
+ 'placement_id': placementId,
28117
+ 'submission_id': submissionId
28118
+ },
28119
+ body: requestBody,
28120
+ mediaType: 'application/json'
28121
+ });
28122
+ }
28123
+ /**
28124
+ * Admin submit-with-exceptions (§2.1 "administratively waived"): push a
28125
+ * family's editable application to Submitted, recording a waiver for every
28126
+ * required item still missing and bypassing an unpaid fee gate (the charge
28127
+ * stays payable/waivable). Present-but-invalid answers still block (400).
28128
+ * @returns any Application submitted
28129
+ * @throws ApiError
28130
+ */
28131
+ static catalogApplicationsPlatformManageSubmitCreate({
28132
+ submissionId,
28133
+ requestBody
28134
+ }) {
28135
+ return request(OpenAPI, {
28136
+ method: 'POST',
28137
+ url: '/api/catalog/applications/platform/manage/{submission_id}/submit/',
28138
+ path: {
28139
+ 'submission_id': submissionId
28140
+ },
28141
+ body: requestBody,
28142
+ mediaType: 'application/json'
28143
+ });
28144
+ }
28145
+ /**
28146
+ * Advance a submission or a single candidate through the review pipeline
28147
+ * (#2089, §5-6). A ``candidate_id`` scopes the action to one person; without
28148
+ * it the action applies to every candidate that can legally accept it. When
28149
+ * ``action`` is ``decline`` and ``block`` is set, the applicant is also added
28150
+ * to the platform ban-list (deny-with-block).
28151
+ * @returns any Updated submission detail
28152
+ * @throws ApiError
28153
+ */
28154
+ static catalogApplicationsPlatformManageTransitionCreate({
28155
+ submissionId,
28156
+ requestBody
28157
+ }) {
28158
+ return request(OpenAPI, {
28159
+ method: 'POST',
28160
+ url: '/api/catalog/applications/platform/manage/{submission_id}/transition/',
28161
+ path: {
28162
+ 'submission_id': submissionId
28163
+ },
28164
+ body: requestBody,
28165
+ mediaType: 'application/json'
28166
+ });
28167
+ }
28168
+ /**
28169
+ * Waive a required item on one application (§2.1 "administratively
28170
+ * waived"): POST excuses a missing required field so it no longer blocks
28171
+ * submission; DELETE reinstates it. Waivers excuse absence only — a
28172
+ * present-but-invalid answer still blocks. The fee is waived through its own
28173
+ * fee endpoint action, which also settles the money record.
28174
+ * @returns any Waiver recorded
28175
+ * @throws ApiError
28176
+ */
28177
+ static catalogApplicationsPlatformManageWaiversCreate({
28178
+ submissionId,
28179
+ requestBody
28180
+ }) {
28181
+ return request(OpenAPI, {
28182
+ method: 'POST',
28183
+ url: '/api/catalog/applications/platform/manage/{submission_id}/waivers/',
28184
+ path: {
28185
+ 'submission_id': submissionId
28186
+ },
28187
+ body: requestBody,
28188
+ mediaType: 'application/json'
28189
+ });
28190
+ }
28191
+ /**
28192
+ * Waive a required item on one application (§2.1 "administratively
28193
+ * waived"): POST excuses a missing required field so it no longer blocks
28194
+ * submission; DELETE reinstates it. Waivers excuse absence only — a
28195
+ * present-but-invalid answer still blocks. The fee is waived through its own
28196
+ * fee endpoint action, which also settles the money record.
28197
+ * @returns void
28198
+ * @throws ApiError
28199
+ */
28200
+ static catalogApplicationsPlatformManageWaiversDestroy({
28201
+ submissionId
28202
+ }) {
28203
+ return request(OpenAPI, {
28204
+ method: 'DELETE',
28205
+ url: '/api/catalog/applications/platform/manage/{submission_id}/waivers/',
28206
+ path: {
28207
+ 'submission_id': submissionId
28208
+ }
28209
+ });
28210
+ }
28211
+ /**
28212
+ * List the active application blocks (ban-list) for a platform.
28213
+ * @returns any Active blocks
28214
+ * @throws ApiError
28215
+ */
28216
+ static catalogApplicationsPlatformManageBlocksRetrieve({
28217
+ platformKey,
28218
+ platformOrg,
28219
+ search,
28220
+ sort,
28221
+ status
28222
+ }) {
28223
+ return request(OpenAPI, {
28224
+ method: 'GET',
28225
+ url: '/api/catalog/applications/platform/manage/blocks/',
28226
+ query: {
28227
+ 'platform_key': platformKey,
28228
+ 'platform_org': platformOrg,
28229
+ 'search': search,
28230
+ 'sort': sort,
28231
+ 'status': status
28232
+ }
28233
+ });
28234
+ }
28235
+ /**
28236
+ * Lift a single active application block (unblock).
28237
+ * @returns void
28238
+ * @throws ApiError
28239
+ */
28240
+ static catalogApplicationsPlatformManageBlocksDestroy({
28241
+ blockId,
28242
+ platformKey,
28243
+ platformOrg,
28244
+ search,
28245
+ sort,
28246
+ status
28247
+ }) {
28248
+ return request(OpenAPI, {
28249
+ method: 'DELETE',
28250
+ url: '/api/catalog/applications/platform/manage/blocks/{block_id}/',
28251
+ path: {
28252
+ 'block_id': blockId
28253
+ },
28254
+ query: {
28255
+ 'platform_key': platformKey,
28256
+ 'platform_org': platformOrg,
28257
+ 'search': search,
28258
+ 'sort': sort,
28259
+ 'status': status
28260
+ }
28261
+ });
28262
+ }
28263
+ /**
28264
+ * Wires RBAC into a DRF view.
28265
+ *
28266
+ * Two responsibilities:
28267
+ *
28268
+ * 1. When RBAC is enabled, replace the view's `permission_classes` with
28269
+ * `RbacAuthGate` (the gate the RBAC layer assumes — `IsEdxAuthenticated`
28270
+ * semantics, plus opt-in acceptance of token-policies PlatformApiKeys for
28271
+ * views that set `token_policies_enabled = True`).
28272
+ *
28273
+ * 2. Detect server-to-server (Django auth) callers via `is_service_account`.
28274
+ * Server-to-server tokens authenticate as Django auth users with no
28275
+ * relationship to a platform EdxUser. The convention is "we trust this
28276
+ * caller — bypass RBAC and serve the request."
28277
+ *
28278
+ * Combine it with the RBAC-disabled check at the top of `initial()` so
28279
+ * the early exit skips all RBAC prep work:
28280
+ *
28281
+ * if not ConfigFlags.rbac_enabled() or self.is_service_account:
28282
+ * return
28283
+ *
28284
+ * Use `is_service_account` at any other touch points where caller
28285
+ * identity matters (queryset ownership filters, owner attribution on
28286
+ * create, serializer context, etc.).
28287
+ * @returns any Per-status counts
28288
+ * @throws ApiError
28289
+ */
28290
+ static catalogApplicationsPlatformManageStatsRetrieve({
28291
+ platformKey,
28292
+ platformOrg,
28293
+ search,
28294
+ sort,
28295
+ status
28296
+ }) {
28297
+ return request(OpenAPI, {
28298
+ method: 'GET',
28299
+ url: '/api/catalog/applications/platform/manage/stats/',
28300
+ query: {
28301
+ 'platform_key': platformKey,
28302
+ 'platform_org': platformOrg,
28303
+ 'search': search,
28304
+ 'sort': sort,
28305
+ 'status': status
28306
+ }
28307
+ });
28308
+ }
28309
+ /**
28310
+ * Start an annual re-enrollment (#2135): a normal draft create whose
28311
+ * responses are pre-filled from the caller's most recent approved submission
28312
+ * (current-schema fields only; signatures, consents, files, and fields the
28313
+ * form flags fresh are re-asked), linked to that prior submission. With no
28314
+ * prior approved submission this behaves as a plain create.
28315
+ * @returns PlatformApplicationDetail
28316
+ * @throws ApiError
28317
+ */
28318
+ static catalogApplicationsPlatformRenewCreate({
28319
+ requestBody
28320
+ }) {
28321
+ return request(OpenAPI, {
28322
+ method: 'POST',
28323
+ url: '/api/catalog/applications/platform/renew/',
28324
+ body: requestBody,
28325
+ mediaType: 'application/json'
28326
+ });
28327
+ }
28328
+ /**
28329
+ * Authenticated applicants, including learners on AXD student tokens.
28330
+ *
28331
+ * Prepends StudentTokenAuthentication like core UserPlatformSelfLinkView (it is
28332
+ * not in the DRF defaults, but learners self-applying use it). An anonymous
28333
+ * request returns 401, not 403: DRF's ``permission_denied`` raises
28334
+ * ``NotAuthenticated`` whenever no authenticator succeeded.
28335
+ * @returns any Gate state
28336
+ * @throws ApiError
28337
+ */
28338
+ static catalogApplicationsPlatformStatusRetrieve({
28339
+ formId,
28340
+ platformKey,
28341
+ platformOrg
28342
+ }) {
28343
+ return request(OpenAPI, {
28344
+ method: 'GET',
28345
+ url: '/api/catalog/applications/platform/status/',
28346
+ query: {
28347
+ 'form_id': formId,
28348
+ 'platform_key': platformKey,
28349
+ 'platform_org': platformOrg
28350
+ }
28351
+ });
28352
+ }
27241
28353
  /**
27242
28354
  * GET
27243
28355
  * Retrieve prerequisite eligibility info for user/course
@@ -37231,6 +38343,29 @@ class CoreService {
37231
38343
  }
37232
38344
  });
37233
38345
  }
38346
+ /**
38347
+ * Discover resources for policy building
38348
+ * GET the resource tree node at `path`.
38349
+ *
38350
+ * Platform comes from the request token (service accounts pass platform_key).
38351
+ * @returns any An entity node (child collections) or a collection node (list_url + search_qps + result_fields).
38352
+ * @throws ApiError
38353
+ */
38354
+ static coreRbacResourcesRetrieve({
38355
+ path = '/'
38356
+ }) {
38357
+ return request(OpenAPI, {
38358
+ method: 'GET',
38359
+ url: '/api/core/rbac/resources/',
38360
+ query: {
38361
+ 'path': path
38362
+ },
38363
+ errors: {
38364
+ 400: `Invalid path or unknown platform`,
38365
+ 403: `Missing resource-discovery access`
38366
+ }
38367
+ });
38368
+ }
37234
38369
  /**
37235
38370
  * List RBAC roles
37236
38371
  * Retrieve a list of RBAC roles. Can be filtered by platform_key and name.