validateApiKey method
Validate API key for environment
Implementation
ValidationResult validateApiKey(String? apiKey, SDKEnvironment environment) {
try {
final lib = PlatformLoader.loadCommons();
final validateFn = lib
.lookupFunction<
Int32 Function(Pointer<Utf8>, Int32),
int Function(Pointer<Utf8>, int)
>('rac_validate_api_key');
final apiKeyPtr = apiKey?.toNativeUtf8() ?? nullptr;
try {
final result = validateFn(
apiKeyPtr.cast<Utf8>(),
_environmentToInt(environment),
);
return ValidationResult.fromCode(result);
} finally {
if (apiKeyPtr != nullptr) calloc.free(apiKeyPtr);
}
} catch (e) {
// Fallback validation
if (environment == SDKEnvironment.SDK_ENVIRONMENT_DEVELOPMENT) {
return ValidationResult.ok;
}
if (apiKey == null || apiKey.isEmpty) {
return ValidationResult.apiKeyRequired;
}
if (apiKey.length < 10) {
return ValidationResult.apiKeyTooShort;
}
return ValidationResult.ok;
}
}