import os
from dotenv import load_dotenv
from t_tech.invest import Client

# Настройка SSL для работы с российскими сертификатами (уже настроена на вашем сервере)
os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'
os.environ['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = '/etc/ssl/certs/ca-certificates.crt'

load_dotenv("tok.env")
TOKEN = os.getenv("TINKOFF_TOKEN")
SBER_UID = "a78b8349-a1dc-447d-9277-1d75826d089a"

print("\n--- СКАНИРОВАНИЕ ОБНОВЛЕННОГО ДОСТУПА ---")

try:
    # Подключаемся к НОВОМУ боевому адресу из документации
    with Client(TOKEN, target="invest-public-api.tbank.ru:443") as client:
        
        # 1. Запрашиваем цену и ВРЕМЯ этой цены
        price_resp = client.market_data.get_last_prices(instrument_id=[SBER_UID])
        lp = price_resp.last_prices[0]
        actual_price = lp.price.units + lp.price.nano / 1e9
        price_date = lp.time
        
        print(f"🌍 ТЕКУЩАЯ ЦЕНА В API: {actual_price} руб.")
        print(f"📅 ДАТА ЦЕНЫ В API:    {price_date.strftime('%Y-%m-%d %H:%M:%S')} UTC")
        
        if actual_price < 310:
            print("\n🚨 ВНИМАНИЕ: Цена всё еще ИСТОРИЧЕСКАЯ (305 руб). Проблема в аккаунте!")
        else:
            print("\n✅ УРА! API показывает РЕАЛЬНУЮ рыночную цену!")

        # 2. Получаем список всех счетов (ищем новый ACCOUNT_ID)
        accounts = client.users.get_accounts().accounts
        print("\n--- СПИСОК ВАШИХ СЧЕТОВ ---")
        for acc in accounts:
            print(f"🔹 Имя: {acc.name:15} | ID: {acc.id}")
            print(f"  Тип: {acc.type.name:20} | Статус: {acc.status.name}")
            print("-" * 50)

except Exception as e:
    print(f"\n❌ ОШИБКА: {e}")
