feat: dismiss reviewed settlement failures
CI/CD Stage / stage (push) Failing after 37s

This commit is contained in:
2026-10-07 00:32:20 +03:30
parent 88e227f80c
commit d33ec51201
13 changed files with 385 additions and 57 deletions
+14
View File
@@ -38,6 +38,20 @@ func (h *Handler) RetrySettlement(ctx context.Context, request *ledgerv1.RetrySe
return &ledgerv1.RetrySettlementResponse{Settlement: settlementMessage(record)}, nil
}
func (h *Handler) IgnoreSettlement(ctx context.Context, request *ledgerv1.IgnoreSettlementRequest) (*ledgerv1.IgnoreSettlementResponse, error) {
if err := h.requireAdmin(ctx); err != nil {
return nil, err
}
if h.settlement == nil {
return nil, status.Error(codes.Unimplemented, "settlement is not configured")
}
record, err := h.settlement.IgnoreByOperator(ctx, request.GetSettlementId(), request.GetActorId(), request.GetReason())
if err != nil {
return nil, status.Error(codes.FailedPrecondition, err.Error())
}
return &ledgerv1.IgnoreSettlementResponse{Settlement: settlementMessage(record)}, nil
}
func settlementMessage(record ledger.Settlement) *ledgerv1.Settlement {
return &ledgerv1.Settlement{SettlementId: record.ID, SourceService: record.SourceService, SourceTransactionId: record.SourceTxID, IdempotencyKey: record.IdempotencyKey, Status: string(record.Status), Network: record.Network, TransactionHash: record.TransactionHash, Attempts: uint32(record.Attempts), LastError: record.LastError}
}