package usecase import "context" // AdminNotifierUseCase supports operations/admin retry of failed notifications. type AdminNotifierUseCase interface { ListDLQ(ctx context.Context, tenantID string, limit int64) ([]*DLQEntryDTO, error) // RetryDLQ re-queues delivery; target must be supplied by the operator (not stored in DLQ for privacy). RetryDLQ(ctx context.Context, tenantID, dlqID, target string) (*NotificationDTO, error) } // DLQEntryDTO is an admin view of a dead-letter record. type DLQEntryDTO struct { ID string `json:"id"` NotificationID string `json:"notification_id"` TenantID string `json:"tenant_id"` UID string `json:"uid,omitempty"` Channel string `json:"channel"` Kind string `json:"kind"` TargetHash string `json:"target_hash"` LastError string `json:"last_error"` Attempts int `json:"attempts"` OccurredAt int64 `json:"occurred_at"` HasRetryPayload bool `json:"has_retry_payload"` }