getProviderCredential function

Future<String?> getProviderCredential(
  1. Ref<Object?> ref,
  2. AiProvider provider
)

Read the user's credential for the given provider. API key for Claude, OAuth access token for OpenAI/Gemini.

Implementation

Future<String?> getProviderCredential(Ref ref, AiProvider provider) async {
  switch (provider) {
    case AiProvider.claude:
      final storage = ref.read(secureStorageProvider);
      return storage.read(key: provider.credentialStorageKey);
    case AiProvider.openai:
      return ref.read(openAiAuthServiceProvider).getAccessToken();
    case AiProvider.gemini:
      return ref.read(googleAuthServiceProvider).getAccessToken();
  }
}