Skip to content

feat(webhooks): persist subscriptions in PostgreSQL - #704

Open
woahwhattheheck wants to merge 7 commits into
Protocol-Guild:mainfrom
woahwhattheheck:sol56/payd502-persist-webhooks-20261005
Open

woahwhattheheck wants to merge 7 commits into
Protocol-Guild:mainfrom
woahwhattheheck:sol56/payd502-persist-webhooks-20261005

Conversation

@woahwhattheheck

@woahwhattheheck woahwhattheheck commented Oct 5, 2026 •

Copy link
Copy Markdown

Summary

  • replace process-local webhook subscription storage with the existing PostgreSQL pool
  • add migration 032 for tenant-scoped webhook subscriptions, including organization and event indexes
  • make list/delete database-backed and add PATCH /subscriptions/:id so the subscription API is full CRUD
  • make dispatch read the shared subscription table so every API replica observes the same subscriptions
  • keep list/update/delete explicitly scoped by organization_id
  • adapt the existing webhook route tests to the persistent storage contract without adding a parallel test suite

Scope

This is limited to subscription persistence and CRUD. It does not add webhook delivery history, delivery tracking, or a broader dispatch redesign.

Validation

  • branch is one commit ahead of current sponsor main (171c74b) and zero commits behind
  • reviewed the exact 5-file diff and migration against the repository's existing database/migration conventions
  • focused existing route tests were updated for database-backed CRUD and tenant isolation
  • the backend test suite was not executed for this submission; the repository's current PR workflow does not run backend tests

Closes #502

@woahwhattheheck

Copy link
Copy Markdown
Author

/claim #502

Existing issue claim: #502 (comment)

Original contributor and claimant/payee: @woahwhattheheck. Please evaluate PR #704 under the issue's existing GrantFox OSS / Third Campaign bounty route. Current carrier head: e74793a8388b091f62618ea95f58dd3d85a64b72.

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.

Persist webhook subscriptions to database instead of in-memory

1 participant