Sub2ApiAdminRiskControlConfig constructor

Sub2ApiAdminRiskControlConfig({
  1. required bool enabled,
  2. required Sub2ApiAdminRiskControlMode mode,
  3. required Uri baseUrl,
  4. required String model,
  5. required int? proxyId,
  6. required bool apiKeyConfigured,
  7. required Sub2ApiAdminMaskedCredential apiKeyMasked,
  8. required int apiKeyCount,
  9. required List<Sub2ApiAdminMaskedCredential> apiKeyMasks,
  10. required List<Sub2ApiAdminRiskControlApiKeyStatus> apiKeyStatuses,
  11. required int timeoutMs,
  12. required int sampleRate,
  13. required bool allGroups,
  14. required List<int> groupIds,
  15. required bool recordNonHits,
  16. required Map<String, Sub2ApiDecimal> thresholds,
  17. required int workerCount,
  18. required int queueSize,
  19. required int blockStatus,
  20. required String blockMessage,
  21. required bool emailOnHit,
  22. required bool autoBanEnabled,
  23. required int banThreshold,
  24. required int violationWindowHours,
  25. required int retryCount,
  26. required int hitRetentionDays,
  27. required int nonHitRetentionDays,
  28. required bool preHashCheckEnabled,
  29. required List<String> blockedKeywords,
  30. required Sub2ApiAdminRiskControlKeywordMode keywordBlockingMode,
  31. required Sub2ApiAdminRiskControlModelFilter modelFilter,
  32. required bool cyberPolicyExcludeFromBanCount,
})

Implementation

Sub2ApiAdminRiskControlConfig({
  required this.enabled,
  required this.mode,
  required this.baseUrl,
  required this.model,
  required this.proxyId,
  required this.apiKeyConfigured,
  required this.apiKeyMasked,
  required this.apiKeyCount,
  required List<Sub2ApiAdminMaskedCredential> apiKeyMasks,
  required List<Sub2ApiAdminRiskControlApiKeyStatus> apiKeyStatuses,
  required this.timeoutMs,
  required this.sampleRate,
  required this.allGroups,
  required List<int> groupIds,
  required this.recordNonHits,
  required Map<String, Sub2ApiDecimal> thresholds,
  required this.workerCount,
  required this.queueSize,
  required this.blockStatus,
  required this.blockMessage,
  required this.emailOnHit,
  required this.autoBanEnabled,
  required this.banThreshold,
  required this.violationWindowHours,
  required this.retryCount,
  required this.hitRetentionDays,
  required this.nonHitRetentionDays,
  required this.preHashCheckEnabled,
  required List<String> blockedKeywords,
  required this.keywordBlockingMode,
  required this.modelFilter,
  required this.cyberPolicyExcludeFromBanCount,
}) : apiKeyMasks = List.unmodifiable(apiKeyMasks),
     apiKeyStatuses = List.unmodifiable(apiKeyStatuses),
     groupIds = List.unmodifiable(groupIds),
     thresholds = Map.unmodifiable(thresholds),
     blockedKeywords = List.unmodifiable(blockedKeywords);