92 lines
3.2 KiB
Python
92 lines
3.2 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Complete KYC for User 55 with test data
|
|
"""
|
|
import asyncio
|
|
import sys
|
|
import os
|
|
import json
|
|
from datetime import datetime
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
|
from sqlalchemy.orm import sessionmaker
|
|
from app.services.auth_service import AuthService
|
|
from app.core.config import settings
|
|
from app.schemas.auth import UserKYCComplete
|
|
|
|
async def complete_kyc_for_user_55():
|
|
# Create database connection
|
|
engine = create_async_engine(settings.DATABASE_URL, echo=False)
|
|
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
|
|
|
|
async with async_session() as db:
|
|
print("🔍 Completing KYC for User 55")
|
|
|
|
# Prepare KYC data
|
|
kyc_data = UserKYCComplete(
|
|
phone_number="+36301234567",
|
|
address_zip="1234",
|
|
address_city="Budapest",
|
|
address_street_name="Teszt utca",
|
|
address_street_type="utca",
|
|
address_house_number="1",
|
|
address_hrsz=None,
|
|
mothers_last_name="Teszt",
|
|
mothers_first_name="Anya",
|
|
birth_place="Budapest",
|
|
birth_date=datetime(1990, 1, 1).date(),
|
|
identity_docs={
|
|
"ID_CARD": {
|
|
"number": "123456AB",
|
|
"expiry_date": "2030-01-01"
|
|
}
|
|
},
|
|
ice_contact={
|
|
"name": "Teszt ICE Kapcsolat",
|
|
"phone": "+36309876543",
|
|
"relationship": "családtag"
|
|
},
|
|
preferred_currency="HUF"
|
|
)
|
|
|
|
print(f"KYC data: {kyc_data.model_dump_json(indent=2)}")
|
|
|
|
# Call the complete_kyc method
|
|
try:
|
|
user = await AuthService.complete_kyc(db, 55, kyc_data)
|
|
|
|
if user:
|
|
print("✅ KYC completion successful!")
|
|
print(f"User 55 status after KYC:")
|
|
print(f" - is_active: {user.is_active}")
|
|
print(f" - person_id: {user.person_id}")
|
|
print(f" - scope_id: {user.scope_id}")
|
|
|
|
# Check person details
|
|
from sqlalchemy import select
|
|
from app.models.identity import Person
|
|
|
|
result = await db.execute(select(Person).where(Person.id == user.person_id))
|
|
person = result.scalar_one_or_none()
|
|
|
|
if person:
|
|
print(f"Person {person.id} details:")
|
|
print(f" - phone: {person.phone}")
|
|
print(f" - address_id: {person.address_id}")
|
|
print(f" - is_active: {person.is_active}")
|
|
|
|
return True
|
|
else:
|
|
print("❌ KYC completion failed - user not found")
|
|
return False
|
|
|
|
except Exception as e:
|
|
print(f"❌ KYC completion error: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
result = asyncio.run(complete_kyc_for_user_55())
|
|
sys.exit(0 if result else 1) |