namespace Application.Abstractions.YouTube;

/// <summary>
/// YouTube 연동에 필요한 Google OAuth 2.0 Scopes
/// </summary>
public static class GoogleOAuthScopes
{
    public const string OpenId = "openid";
    public const string Email = "email";
    public const string Profile = "profile";

    /// <summary>YouTube 계정의 읽기 전용 접근 (구독 확인 등)</summary>
    public const string YouTubeReadOnly = "https://www.googleapis.com/auth/youtube.readonly";

    /// <summary>YouTube 채팅 읽기/쓰기 (force-ssl 필요)</summary>
    public const string YouTubeForceSsl = "https://www.googleapis.com/auth/youtube.force-ssl";

    /// <summary>YouTube 멤버십 확인</summary>
    public const string YouTubeChannelMemberships = "https://www.googleapis.com/auth/youtube.channel-memberships.creator";

    /// <summary>기본 YouTube 연동에 필요한 최소 scope 집합</summary>
    public static readonly string[] Default =
    [
        OpenId,
        Email,
        Profile,
        YouTubeReadOnly,
        YouTubeForceSsl
    ];
}