-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.py
More file actions
67 lines (58 loc) · 2.02 KB
/
main.py
File metadata and controls
67 lines (58 loc) · 2.02 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from fastapi import FastAPI, APIRouter
from tortoise.contrib.fastapi import register_tortoise
import os
from fastapi.middleware.cors import CORSMiddleware
from app.routes.users import router as user_router
from app.routes.notes import router as note_router
from app.routes.organizations import router as organization_router
from app.routes.memberships import router as membership_router
from app.routes.chats import router as chat_router
from app.routes.whatsapps import router as whatsapp_router
from app.routes.documents import router as document_router
app = FastAPI(title="API for Mindsync", version="1.0.0")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
POSTGRES_USER = os.getenv("POSTGRES_USER", "postgres")
POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD", "postgres")
POSTGRES_DB = os.getenv("POSTGRES_DB", "mindsync")
DATABASE_URL = os.getenv(
"DATABASE_URL",
f"postgres://{POSTGRES_USER}:{POSTGRES_PASSWORD}@localhost:5432/{POSTGRES_DB}",
)
register_tortoise(
app,
db_url=DATABASE_URL,
modules={
"models": [
"app.models.users",
"app.models.notes",
"app.models.organizations",
"app.models.memberships",
"app.models.documents",
"app.models.chats",
"app.models.whatsapps",
"app.models.documents",
]
},
generate_schemas=True,
add_exception_handlers=True,
)
# Create a main API router with '/api' prefix
api_router = APIRouter(prefix="/api")
# Include the sub-routers with their own prefix
api_router.include_router(user_router)
api_router.include_router(note_router)
api_router.include_router(organization_router)
api_router.include_router(membership_router)
api_router.include_router(chat_router)
api_router.include_router(whatsapp_router)
api_router.include_router(document_router)
# Include the main API router in the app
app.include_router(api_router)
@app.get("/")
async def root():
return {"message": "Welcome To Mindsync API"}