+ contact requests
Some checks failed
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/frontend Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
ci/woodpecker/push/ledger Pipeline was successful
ci/woodpecker/push/notification Pipeline was successful
ci/woodpecker/push/payments_orchestrator Pipeline was successful
ci/woodpecker/push/bump_version Pipeline failed

This commit is contained in:
Stephan D
2025-11-19 14:42:38 +01:00
parent 717dafc673
commit e08eb742e4
16 changed files with 403 additions and 132 deletions

View File

@@ -85,6 +85,11 @@ func CreateAPI(a api.API) (*NotificationAPI, error) {
return nil, err
}
if err := a.Register().Consumer(snotifications.NewContactRequestProcessor(p.logger, p.onContactRequest)); err != nil {
p.logger.Error("Failed to register contact request handler", zap.Error(err))
return nil, err
}
return p, nil
}
@@ -99,3 +104,15 @@ func (a *NotificationAPI) onDemoRequest(ctx context.Context, request *model.Demo
a.logger.Info("Demo request sent via Telegram", zap.String("name", request.Name), zap.String("organization", request.OrganizationName))
return nil
}
func (a *NotificationAPI) onContactRequest(ctx context.Context, request *model.ContactRequest) error {
if a.tg == nil {
return merrors.Internal("telegram client is not configured")
}
if err := a.tg.SendContactRequest(ctx, request); err != nil {
a.logger.Warn("Failed to send contact request via telegram", zap.Error(err))
return err
}
a.logger.Info("Contact request sent via Telegram", zap.String("name", request.Name), zap.String("topic", request.Topic))
return nil
}