feat(chat): add in-message attachments gallery and multi-file send
All checks were successful
CI / test (push) Successful in 19s
All checks were successful
CI / test (push) Successful in 19s
This commit is contained in:
@@ -3,8 +3,10 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.auth.service import get_current_user
|
||||
from app.database.session import get_db
|
||||
from app.messages.repository import get_message_by_id
|
||||
from app.media.schemas import AttachmentCreateRequest, AttachmentRead, ChatAttachmentRead, UploadUrlRequest, UploadUrlResponse
|
||||
from app.media.service import generate_upload_url, list_attachments_for_chat, store_attachment_metadata
|
||||
from app.realtime.service import realtime_gateway
|
||||
from app.users.models import User
|
||||
|
||||
router = APIRouter(prefix="/media", tags=["media"])
|
||||
@@ -24,7 +26,11 @@ async def create_attachment_metadata(
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: User = Depends(get_current_user),
|
||||
) -> AttachmentRead:
|
||||
return await store_attachment_metadata(db, user_id=current_user.id, payload=payload)
|
||||
attachment = await store_attachment_metadata(db, user_id=current_user.id, payload=payload)
|
||||
message = await get_message_by_id(db, attachment.message_id)
|
||||
if message:
|
||||
await realtime_gateway.publish_chat_updated(chat_id=message.chat_id)
|
||||
return attachment
|
||||
|
||||
|
||||
@router.get("/chats/{chat_id}/attachments", response_model=list[ChatAttachmentRead])
|
||||
|
||||
Reference in New Issue
Block a user