Repository navigation
Current State Chat
plutogr edited this page May 23, 2026
·
2 revisions
Обновлено: 2026-05-23
Chat сервис предоставляет:
- REST-историю сообщений по заявке
- SignalR realtime чат по заявке
- проверку доступа к заявке через Booking gRPC
TravelAgency.Chat.APITravelAgency.Chat.ApplicationTravelAgency.Chat.DomainTravelAgency.Chat.InfrastructureTravelAgency.Chat.UnitTestsTravelAgency.Chat.IntegrationTests
Service route prefix: /chat
Public route via Gateway: /api/v1/chat
| Method | Service route | Public route | Auth | Response |
|---|---|---|---|---|
| GET | /chat/booking/{bookingId}/messages |
/api/v1/chat/booking/{bookingId}/messages |
RequireAuthenticated |
IReadOnlyList<ChatMessageDto> |
Hub route (service): /hubs/chat
Hub auth policy: RequireAuthenticated
| Method | Params | Behavior |
|---|---|---|
JoinBookingGroup |
bookingId: Guid |
проверяет доступ (Booking gRPC) и добавляет соединение в группу booking_{bookingId}
|
SendMessage |
bookingId: Guid, text: string, attachments?: IReadOnlyList<string>
|
проверяет доступ, сохраняет сообщение, шлёт MessageReceived в группу |
| Event | Payload |
|---|---|
MessageReceived |
ChatMessageDto |
id, bookingId, senderId, senderName, senderRole, text, attachments?, createdAt
Id, BookingId, SenderId, SenderName, SenderRole, Text, Attachments, CreatedAt
ClientManagerAdminSystem
Chat вызывает Booking RPC:
ValidateBookingAccess(booking_id, user_id) -> has_access
Используется:
- в REST query на чтение сообщений
- в SignalR методах
JoinBookingGroupиSendMessage
Критичные параметры:
ConnectionStrings__ChatDb-
ConnectionStrings__Redis(optional) GrpcClients__BookingServiceUrlGrpcSettings__InternalServiceToken-
JwtSettings__SigningKey,JwtSettings__Issuer,JwtSettings__Audience
| Method | Route | Notes |
|---|---|---|
| GET | /health/live |
liveness |
| GET | /health/ready |
db + optional redis |
Frontend hub URL и gateway transform path должны быть синхронизированы для корректного realtime-трафика.
- Обзор проекта
- Архитектура и зависимости
- API-карта
- Gateway
- Identity
- Catalog
- Booking
- Chat
- Media
- gRPC контракты
- Архитектура
- Детали реализации
- Сервис API Gateway
- Сервис Identity
- Сервис Catalog
- ADR-001. Модель тура
- Сервис Booking
- Сервис Chat
- Сервис Media
- Содержимое сайта
- Стек и версии
- Глоссарий
- Соответствие экранов и API