Skip to content

VCST-5387: Add binary sidecar export/import contracts - #3099

Open
ToxaKZ wants to merge 1 commit into
devfrom
feat/VCST-5387-top-level-catalog-assets
Open

VCST-5387: Add binary sidecar export/import contracts#3099
ToxaKZ wants to merge 1 commit into
devfrom
feat/VCST-5387-top-level-catalog-assets

Conversation

@ToxaKZ

@ToxaKZ ToxaKZ commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Description

Adds optional streaming contracts to VirtoCommerce.Platform.Core.ExportImport for modules whose export contains a readable primary payload together with binary sidecar entries.

Previously an export module received only one output stream. A module that needed to include files therefore had to turn its .json part into an opaque nested ZIP. That makes a backup difficult to inspect and prevents the archive owner, such as BackupRestore, from placing files in a normal top-level structure like assets/.

The new contracts preserve ownership of the export container:

  • IExportBinaryDataSupport and IImportBinaryDataSupport let a module opt into the sidecar-aware flow.
  • IExportBinaryDataWriter and IImportBinaryDataReader provide streaming access to individual entries without exposing the raw ZIP stream to a module.
  • Existing IExportSupport and IImportSupport contracts remain unchanged, so existing modules and orchestrators remain compatible.

This API allows BackupRestore to keep VirtoCommerce.Catalog.json as readable JSON while storing Catalog files as regular top-level ZIP entries. Binary content is streamed through the contracts; the API does not require the archive, JSON payload, or asset files to be materialized in memory.

After the Platform.Core package is published, the corresponding BackupRestore and Catalog changes will consume these contracts.

References

QA-test:

End-to-end QA is covered by the consuming BackupRestore and Catalog changes after the Platform.Core package is published.

Jira-link:

https://virtocommerce.atlassian.net/browse/VCST-5387

Artifact URL:

Image tag:
ghcr.io/VirtoCommerce/platform:3.1059.0-pr-3099-da0b-vcst-5387-top-level-catalog-assets-da0b53ea

@ToxaKZ
ToxaKZ force-pushed the feat/VCST-5387-top-level-catalog-assets branch from f9df2ba to da0b53e Compare August 11, 2026 13:47
@sonarqubecloud

Copy link
Copy Markdown

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