import asyncio
from sqlalchemy.ext.asyncio import AsyncSession
from app.db.session import async_session
from app.api.v1.invoices import create_invoice
from app.schemas.invoice import InvoiceCreate
from app.models.user import User

async def main():
    async with async_session() as db:
        user = User(id=1, username="admin")
        req = InvoiceCreate(
            customer_mobile="09121111111",
            invoice_number_override="999",
            gold_spot_price=1000000,
            making_fee_percent=5,
            total_amount_override=500000,
            items=[]
        )
        try:
            res = await create_invoice(req, db=db, current_user=user)
            print("SUCCESS", res)
        except Exception as e:
            print("ERROR", type(e), e)

asyncio.run(main())
