rotatePartnerWebhookSecret method

Future<NeuerWebhook> rotatePartnerWebhookSecret(
  1. String webhookId
)

Ein neues Secret fuer denselben Endpunkt.

Der Webhook behaelt seine webhookId und seine Ereignisse -- nur das Geheimnis wechselt. Wer stattdessen loescht und neu anlegt, verliert die Zustellungshistorie und muss die Ereignisse neu ankreuzen.

Das alte Secret gilt ab der Antwort NICHT mehr: die naechste Zustellung ist schon mit dem neuen signiert. Erst speichern, dann weiterarbeiten.

Implementation

Future<NeuerWebhook> rotatePartnerWebhookSecret(String webhookId) async {
  final id = _pflicht(webhookId, 'rotatePartnerWebhookSecret', 'webhookId');
  final d = await _t.rufen(Aufrufe.rotatePartnerWebhookSecret, params: <String, dynamic>{'webhookId': id});
  final secret = alsTextOderNull(d['secret']);
  if (secret == null || secret.isEmpty) {
    throw const KasseneckValidationError(
      'rotatePartnerWebhookSecret',
      'Antwort enthaelt kein secret -- dann waere der Wechsel nicht nachvollziehbar',
      'response',
    );
  }
  return NeuerWebhook(webhook: PartnerWebhook.aus(alsMap(d['webhook'])), secret: secret);
}