Skip to content

feat: Command Dead Letter Inspector Minimal API endpoints (MapCommandDeadLetterInspector) #292

@samtrion

Description

@samtrion

User Story

As a developer or operator managing failed commands, I want minimal API endpoints for the command dead-letter store, so that I can view failures, trigger replays, and dismiss non-replayable entries without direct database access.


Requirements

  • Create CommandDeadLetterInspectorOptions: BasePath = "/pulse/commands", RouteGroupName = "Pulse Command Dead Letter Inspector".
  • Create CommandDeadLetterInspectorEndpoints (static class):
    • GET {base}/stats → ICommandDeadLetterManagement.GetStatisticsAsync()
    • GET {base}/entries?count=50&skip=0 → GetPendingAsync(count, skip)
    • GET {base}/entries/{id} → single entry or 404
    • POST {base}/entries/{id}/replay → ReplayAsync(id)
    • POST {base}/entries/{id}/dismiss → DismissAsync(id)
  • Add MapCommandDeadLetterInspector(this IEndpointRouteBuilder, Action? configure = null) returning IEndpointConventionBuilder.
  • No built-in authorization.

Acceptance Criteria

  • All five endpoints respond correctly.
  • 404 when entry not found.
  • Unit tests cover all endpoints.

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:featureIndicates a new feature or enhancement to be added.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions