31 lines
931 B
Python
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,
|
|
}
|