Repository navigation
Feat/webhook replay nelly439 - #933
Merged
Merged
Conversation
…ed payload and signature Adds POST /api/v1/developer/webhooks/:id/deliveries/:deliveryId/replay so stuck integrations can re-dispatch failed deliveries. Work done: - WebhookDelivery model persists the exact payload bytes and HMAC signature of every dispatch (pending/delivered/failed/replaying lifecycle) - WebhookDeliveryService with createAndDispatch producer API and replayFailedDelivery: fetch -> authorize -> atomic failed->replaying claim -> re-dispatch stored bytes verbatim -> persist final state - Strict Controller -> Service -> Model layering on the versioned /api/v1/developer router: x-api-key auth, owner/admin authorization, zod path-parameter validation, AppError-based error responses - Only failed deliveries are replayable (409 otherwise); concurrent replays are serialized by an atomic compare-and-swap; stale claims left by a crashed process are reclaimable - Global error handler now maps HttpError to its statusCode so missing/invalid API keys return 401 instead of 500 - Restores jest.setup.afterEnv.ts referenced by jest.config.ts (backend test suites could not run at all without it) - 22 new unit tests (replay state machine + route schema), all passing 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
Owner
|
Thank you for your contribution |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Endpoint: POST /api/v1/developer/webhooks/:id/deliveries/:deliveryId/replay
closes [Backend] [Feature] Implement webhook replay endpoint #762