64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
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.deal_router,
 | 
						|
    routers.deal_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")
 |