Skip to content

feat(bucket-object): add object metadata [15/n]#3276

Open
sadhansood wants to merge 1 commit intosadhan/14-bucket-object-headersfrom
sadhan/15-bucket-object-metadata
Open

feat(bucket-object): add object metadata [15/n]#3276
sadhansood wants to merge 1 commit intosadhan/14-bucket-object-headersfrom
sadhan/15-bucket-object-metadata

Conversation

@sadhansood
Copy link
Copy Markdown
Contributor

Description

This adds first-class custom metadata to bucket_object.

The main changes are:

  • a new ObjectMetadata module backed by VecMap<String, String>
  • ObjectVersion now stores ObjectMetadata
  • the register-and-stage write APIs now require metadata at version creation time
  • delete markers carry empty metadata by construction

This keeps user metadata part of the immutable object-version snapshot, which gives us a stable base for later metadata-only update APIs, copy semantics, and gateway-facing HeadObject behavior.

Test plan

  • rustup run 1.86 cargo fmt -- --config group_imports=StdExternalCrate,imports_granularity=Crate,imports_layout=HorizontalVertical
  • cargo clippy --workspace --all-features --tests --no-deps -- -D warnings
  • sui move test --path /private/tmp/walrus-bucket-object-15/contracts/bucket_object

Release notes

Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that
a user might notice and any actions they must take to implement updates. (Add release notes after the colon for each item)

  • Storage node:
  • Aggregator:
  • Publisher:
  • CLI:

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.

1 participant