feat: creating chats for cards and clients, sending and deleting text messages

This commit is contained in:
2025-03-27 15:13:10 +04:00
parent a466e46f28
commit 2cdccb33ca
25 changed files with 928 additions and 7 deletions

28
main.py
View File

@@ -1,16 +1,37 @@
import asyncio
import platform
from contextlib import asynccontextmanager
from aiokafka.errors import KafkaConnectionError
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import platform
from starlette.staticfiles import StaticFiles
import routers
from constants import API_ROOT
from external.kafka import producer, consume_messages
origins = [
'http://localhost:5173'
]
app = FastAPI(separate_input_output_schemas=False)
@asynccontextmanager
async def lifespan(app: FastAPI):
try:
await producer.start()
except KafkaConnectionError as e:
print(e)
consumer_task = asyncio.create_task(consume_messages())
yield
await producer.stop()
consumer_task.cancel()
app = FastAPI(lifespan=lifespan, separate_input_output_schemas=False)
if platform.system() == 'Linux':
import uvicorn.workers
@@ -58,6 +79,7 @@ routers_list = [
routers.board_router,
routers.status_router,
routers.card_tag_router,
routers.chat_router,
]
for router in routers_list:
app.include_router(router)