46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
import uvicorn
|
|
import logging
|
|
from routes import routes
|
|
from db.database import init_db
|
|
from app.models.card import Card # Assuming you have a Card model
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format="%(asctime)s - %(levelname)s - %(message)s",
|
|
handlers=[logging.StreamHandler(), logging.FileHandler("app.log")],)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
app = FastAPI(
|
|
title="CCR Cards Management API",
|
|
description="API for managing CCR Cards Inventory, Orders, and more.",
|
|
version="0.1.0",
|
|
)
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
app.include_router(routes.router)
|
|
|
|
|
|
@app.on_event("startup")
|
|
async def on_startup():
|
|
init_db()
|
|
logger.info("Database initialized successfully")
|
|
|
|
|
|
@app.on_event("shutdown")
|
|
async def on_shutdown():
|
|
logger.info("Database connection closed")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
uvicorn.run(app, host="0.0.0.0", port=8000, reload=True)
|