import asyncio
from sqlalchemy import select

from app.core.database import AsyncSessionLocal
from app.models.models import Customer, DeviceCredential, MikrotikDevice, OLTDevice


async def main():
    async with AsyncSessionLocal() as db:
        customer = (await db.execute(select(Customer).order_by(Customer.id.desc()).limit(1))).scalar_one()
        olt = await db.get(OLTDevice, customer.olt_device_id) if customer.olt_device_id else None
        mikrotik = await db.get(MikrotikDevice, customer.mikrotik_device_id) if customer.mikrotik_device_id else None
        olt_credential = await db.get(DeviceCredential, olt.credential_id) if olt and olt.credential_id else None
        print("psb_ready=" + str(bool(customer.ont_sn and customer.olt_port and customer.onu_id)).lower())
        print("olt_target=" + str(bool(olt and olt_credential and olt_credential.is_active)).lower())
        print("mikrotik_target=" + str(bool(mikrotik and mikrotik.credential_id)).lower())
        print("olt_adapter=missing")
        print("mikrotik_adapter=missing")
        print("provisioning_contract=missing")


asyncio.run(main())
