feat(avatar): add BOXIM chat takeover

This commit is contained in:
stefanfeng
2026-08-19 17:56:57 +08:00
parent cfcfe7146e
commit 25fb8fbee5
15 changed files with 1340 additions and 880 deletions
+21 -4
View File
@@ -2,7 +2,14 @@ import uuid
import pytest
from database import init_db, SessionLocal
from models import Authorization, Avatar, User
from models import (
Authorization,
Avatar,
TakeoverCursor,
TakeoverMessage,
TakeoverReplyTask,
User,
)
@pytest.fixture(scope="session", autouse=True)
@@ -84,10 +91,20 @@ def authorization_context():
}
finally:
db.rollback()
db.query(Authorization).filter(
Authorization.avatar_id.in_([avatar.id, other_avatar.id])
avatar_ids = [avatar.id, other_avatar.id]
db.query(TakeoverReplyTask).filter(
TakeoverReplyTask.avatar_id.in_(avatar_ids)
).delete(synchronize_session=False)
db.query(Avatar).filter(Avatar.id.in_([avatar.id, other_avatar.id])).delete(
db.query(TakeoverMessage).filter(
TakeoverMessage.avatar_id.in_(avatar_ids)
).delete(synchronize_session=False)
db.query(TakeoverCursor).filter(
TakeoverCursor.avatar_id.in_(avatar_ids)
).delete(synchronize_session=False)
db.query(Authorization).filter(
Authorization.avatar_id.in_(avatar_ids)
).delete(synchronize_session=False)
db.query(Avatar).filter(Avatar.id.in_(avatar_ids)).delete(
synchronize_session=False
)
db.query(User).filter(User.id.in_([owner.id, other.id])).delete(