Files
video-gen/video-gen-api/app/tasks/user_oauth_tasks.py
T
2026-06-11 18:21:20 +08:00

44 lines
1.5 KiB
Python

from asyncio import Condition
import httpx
from datetime import datetime, timedelta
from sqlalchemy import select
from app.models.base import async_session
from app.models.user_oauth import UserOAuth
from app.models.user_oauth_app import UserOAuthApp
from app.tasks.async_runner import run_async
from app.tasks.celery_app import celery_app
async def _update_oauth_accounts(account_id: str, account_userid: str, current_user_id: str, db: async_session):
conditions = [UserOAuth.user_id == current_user_id, UserOAuth.deleted_at.is_(None)]
if account_id:
conditions.append(UserOAuth.account_id == account_id)
if account_userid:
conditions.append(UserOAuth.account_userid == account_userid)
result = await db.execute(
select(UserOAuth).where(
*conditions
)
)
oauth_records = result.scalars().all()
if not oauth_records:
return True
for oauth in oauth_records:
pass
if celery_app:
@celery_app.task(name="user_oauth.update_oauth_accounts", bind=True, max_retries=3, default_retry_delay=60)
def update_oauth_accounts(self, account_id: str, account_userid: str, current_user_id: str, db):
return run_async(_update_oauth_accounts(account_id, account_userid, current_user_id, db))
else:
class _DisabledTask:
def delay(self, *args, **kwargs):
pass
def apply_async(self, *args, **kwargs):
pass
update_oauth_accounts = _DisabledTask()