Skip to content

feat: queue managment operation endpoints BED-8089#2977

Open
lrfalslev wants to merge 10 commits into
mainfrom
lfalslev/bed-8089
Open

feat: queue managment operation endpoints BED-8089#2977
lrfalslev wants to merge 10 commits into
mainfrom
lfalslev/bed-8089

Conversation

@lrfalslev

@lrfalslev lrfalslev commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Description

Adds queue management operation endpoint to openapi schema, for BHE pr 1565

Motivation and Context

Resolves BED-8089

Why is this change required? What problem does it solve?

How Has This Been Tested?

Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc.

Screenshots (optional):

Types of changes

  • Chore (a change that does not modify the application functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Database Migrations

Checklist:

Summary by CodeRabbit

  • New Features
    • Added a new API endpoint to queue client management operations.
    • Added support for scheduling support bundle operations via a new request schema.
    • Added operation status tracking with queued, running, succeeded, failed, and canceled states.
    • Added detailed request/response documentation for operation details, timestamps, client identifiers, and artifacts.

@lrfalslev lrfalslev self-assigned this Jul 10, 2026
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 3803ea8b-4803-416c-b12d-1ca508289823

📥 Commits

Reviewing files that changed from the base of the PR and between 51c28e1 and 576e962.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (8)
  • go.mod
  • packages/go/openapi/doc/openapi.json
  • packages/go/openapi/src/openapi.yaml
  • packages/go/openapi/src/paths/clients.clients.id.management.yaml
  • packages/go/openapi/src/schemas/enum.client-management-operation-status.yaml
  • packages/go/openapi/src/schemas/enum.client-management-operation-type.yaml
  • packages/go/openapi/src/schemas/model.client-management-operation-queue-request.yaml
  • packages/go/openapi/src/schemas/model.client-management-operation.yaml
🚧 Files skipped from review as they are similar to previous changes (7)
  • packages/go/openapi/src/schemas/enum.client-management-operation-type.yaml
  • packages/go/openapi/src/schemas/enum.client-management-operation-status.yaml
  • packages/go/openapi/src/schemas/model.client-management-operation-queue-request.yaml
  • packages/go/openapi/src/paths/clients.clients.id.management.yaml
  • packages/go/openapi/src/openapi.yaml
  • packages/go/openapi/doc/openapi.json
  • go.mod

📝 Walkthrough

Walkthrough

Adds an OpenAPI contract for queuing client management operations, including request and response schemas, endpoint wiring, generated documentation, and selected Go dependency version updates.

Changes

Client management operation API

Layer / File(s) Summary
Operation request and response contract
packages/go/openapi/src/schemas/*client-management-operation*, packages/go/openapi/src/schemas/enum.client-management-operation-*
Defines the support_bundle operation type, queue request fields, operation statuses, and read-only operation response fields.
Queue operation endpoint wiring
packages/go/openapi/src/paths/clients.clients.id.management.yaml, packages/go/openapi/src/openapi.yaml, packages/go/openapi/doc/openapi.json
Registers POST /api/v2/clients/{client_id}/management with request, success, and standard error responses, and updates the generated OpenAPI document.

Go dependency updates

Layer / File(s) Summary
Module version updates
go.mod
Bumps golang.org/x/oauth2, golang.org/x/net, google.golang.org/genproto/googleapis/rpc, and google.golang.org/grpc.

Estimated code review effort: 3 (Moderate) | ~20 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding a queued management operation endpoint for BED-8089.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch lfalslev/bed-8089

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/go/openapi/src/paths/clients.clients.id.management.yaml (1)

41-59: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Clarify when 200 vs 201 is returned.

Both success responses return the identical model.client-management-operation schema with no description distinguishing them. Since this looks like an idempotent-queue pattern (200 for an already-queued/existing operation, 201 for a newly created one), a short note in the endpoint description or per-response description would help API consumers understand which to expect and why.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/go/openapi/src/paths/clients.clients.id.management.yaml` around
lines 41 - 59, Clarify the status-code semantics for the 200 and 201 responses
in the client management operation endpoint: update the endpoint or per-response
descriptions to state that 200 indicates an existing/already-queued operation,
while 201 indicates a newly created operation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/go/openapi/src/paths/clients.clients.id.management.yaml`:
- Around line 41-69: Add a 404 response to this endpoint’s responses,
referencing the existing not-found response definition used by sibling
client-scoped operations such as GetClient, UpdateClient, and DeleteClient. Keep
the existing 400, 401, 403, 429, and 500 responses unchanged.

---

Nitpick comments:
In `@packages/go/openapi/src/paths/clients.clients.id.management.yaml`:
- Around line 41-59: Clarify the status-code semantics for the 200 and 201
responses in the client management operation endpoint: update the endpoint or
per-response descriptions to state that 200 indicates an existing/already-queued
operation, while 201 indicates a newly created operation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: f306e065-ff29-496e-a882-fef39c0e0d8a

📥 Commits

Reviewing files that changed from the base of the PR and between 275141e and 51c28e1.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (8)
  • go.mod
  • packages/go/openapi/doc/openapi.json
  • packages/go/openapi/src/openapi.yaml
  • packages/go/openapi/src/paths/clients.clients.id.management.yaml
  • packages/go/openapi/src/schemas/enum.client-management-operation-status.yaml
  • packages/go/openapi/src/schemas/enum.client-management-operation-type.yaml
  • packages/go/openapi/src/schemas/model.client-management-operation-queue-request.yaml
  • packages/go/openapi/src/schemas/model.client-management-operation.yaml

Comment thread packages/go/openapi/src/paths/clients.clients.id.management.yaml
@lrfalslev lrfalslev force-pushed the lfalslev/bed-8089 branch from 51c28e1 to 576e962 Compare July 13, 2026 15:26
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