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.development) {
return ValidationResult.ok;
}
if (apiKey == null || apiKey.isEmpty) {
return ValidationResult.apiKeyRequired;
}
if (apiKey.length < 10) {
return ValidationResult.apiKeyTooShort;
}
return ValidationResult.ok;
}
}