use strum_macros::{AsRefStr, Display, EnumIter};
#[derive(AsRefStr, Clone, Debug, Display, EnumIter)]
pub enum IdentityProvider {
#[cfg(feature = "authentication-amazon")]
#[strum(serialize = "Amazon")]
Amazon,
#[cfg(feature = "authentication-apple")]
#[strum(serialize = "Apple")]
Apple,
#[cfg(feature = "authentication-digitalocean")]
#[strum(serialize = "DigitalOcean")]
DigitalOcean,
#[cfg(feature = "authentication-facebook")]
#[strum(serialize = "Facebook")]
Facebook,
#[cfg(feature = "authentication-github")]
#[strum(serialize = "GitHub")]
GitHub,
#[cfg(feature = "authentication-gitlab")]
#[strum(serialize = "GitLab")]
GitLab,
#[cfg(feature = "authentication-google")]
#[strum(serialize = "Google")]
Google,
#[cfg(feature = "authentication-instagram")]
#[strum(serialize = "Instagram")]
Instagram,
#[cfg(feature = "authentication-linode")]
#[strum(serialize = "Linode")]
Linode,
#[cfg(feature = "authentication-microsoft")]
#[strum(serialize = "Microsoft")]
Microsoft,
#[cfg(feature = "authentication-okta")]
#[strum(serialize = "Okta")]
Okta,
#[cfg(feature = "authentication-twitter")]
#[strum(serialize = "Twitter")]
Twitter,
}