Skip to content

feat(storage): implement Object Contexts with advanced filtering and validation#7548

Open
thiyaguk09 wants to merge 10 commits intogoogleapis:mainfrom
thiyaguk09:feat/object-context
Open

feat(storage): implement Object Contexts with advanced filtering and validation#7548
thiyaguk09 wants to merge 10 commits intogoogleapis:mainfrom
thiyaguk09:feat/object-context

Conversation

@thiyaguk09
Copy link
Copy Markdown
Contributor

  • Add support for Object Contexts metadata in File and Bucket operations.
  • Update FileMetadata, CopyOptions, and CombineOptions types to allow
    null values for context key deletion (PATCH semantics).
  • Refactor validateContexts to accept a contexts object directly for
    better consistency and simpler call patterns in save, copy, and combine.
  • Implement server-side list filtering support via the filter query parameter
    in getFiles, supporting NOT logic and existence wildcards.
  • Ensure metadata inheritance and explicit overrides work correctly during
    File.copy and Bucket.combine.
  • Add comprehensive unit and system tests covering CRUD, server-side
    operations, and complex filtering scenarios.

Updated internal request mapping in `file.ts` and `bucket.ts` to
include `contexts` in JSON payloads and `filter` in query strings.
Fixed baseline unit tests to accommodate the updated destination
metadata structure.
- Add support for Object Contexts metadata in `File` and `Bucket`
operations.
- Update `FileMetadata`, `CopyOptions`, and `CombineOptions` types to
allow
  null values for context key deletion (PATCH semantics).
- Refactor `validateContexts` to accept a `contexts` object directly for
better consistency and simpler call patterns in `save`, `copy`, and
`combine`.
- Implement server-side list filtering support via the `filter` query
parameter
  in `getFiles`, supporting NOT logic and existence wildcards.
- Ensure metadata inheritance and explicit overrides work correctly
during
  `File.copy` and `Bucket.combine`.
- Add comprehensive unit and system tests covering CRUD, server-side
  operations, and complex filtering scenarios.
@product-auto-label product-auto-label bot added the api: storage Issues related to the Cloud Storage API. label Mar 10, 2026
@thiyaguk09 thiyaguk09 marked this pull request as ready for review March 10, 2026 09:07
@thiyaguk09 thiyaguk09 requested a review from a team as a code owner March 10, 2026 09:07
@quirogas quirogas added the priority: p2 Moderately-important priority. Fix may not be included in next release. label Mar 10, 2026
@Dhriti07 Dhriti07 self-requested a review April 7, 2026 13:47
const options =
typeof optionsOrCallback === 'object' ? optionsOrCallback : {};

try {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have a helper for this logic since it seems to be repeated in many places.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I will look into it.

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

Labels

api: storage Issues related to the Cloud Storage API. priority: p2 Moderately-important priority. Fix may not be included in next release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants