Skip to content

[WIP] Update provisioning request handling for ssp_product_slug#199

Closed
Copilot wants to merge 1 commit into
mainfrom
copilot/ent-11883-ent-11904
Closed

[WIP] Update provisioning request handling for ssp_product_slug#199
Copilot wants to merge 1 commit into
mainfrom
copilot/ent-11883-ent-11904

Conversation

Copilot AI commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.

Implement ENT-11883 / ENT-11904 in edx/enterprise-access.

Goals:

  1. Update provisioning request handling to accept ssp_product_slug in the provisioning request payload.
  2. Resolve ssp_product_slug by looking up SspProduct and use its license_manager_product_id and catalog_query_uuid directly. Do not require a settings mapping for these values.
  3. Keep the old product_id path in place until SFDC is updated.
  4. Pass SspProduct.academy_uuid into generate_input_dict() under AssociateAcademyStepInput.KEY. This may be None for Teams; the step must be a no-op in that case.
  5. Add AssociateAcademyStep to the provisioning workflow between GetCreateCatalogStep and GetCreateCustomerAgreementStep, following existing AbstractWorkflowStep conventions.
  6. Add the corresponding AssociateAcademyStepInput (with optional academy_uuid) and AssociateAcademyStepOutput types, and ensure the step reads enterprise_catalog_uuid from accumulated_output.create_catalog_output.uuid.
  7. Add any required API client method for enterprise-catalog association.
  8. Register the new step in admin / workflow configuration as needed.
  9. Provide a flow diagram and a sequence diagram in the response if appropriate, and include tests covering the new slug-based path and academy association no-op behavior.

Relevant context:

Please inspect the existing provisioning workflow architecture and implement the changes with minimal disruption to the legacy product_id path.

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: Provisioning - accept ssp_product_slug in the provisioning request payload; look up SspProduct → license_manager_product_id and catalog_query_uuid directly (no settings mapping needed). Also pass SspProduct.academy_uuid into generate_input_dict() as AssociateAcademyStepInput.KEY (can be None for Teams — step must be a no-op in that case). Keep old product_id path until SFDC is updated. - https://2u-internal.atlassian.net/browse/ENT-11904

@edx/enterprise-access/pull/197
@edx/enterprise-catalog/pull/115

give me flow diagram and sequence diagram and implement the missing code

Academy ↔︎ Catalogs ↔︎ CatalogQueries (ENT-11882 + ENT-11883) — Two coordinated PRs:

ENT-11882 is in enterprise-catalog (not this repo, can be executed independently): add POST /api/v1/academies/{academy_uuid}/associate-catalog/ — idempotent, 404 on unknown UUIDs, provisioning-admin gated. - https://2u-internal.atlassian.net/browse/ENT-11882

ENT-11883 is in enterprise-access and depends on the prior step: add AssociateAcademyStep to the provisioning workflow following existing AbstractWorkflowStep conventions — AssociateAcademyStepInput (optional academy_uuid), AssociateAcademyStepOutput, insert between GetCreateCatalogStep and GetCreateCustomerAgreementStep, reads enterprise_catalog_uuid from accumulated_output.create_catalog_output.uuid, no-op when academy_uuid is None. Add API client method. Register in admin. - https://2u-internal.atlassian.net/browse/ENT-11883

Assistant: I’m waiting for your confirmation to continue with the repository investigation and code changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants