Sub2ApiAdminRiskControlConfig constructor
Sub2ApiAdminRiskControlConfig({
- required bool enabled,
- required Sub2ApiAdminRiskControlMode mode,
- required Uri baseUrl,
- required String model,
- required int? proxyId,
- required bool apiKeyConfigured,
- required Sub2ApiAdminMaskedCredential apiKeyMasked,
- required int apiKeyCount,
- required List<
Sub2ApiAdminMaskedCredential> apiKeyMasks, - required List<
Sub2ApiAdminRiskControlApiKeyStatus> apiKeyStatuses, - required int timeoutMs,
- required int sampleRate,
- required bool allGroups,
- required List<
int> groupIds, - required bool recordNonHits,
- required Map<
String, Sub2ApiDecimal> thresholds, - required int workerCount,
- required int queueSize,
- required int blockStatus,
- required String blockMessage,
- required bool emailOnHit,
- required bool autoBanEnabled,
- required int banThreshold,
- required int violationWindowHours,
- required int retryCount,
- required int hitRetentionDays,
- required int nonHitRetentionDays,
- required bool preHashCheckEnabled,
- required List<
String> blockedKeywords, - required Sub2ApiAdminRiskControlKeywordMode keywordBlockingMode,
- required Sub2ApiAdminRiskControlModelFilter modelFilter,
- 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);