Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 24 additions & 19 deletions src/db/db_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,27 +282,32 @@ def upsert_user_from_telegram(
.first()
)

if user:
# Update existing user
if telegram_username:
# Normalize: remove @ if present
normalized = telegram_username.lstrip("@")
user.telegram_username = normalized
if team_member_id:
try:
if user:
# Update existing user
if telegram_username:
# Normalize: remove @ if present
normalized = telegram_username.lstrip("@")
user.telegram_username = normalized
if team_member_id:
user.team_member_id = team_member_id
user.updated_at = datetime.utcnow()
else:
# Create new user
user = User()
user.telegram_user_id = telegram_user_id
if telegram_username:
# Normalize: remove @ if present
normalized = telegram_username.lstrip("@")
user.telegram_username = normalized
user.team_member_id = team_member_id
user.updated_at = datetime.utcnow()
else:
# Create new user
user = User()
user.telegram_user_id = telegram_user_id
if telegram_username:
# Normalize: remove @ if present
normalized = telegram_username.lstrip("@")
user.telegram_username = normalized
user.team_member_id = team_member_id
session.add(user)
session.add(user)

session.commit()
session.commit()
except Exception as e:
logger.warning("Failed to upsert user from telegram", exc_info=e)
session.rollback()
return None
return user

def link_user_to_team_member(self, user_id, team_member_id: str) -> Optional[User]:
Expand Down
Loading