Skip to content

feat: add batch create/update/delete item contracts - #37

Open
shalk wants to merge 1 commit into
apolloconfig:mainfrom
shalk:main
Open

feat: add batch create/update/delete item contracts#37
shalk wants to merge 1 commit into
apolloconfig:mainfrom
shalk:main

Conversation

@shalk

@shalk shalk commented Aug 28, 2026

Copy link
Copy Markdown

Summary

  • Add three new Item Management operations for submitting a list of namespace items in one call:
    • POST .../items/batch-create (batchCreateItems)
    • PUT .../items/batch-update (batchUpdateItems)
    • POST .../items/batch-delete (batchDeleteItems)
  • Bump spec version to 0.3.11 and add a CHANGELOG entry
  • Add contract tests validating the new paths/operationIds/schemas

Motivation

Apollo's OpenAPI item endpoints only support single-item create/update/delete (plus namespace-text replace and cross-namespace sync/diff). There's no operation for submitting a structured batch of creates/updates/deletes against a single namespace. This is a companion PR to a corresponding apolloconfig/apollo change that implements these operations against the existing internal ItemChangeSets batch plumbing.

Test plan

  • ./generate.sh --verify
  • python -m unittest tests/test_item_batch_contract.py

🤖 Generated with Claude Code

…ontracts

Expose three new Item Management operations for submitting a list of
namespace items to create, update, or delete in one call:
- POST .../items/batch-create (batchCreateItems)
- PUT  .../items/batch-update (batchUpdateItems)
- POST .../items/batch-delete (batchDeleteItems)

Bump version to 0.3.11.
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f32da22f-9f0c-4080-bd63-8aeb0457e4a5


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nobodyiam nobodyiam left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The three batch paths and generated Spring signatures align with the companion implementation, and the local contract and generation checks pass. One contract mismatch remains.

Please fix this blocking item before updating:

  1. In apollo-openapi.yaml, express the runtime batch validation in the contract: add minItems: 1 to all three request arrays, add minLength: 1 to the batch-delete key items, and document 400 with ExceptionResponse for batchDeleteItems. Please extend tests/test_item_batch_contract.py accordingly. The companion controller rejects these inputs with HTTP 400, so v0.3.11 should not advertise them as valid or leave that response undocumented.

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