from enum import Enum
class OAuthFlow(Enum):
"""Represents the different OAuth 2.0 flow types."""
AUTHORIZATION_CODE = 0
CLIENT_CREDENTIALS = 1
@oauth(
id="oauth",
provider=OAuthProvider.MICROSOFT,
flows=[OAuthFlow.AUTHORIZATION_CODE],
authorize_endpoint="https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/authorize",
token_endpoint="https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/token",
scopes=[
"https://graph.microsoft.com/Files.ReadWrite",
"https://graph.microsoft.com/Sites.ReadWrite.All",
],
)
@book(name="MicrosoftBook")
class BaseMicrosoftBook