feat(admin): Stripe webhook-endpoint management UI (DEV-518) #445

Merged
longjacksonle merged 1 commit from feat/DEV-518-webhook-endpoint-ui into main 2026-08-03 20:10:27 +02:00

What

Fill the admin-UI gap the DEV-495 inventory surfaced (DEV-518): bunyip-api already exposes list / create / delete for Stripe webhook endpoints, and a8n-tools' React admin already had the UI, but bunyip-web rendered no block for it. Single-repo, self-contained - no shared-crate/cross-repo pins.

Changes (bunyip-web)

  • A Webhook endpoints block on the Stripe admin page, mirroring the Products/Prices pattern: a create form (endpoint URL + enabled events, pre-filled with the six events bunyip's webhook processor handles), the list of registered endpoints each with a Delete action, and a one-time page showing the signing secret Stripe returns at creation so the admin can paste it into the Webhook secret field.
  • BFF client methods (list/create/delete_stripe_webhook), the StripeWebhookEndpoint type, the two POST handlers, and their routes.

Scope note

This corrects the stale DEV-495 premise that cited Products/Prices at admin.rs:4633 as the gap - those were already ported under BUNYIP-416/417 (admin.rs:5668/:5711). The real gap was webhook-endpoint management, which this closes.

Testing

cargo build -p bunyip-web, cargo clippy -p bunyip-web --all-targets, and cargo fmt --check all clean; the existing Stripe admin unit tests (8) pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QLd9c7niucrqx68v4AxVss

## What Fill the admin-UI gap the DEV-495 inventory surfaced (DEV-518): bunyip-api already exposes `list` / `create` / `delete` for Stripe webhook endpoints, and a8n-tools' React admin already had the UI, but bunyip-web rendered no block for it. Single-repo, self-contained - no shared-crate/cross-repo pins. ## Changes (bunyip-web) - A **Webhook endpoints** block on the Stripe admin page, mirroring the Products/Prices pattern: a create form (endpoint URL + enabled events, pre-filled with the six events bunyip's webhook processor handles), the list of registered endpoints each with a **Delete** action, and a **one-time page showing the signing secret** Stripe returns at creation so the admin can paste it into the Webhook secret field. - BFF client methods (`list`/`create`/`delete_stripe_webhook`), the `StripeWebhookEndpoint` type, the two POST handlers, and their routes. ## Scope note This corrects the stale DEV-495 premise that cited Products/Prices at `admin.rs:4633` as the gap - those were already ported under BUNYIP-416/417 (`admin.rs:5668`/`:5711`). The real gap was webhook-endpoint management, which this closes. ## Testing `cargo build -p bunyip-web`, `cargo clippy -p bunyip-web --all-targets`, and `cargo fmt --check` all clean; the existing Stripe admin unit tests (8) pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01QLd9c7niucrqx68v4AxVss
feat(admin): Stripe webhook-endpoint management UI in bunyip-web (DEV-518)
All checks were successful
E2E PR gate / Install + reachability (no deployment secrets) (pull_request) Successful in 14s
Check / fmt + clippy + build + tests (pull_request) Successful in 14m18s
Create release / Create release from merged PR (pull_request) Has been skipped
7fd82e0da3
Fill the admin-UI gap surfaced by the DEV-495 inventory: bunyip-api already exposed list / create / delete for Stripe webhook endpoints (routes/admin.rs), and a8n-tools' React admin already had the UI, but bunyip-web rendered no block for it. Add a Webhook endpoints block on the Stripe admin page mirroring the Products/Prices pattern: a create form (endpoint URL + enabled events, pre-filled with the six events bunyip's processor handles), the list of registered endpoints each with a Delete action, and a one-time page showing the signing secret Stripe returns at creation so the admin can paste it into the Webhook secret field. Adds the BFF client methods, the StripeWebhookEndpoint type, the two POST handlers, and their routes. bunyip-web builds; clippy + fmt clean; the existing Stripe admin unit tests pass. (This corrects the stale DEV-495 premise that Products/Prices were the gap - those were already ported under BUNYIP-416/417.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QLd9c7niucrqx68v4AxVss
longjacksonle scheduled this pull request to auto merge when all checks succeed 2026-08-03 20:02:45 +02:00
longjacksonle deleted branch feat/DEV-518-webhook-endpoint-ui 2026-08-03 20:10:27 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/bunyip!445
No description provided.