from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware import platform from starlette.staticfiles import StaticFiles import routers from constants import API_ROOT origins = [ 'http://localhost:5173' ] app = FastAPI(separate_input_output_schemas=False) if platform.system() == 'Linux': import uvicorn.workers class Worker(uvicorn.workers.UvicornWorker): CONFIG_KWARGS = { 'root_path': API_ROOT } app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) routers_list = [ routers.auth_router, routers.card_router, routers.card_group_router, routers.client_router, routers.service_router, routers.product_router, routers.barcode_router, routers.shipping_warehouse_router, routers.position_router, routers.user_router, routers.role_router, routers.marketplace_router, routers.payroll_router, routers.time_tracking_router, routers.billing_router, routers.task_router, routers.statistics_router, routers.work_shifts_router, routers.work_shifts_planning_router, routers.transaction_router, routers.shipping_router, routers.department_router, routers.residues_router, routers.project_router, routers.board_router, routers.status_router, ] for router in routers_list: app.include_router(router) app.mount("/static", StaticFiles(directory="static"), name="static")