-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
45 lines (40 loc) · 2.03 KB
/
main.py
File metadata and controls
45 lines (40 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import logging
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from routes.main_routes import router as main_router
from routes.folder_routes import router as folder_router
from routes.file_routes import router as file_router
from routes.tags_gen_routes import router as tagsgen_router
from routes.docs_retrieval_routes import router as docs_retrieval_router
from routes.pic_routes import router as pic_router
from routes.categories_routes import router as categories_router
from exceptions.exc_register import register_exception_handlers
logging.getLogger("uvicorn.error").propagate = False
logging.getLogger("uvicorn.access").propagate = False
logging.getLogger("uvicorn.error").setLevel(logging.CRITICAL)
logging.getLogger("uvicorn.access").setLevel(logging.WARNING)
app = FastAPI(
title="File Manager Backend Services",
description="A simple and scalable File Manager Application that provides core file and folder management functionality. This service is designed to support hierarchical storage, soft deletion, and future extensibility such as file search capabilities.",
version="0.0.1"
)
register_exception_handlers(app)
# Add CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # Allows all origins
allow_credentials=True,
allow_methods=["*"], # Allows all methods
allow_headers=["*"], # Allows all headers
)
# Register routers
app.include_router(main_router, prefix="", tags=["Main Services"])
app.include_router(pic_router, prefix="/pic", tags=["PIC Management"])
app.include_router(categories_router, prefix="/category", tags=["Categories Management"])
app.include_router(folder_router, prefix="/folder", tags=["Folder Management"])
app.include_router(file_router, prefix="/file", tags=["File Management"])
app.include_router(tagsgen_router, prefix="/tags", tags=["Tags Generation"])
app.include_router(docs_retrieval_router, prefix="/retrieval", tags=["Docs Retrieval"])
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=2799, reload=True)