<?php

// Ordered by ABC.
return [
    'amazon' => [
        'name' => 'Amazon',
        'developers' => 'https://developer.amazon.com/apps-and-games/services-and-apis',
        'icon' => 'icon-amazon',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Amazon',
    ],
    'apple' => [
        'name' => 'Apple',
        'developers' => 'https://developer.apple.com/',
        'icon' => 'icon-apple',
        'enabled' => true,
        'sandbox' => false,
        'form' => 'apple.phtml', // Preparation for adding ability to customized OAuth UI forms, currently handled hardcoded.
        'beta' => true,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Apple',
    ],
    'auth0' => [
        'name' => 'Auth0',
        'developers' => 'https://auth0.com/developers',
        'icon' => 'icon-auth0',
        'enabled' => true,
        'sandbox' => false,
        'form' => 'auth0.phtml',
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Auth0',
    ],
    'authentik' => [
        'name' => 'Authentik',
        'developers' => 'https://goauthentik.io/docs/',
        'icon' => 'icon-authentik',
        'enabled' => true,
        'sandbox' => false,
        'form' => 'authentik.phtml',
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Authentik',
    ],
    'autodesk' => [
        'name' => 'Autodesk',
        'developers' => 'https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/overview/',
        'icon' => 'icon-autodesk',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Autodesk',
    ],
    'bitbucket' => [
        'name' => 'BitBucket',
        'developers' => 'https://developer.atlassian.com/bitbucket',
        'icon' => 'icon-bitbucket',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Bitbucket',
    ],
    'bitly' => [
        'name' => 'Bitly',
        'developers' => 'https://dev.bitly.com/v4_documentation.html',
        'icon' => 'icon-bitly',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Bitly',
    ],
    'box' => [
        'name' => 'Box',
        'developers' => 'https://developer.box.com/reference/',
        'icon' => 'icon-box',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Box',
    ],
    'dailymotion' => [
        'name' => 'Dailymotion',
        'developers' => 'https://developers.dailymotion.com/api/',
        'icon' => 'icon-dailymotion',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Dailymotion',
    ],
    'discord' => [
        'name' => 'Discord',
        'developers' => 'https://discordapp.com/developers/docs/topics/oauth2',
        'icon' => 'icon-discord',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Discord',
    ],
    'disqus' => [
        'name' => 'Disqus',
        'developers' => 'https://disqus.com/api/docs/auth/',
        'icon' => 'icon-disqus',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Disqus',
    ],
    'dropbox' => [
        'name' => 'Dropbox',
        'developers' => 'https://www.dropbox.com/developers/documentation',
        'icon' => 'icon-dropbox',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Dropbox',
    ],
    'etsy' => [
        'name' => 'Etsy',
        'developers' => 'https://developers.etsy.com/',
        'icon' => 'icon-etsy',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Etsy',
    ],
    'facebook' => [
        'name' => 'Facebook',
        'developers' => 'https://developers.facebook.com/',
        'icon' => 'icon-facebook',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Facebook',
    ],
    'figma' => [
        'name' => 'Figma',
        'developers' => 'https://www.figma.com/developers/api#oauth2',
        'icon' => 'icon-figma',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Figma',
    ],
    'github' => [
        'name' => 'GitHub',
        'developers' => 'https://developer.github.com/',
        'icon' => 'icon-github',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Github',
    ],
    'gitlab' => [
        'name' => 'GitLab',
        'developers' => 'https://docs.gitlab.com/ee/api/',
        'icon' => 'icon-gitlab',
        'enabled' => true,
        'sandbox' => false,
        'form' => 'gitlab.phtml',
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Gitlab',
    ],
    'google' => [
        'name' => 'Google',
        'developers' => 'https://support.google.com/googleapi/answer/6158849',
        'icon' => 'icon-google',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Google',
    ],
    'linkedin' => [
        'name' => 'LinkedIn',
        'developers' => 'https://developer.linkedin.com/',
        'icon' => 'icon-linkedin',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Linkedin',
    ],
    'microsoft' => [
        'name' => 'Microsoft',
        'developers' => 'https://developer.microsoft.com/en-us/',
        'icon' => 'icon-windows',
        'enabled' => true,
        'sandbox' => false,
        'form' => 'microsoft.phtml',
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Microsoft',
    ],
    'notion' => [
        'name' => 'Notion',
        'developers' => 'https://developers.notion.com/docs',
        'icon' => 'icon-notion',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Notion',
    ],
    'oidc' => [
        'name' => 'OpenID Connect',
        'developers' => 'https://openid.net/connect/faq/',
        'icon' => 'icon-oidc',
        'enabled' => true,
        'sandbox' => false,
        'form' => 'oidc.phtml',
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Oidc',
    ],
    'okta' => [
        'name' => 'Okta',
        'developers' => 'https://developer.okta.com/',
        'icon' => 'icon-okta',
        'enabled' => true,
        'sandbox' => false,
        'form' => 'okta.phtml',
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Okta',
    ],
    'paypal' => [
        'name' => 'PayPal',
        'developers' => 'https://developer.paypal.com/docs/api/overview/',
        'icon' => 'icon-paypal',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Paypal',
    ],
    'paypalSandbox' => [
        'name' => 'PayPal Sandbox',
        'developers' => 'https://developer.paypal.com/docs/api/overview/',
        'icon' => 'icon-paypal',
        'enabled' => true,
        'sandbox' => true,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Paypal',
    ],
    'podio' => [
        'name' => 'Podio',
        'developers' => 'https://developers.podio.com/doc/oauth-authorization',
        'icon' => 'icon-podio',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Podio',
    ],
    'salesforce' => [
        'name' => 'Salesforce',
        'developers' => 'https://developer.salesforce.com/docs/',
        'icon' => 'icon-salesforce',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Salesforce',
    ],
    'slack' => [
        'name' => 'Slack',
        'developers' => 'https://api.slack.com/',
        'icon' => 'icon-slack',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Slack',
    ],
    'spotify' => [
        'name' => 'Spotify',
        'developers' => 'https://developer.spotify.com/documentation/general/guides/authorization-guide/',
        'icon' => 'icon-spotify',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Spotify',
    ],
    'stripe' => [
        'name' => 'Stripe',
        'developers' => 'https://stripe.com/docs/api',
        'icon' => 'icon-stripe',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Stripe',
    ],
    'tradeshift' => [
        'name' => 'Tradeshift',
        'developers' => 'https://developers.tradeshift.com/docs/api',
        'icon' => 'icon-tradeshift',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Tradeshift',
    ],
    'tradeshiftBox' => [
        'name' => 'Tradeshift Sandbox',
        'developers' => 'https://developers.tradeshift.com/docs/api',
        'icon' => 'icon-tradeshiftbox',
        'enabled' => true,
        'sandbox' => true,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Tradeshift',
    ],
    'twitch' => [
        'name' => 'Twitch',
        'developers' => 'https://dev.twitch.tv/docs/authentication',
        'icon' => 'icon-twitch',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Twitch',
    ],
    'wordpress' => [
        'name' => 'WordPress',
        'developers' => 'https://developer.wordpress.com/docs/oauth2/',
        'icon' => 'icon-wordpress',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Wordpress',
    ],
    'yahoo' => [
        'name' => 'Yahoo',
        'developers' => 'https://developer.yahoo.com/oauth2/guide/flows_authcode/',
        'icon' => 'icon-yahoo',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Yahoo',
    ],
    'yammer' => [
        'name' => 'Yammer',
        'developers' => 'https://docs.microsoft.com/en-us/rest/api/yammer/oauth-2/',
        'icon' => 'icon-yammer',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Yammer',
    ],
    'yandex' => [
        'name' => 'Yandex',
        'developers' => 'https://tech.yandex.com/oauth/',
        'icon' => 'icon-yandex',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Yandex',
    ],
    'zoho' => [
        'name' => 'Zoho',
        'developers' => 'https://zoho.com/accounts/protocol/oauth.html',
        'icon' => 'icon-zoho',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Zoho',
    ],
    'zoom' => [
        'name' => 'Zoom',
        'developers' => 'https://marketplace.zoom.us/docs/guides/auth/oauth/',
        'icon' => 'icon-zoom',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => false,
        'class' => 'Appwrite\\Auth\\OAuth2\\Zoom',
    ],
    // 'instagram' => [
    //     'name' => 'Instagram',
    //     'developers' => 'https://www.instagram.com/developer/',
    //     'icon' => 'icon-instagram',
    //     'enabled' => false,
    //     'beta' => false,
    //     'mock' => false,
    //     'class' => 'Appwrite\\Auth\\OAuth2\\Instagram',
    // ],
    // 'twitter' => [
    //     'name' => 'twitter',
    //     'developers' => 'https://developer.twitter.com/',
    //     'icon' => 'icon-twitter',
    //     'enabled' => false,
    //     'beta' => false,
    //     'mock' => false,
    //     'class' => 'Appwrite\\Auth\\OAuth2\\Twitter',
    // ],

    // Keep Last
    'mock' => [
        'name' => 'Mock',
        'developers' => 'https://appwrite.io',
        'icon' => 'icon-appwrite',
        'enabled' => true,
        'sandbox' => false,
        'form' => false,
        'beta' => false,
        'mock' => true,
        'class' => 'Appwrite\\Auth\\OAuth2\\Mock',
    ],
];
