6689351ef0
- новая вкладка: заявки интервала на карте, выбор заявки кликом/инспектором, расчёт слотов покрытия, бронирование и снятие брони - выбор заявки без выпадающего списка (не масштабируется на ~10к): все заявки на карте, панель справа с кнопкой «Выбрать», имя выбранной заявки в тулбаре, кнопка «Сброс», фильтр заявок по интервалу - бронь отмечаем по ответу POST booking/request (by-request отдаёт слот в чужом cycle-фрейме — ключ не совпадал, бейдж «бронь» не появлялся) - подсветка и автоскролл активной строки по клику на слот (ручной scrollBy) - меню выбора при плотном наложении слотов (SlotPickMenu); контур заявки pickable:false, чтобы не «съедать» меню; панель не закрывается при выборе - фильтр отображения по суткам (SlotDaySelector) - gateway: маршрут slots (/api/pcp-slots/**) - карточка полосы обзора (swath): КА и виток в инспекторе
106 lines
4.3 KiB
YAML
106 lines
4.3 KiB
YAML
spring:
|
||
boot:
|
||
admin:
|
||
client:
|
||
instance:
|
||
service-base-url: ${pcp.services.gateway}
|
||
management-base-url: ${pcp.services.gateway}
|
||
cloud:
|
||
gateway:
|
||
server:
|
||
# WebFlux-вариант Spring Cloud Gateway (Boot 4 / Spring Cloud 2025.1).
|
||
webflux:
|
||
# CORS теперь живёт ТОЛЬКО здесь — единая точка на edge. Раньше дублировался
|
||
# per-service (pcp-ui-service/WebConfig.kt), но после сворачивания фронта на
|
||
# gateway браузер ходит к бэкендам строго через него. Страховка от cross-origin
|
||
# к самому gateway (dev напрямую, LAN-адрес рабочей станции): allowedOriginPatterns
|
||
# "*" совместим с allowCredentials=true (в отличие от allowedOrigins "*").
|
||
globalcors:
|
||
cors-configurations:
|
||
'[/**]':
|
||
allowedOriginPatterns: "*"
|
||
allowedMethods: "*"
|
||
allowedHeaders: "*"
|
||
allowCredentials: true
|
||
maxAge: 3600
|
||
routes:
|
||
# --- Доменные сервисы. Префикс /api/pcp-<x> СРЕЗАЕТСЯ (StripPrefix=2 убирает
|
||
# 2 сегмента: api + pcp-<x>), т.е. /api/pcp-tgu/api/plans -> бэкенд /api/plans.
|
||
# Это ровно семантика прежнего vite-rewrite. Цели берём из реестра pcp.services.*.
|
||
- id: tgu
|
||
uri: ${pcp.services.tgu}
|
||
predicates:
|
||
- Path=/api/pcp-tgu/**
|
||
filters:
|
||
- StripPrefix=2
|
||
- id: ballistics
|
||
uri: ${pcp.services.ballistics}
|
||
predicates:
|
||
- Path=/api/pcp-ballistics/**
|
||
filters:
|
||
- StripPrefix=2
|
||
- id: mission
|
||
uri: ${pcp.services.mission}
|
||
predicates:
|
||
- Path=/api/pcp-mission/**
|
||
filters:
|
||
- StripPrefix=2
|
||
- id: request
|
||
uri: ${pcp.services.request}
|
||
predicates:
|
||
- Path=/api/pcp-request/**
|
||
filters:
|
||
- StripPrefix=2
|
||
- id: complex
|
||
uri: ${pcp.services.complex-mission-service}
|
||
predicates:
|
||
- Path=/api/pcp-complex/**
|
||
filters:
|
||
- StripPrefix=2
|
||
- id: slots
|
||
uri: ${pcp.services.slots}
|
||
predicates:
|
||
- Path=/api/pcp-slots/**
|
||
filters:
|
||
- StripPrefix=2
|
||
# --- Станции: путь СОХРАНЯЕМ (в vite было без rewrite) — без StripPrefix.
|
||
- id: stations
|
||
uri: ${pcp.services.stations}
|
||
predicates:
|
||
- Path=/api/stations/**
|
||
# Catch-all /api/** -> pcp-ui-service СНЯТ: фронт переведён на источники напрямую
|
||
# (tgu/баллистика/mission), ui-service выводится из эксплуатации. См.
|
||
# docs/план-перевода-с-pcp-ui-service.md и задачу #40 бэклога. Любой не-матчнутый
|
||
# /api/** теперь честно отдаёт 404 на gateway, а не молча уходит в умирающий сервис.
|
||
|
||
# Валидация JWT на edge. По умолчанию ВЫКЛЮЧЕНА (anonymous, как сейчас работает фронт).
|
||
# Для закрытого контура: GATEWAY_JWT_ENABLED=true И задать issuer через env
|
||
# SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=<realm new-start>.
|
||
# Issuer намеренно НЕ объявлен здесь: пустое значение заставило бы автоконфиг поднимать
|
||
# JwtDecoder и падать на старте.
|
||
gateway:
|
||
security:
|
||
jwt-enabled: ${GATEWAY_JWT_ENABLED:false}
|
||
|
||
management:
|
||
endpoints:
|
||
web:
|
||
exposure:
|
||
include: health,info,metrics,prometheus
|
||
|
||
---
|
||
spring:
|
||
config:
|
||
activate:
|
||
on-profile: local
|
||
server:
|
||
port: ${pcp.ports.gateway:7080}
|
||
|
||
---
|
||
spring:
|
||
config:
|
||
activate:
|
||
on-profile: dev
|
||
server:
|
||
port: ${pcp.ports.gateway:8080}
|