auth.rs

 1use gpui::AppContext;
 2
 3#[derive(Clone, Debug)]
 4pub enum ProviderCredential {
 5    Credentials { api_key: String },
 6    NoCredentials,
 7    NotNeeded,
 8}
 9
10pub trait CredentialProvider: Send + Sync {
11    fn retrieve_credentials(&self, cx: &AppContext) -> ProviderCredential;
12}
13
14#[derive(Clone)]
15pub struct NullCredentialProvider;
16impl CredentialProvider for NullCredentialProvider {
17    fn retrieve_credentials(&self, _cx: &AppContext) -> ProviderCredential {
18        ProviderCredential::NotNeeded
19    }
20}