Repository navigation
Current State Catalog
plutogr edited this page May 23, 2026
·
1 revision
Обновлено: 2026-05-23
Catalog сервис хранит и отдаёт:
- туры
- направления
- прайс-периоды по турам
и предоставляет gRPC snapshot тура для Booking.
TravelAgency.Catalog.APITravelAgency.Catalog.ApplicationTravelAgency.Catalog.DomainTravelAgency.Catalog.InfrastructureTravelAgency.Catalog.UnitTestsTravelAgency.Catalog.IntegrationTests
Service routes: /catalog/*
Public routes via Gateway: /api/v1/catalog/*
| Method | Service route | Public route | Auth | Request | Response |
|---|---|---|---|---|---|
| GET | /catalog/tours |
/api/v1/catalog/tours |
Anonymous |
ToursFilterDto (query) |
PagedResult<TourSummaryDto> |
| GET | /catalog/tours/{id} |
/api/v1/catalog/tours/{id} |
Anonymous | - | TourDto |
| POST | /catalog/tours |
/api/v1/catalog/tours |
ManagerOrAdmin |
CreateTourRequest |
TourDto (201) |
| PUT | /catalog/tours/{id} |
/api/v1/catalog/tours/{id} |
ManagerOrAdmin |
UpdateTourRequest |
TourDto |
| PATCH | /catalog/tours/{id}/prices |
/api/v1/catalog/tours/{id}/prices |
ManagerOrAdmin |
UpdateTourPricesRequest |
TourDto |
| DELETE | /catalog/tours/{id} |
/api/v1/catalog/tours/{id} |
ManagerOrAdmin |
- | 204 |
| GET | /catalog/directions |
/api/v1/catalog/directions |
Anonymous | - | List<DirectionDto> |
ToursFilterDto(country?, directionId?, dateFrom?, dateTo?, minPrice?, maxPrice?, tourType?, isActive?, sortBy, sortDirection, page, pageSize)CreateTourRequest(title, description, tourType, country, durationDays, imageUrl?, directionId?)UpdateTourRequest(title, description, tourType, country, durationDays, imageUrl?, directionId?)UpdateTourPricesRequest(prices: List<TourPriceRequest>)TourPriceRequest(validFrom, validTo, pricePerPerson, currency, availableSeats)
TourSummaryDtoTourDtoTourPriceDtoDirectionDtoPagedResult<T>
Поля: Id, Title, Description, TourType, DirectionId, Country, DurationDays, ImageUrl, IsActive, CreatedAt, UpdatedAt, Prices
Поведение: Create, Update, SetPrices, Deactivate, Activate
Поля: Id, TourId, ValidFrom, ValidTo, PricePerPerson, Currency, AvailableSeats
Поля: Id, Name, Country, Description, IsActive, CreatedAt, UpdatedAt
-
Beach,Mountain,City,Cultural,Adventure,Cruise,Safari
- Service:
CatalogService - RPC:
GetTourSnapshot(GetTourSnapshotRequest) -> TourSnapshotResponse - Используется Booking сервисом
См. gRPC контракты.
Критичные параметры:
ConnectionStrings__CatalogDb-
JwtSettings__SigningKey,JwtSettings__Issuer,JwtSettings__Audience GrpcSettings__InternalServiceToken
| Method | Route |
|---|---|
| GET | /health/live |
| GET | /health/ready |
- Обзор проекта
- Архитектура и зависимости
- API-карта
- Gateway
- Identity
- Catalog
- Booking
- Chat
- Media
- gRPC контракты
- Архитектура
- Детали реализации
- Сервис API Gateway
- Сервис Identity
- Сервис Catalog
- ADR-001. Модель тура
- Сервис Booking
- Сервис Chat
- Сервис Media
- Содержимое сайта
- Стек и версии
- Глоссарий
- Соответствие экранов и API