Skip to content

Add external exports support for OCL versions (upload/delete to S3-like bucket + auditable downloads) #2477

@filiperochalopes

Description

@filiperochalopes

User story

As a release maintainer, I want to attach external export artifacts (e.g., sql.zip) to an OCL version so multiple CIEL export variants can be distributed from the version export UI with auditable downloads.

Use case

After a version is created, upload one or more external export files (e.g., SQL exports for multiple OpenMRS versions) and make them available as selectable download options when exporting that version.

Requirements

  • Extend the export feature to support “external exports” attached to a specific OCL version.
  • In the export UI, provide additional export options beyond the default export (e.g., sql.zip variants).
  • Make download clicks auditable (record each download event).
  • Implement file management endpoints for version-linked artifacts:
    • POST upload an external export file associated to a version (stored in S3-like bucket)
    • DELETE remove an external export file associated to a version (remove from S3-like bucket)
  • Uploaded files must be stored in the S3-like bucket and retrievable by the export UI.

Acceptance criteria

  • Given a version, an external export file can be uploaded via a POST endpoint and becomes available as an export option for that version.
  • Given an uploaded external export file, it can be removed via a DELETE endpoint and is no longer available for download.
  • Given a user downloads any export option, a download audit record is created.

Metadata

Metadata

Labels

signal/large-scopeAffects multiple areas or systemsstage/triagedAI triage complete — scored and classifiedtype/featureNew or improved functionality

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions