from fastapi import FastAPI

from .contract import contract_router
from .db import init_db
from .user import user_router, get_auth_router
from .entity import entity_router
from .template import template_router
# from .order import order_router

app = FastAPI(root_path="/api/v1")


@app.on_event("startup")
async def on_startup():
    await init_db()


app.include_router(get_auth_router(), prefix="/auth", tags=["auth"], )
app.include_router(user_router, prefix="/users", tags=["users"], )
app.include_router(entity_router, prefix="/entity", tags=["entity"], )
app.include_router(template_router, prefix="/template", tags=["template"], )
app.include_router(contract_router, prefix="/contract", tags=["contract"], )
# app.include_router(order_router, prefix="/order", tags=["order"], )

if __name__ == '__main__':
    import uvicorn
    uvicorn.run("main:app", host='0.0.0.0', port=8000, reload=True)
