47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
"""
|
|
Social OAuth Module
|
|
|
|
소셜 미디어 OAuth 클라이언트 모듈입니다.
|
|
"""
|
|
|
|
from app.social.constants import SocialPlatform
|
|
from app.social.oauth.base import BaseOAuthClient
|
|
|
|
|
|
def get_oauth_client(platform: SocialPlatform) -> BaseOAuthClient:
|
|
"""
|
|
플랫폼에 맞는 OAuth 클라이언트 반환
|
|
|
|
Args:
|
|
platform: 소셜 플랫폼
|
|
|
|
Returns:
|
|
BaseOAuthClient: OAuth 클라이언트 인스턴스
|
|
|
|
Raises:
|
|
ValueError: 지원하지 않는 플랫폼인 경우
|
|
"""
|
|
if platform == SocialPlatform.YOUTUBE:
|
|
from app.social.oauth.youtube import YouTubeOAuthClient
|
|
|
|
return YouTubeOAuthClient()
|
|
|
|
# 추후 확장
|
|
# elif platform == SocialPlatform.INSTAGRAM:
|
|
# from app.social.oauth.instagram import InstagramOAuthClient
|
|
# return InstagramOAuthClient()
|
|
# elif platform == SocialPlatform.FACEBOOK:
|
|
# from app.social.oauth.facebook import FacebookOAuthClient
|
|
# return FacebookOAuthClient()
|
|
# elif platform == SocialPlatform.TIKTOK:
|
|
# from app.social.oauth.tiktok import TikTokOAuthClient
|
|
# return TikTokOAuthClient()
|
|
|
|
raise ValueError(f"지원하지 않는 플랫폼입니다: {platform}")
|
|
|
|
|
|
__all__ = [
|
|
"BaseOAuthClient",
|
|
"get_oauth_client",
|
|
]
|