//! This code was AUTOGENERATED using the Codama library.
use juniper::GraphQLEnum;

#[derive(Debug, Clone, GraphQLEnum)]
#[graphql(name = "PluginType")]
pub enum PluginTypeGraphQL {
    Royalties,
    FreezeDelegate,
    BurnDelegate,
    TransferDelegate,
    UpdateDelegate,
    PermanentFreezeDelegate,
    Attributes,
    PermanentTransferDelegate,
    PermanentBurnDelegate,
    Edition,
    MasterEdition,
    AddBlocker,
    ImmutableMetadata,
    VerifiedCreators,
    Autograph,
    BubblegumV2,
    FreezeExecute,
    PermanentFreezeExecute,
    Groups,
}

impl From<crate::types::PluginType> for PluginTypeGraphQL {
    fn from(original: crate::types::PluginType) -> Self {
        match original {
            crate::types::PluginType::Royalties => Self::Royalties,
            crate::types::PluginType::FreezeDelegate => Self::FreezeDelegate,
            crate::types::PluginType::BurnDelegate => Self::BurnDelegate,
            crate::types::PluginType::TransferDelegate => Self::TransferDelegate,
            crate::types::PluginType::UpdateDelegate => Self::UpdateDelegate,
            crate::types::PluginType::PermanentFreezeDelegate => Self::PermanentFreezeDelegate,
            crate::types::PluginType::Attributes => Self::Attributes,
            crate::types::PluginType::PermanentTransferDelegate => Self::PermanentTransferDelegate,
            crate::types::PluginType::PermanentBurnDelegate => Self::PermanentBurnDelegate,
            crate::types::PluginType::Edition => Self::Edition,
            crate::types::PluginType::MasterEdition => Self::MasterEdition,
            crate::types::PluginType::AddBlocker => Self::AddBlocker,
            crate::types::PluginType::ImmutableMetadata => Self::ImmutableMetadata,
            crate::types::PluginType::VerifiedCreators => Self::VerifiedCreators,
            crate::types::PluginType::Autograph => Self::Autograph,
            crate::types::PluginType::BubblegumV2 => Self::BubblegumV2,
            crate::types::PluginType::FreezeExecute => Self::FreezeExecute,
            crate::types::PluginType::PermanentFreezeExecute => Self::PermanentFreezeExecute,
            crate::types::PluginType::Groups => Self::Groups,
        }
    }
}
