2026-04-05 19:42:08 +05:30

31 lines
931 B
Python

from app.services.crypto_service import decrypt_value
from app.services.db import db_transaction
def get_session(user_id: str):
with db_transaction() as cur:
cur.execute(
"""
SELECT broker, connected, access_token, api_key, user_name, broker_user_id, connected_at
FROM user_broker
WHERE user_id = %s
LIMIT 1
""",
(user_id,),
)
row = cur.fetchone()
if not row:
return None
broker, connected, access_token, api_key, user_name, broker_user_id, connected_at = row
if not connected or not access_token:
return None
if (broker or "").strip().upper() != "GROWW":
return None
return {
"api_key": api_key,
"access_token": decrypt_value(access_token),
"user_name": user_name,
"broker_user_id": broker_user_id,
"linked_at": connected_at,
}