Обновление контейнера бэка на 3000 порту:
docker run -d -p 3000:3000 -e PGRST_DB_ANON_ROLE=developer -e PGRST_DB_SCHEMAS='nsi,gis_api,entity,gis_api_public,gis_api_private,hwm,gis,diag,command_api,query_api' -e PGRST_LOG_LEVEL='info' -e PGRST_DB_URI=postgres://developer:<password>@10.0.41.61:5432/SKDF --name skdf-postgrest postgrest/postgrest
Обновление контейнера бэка на 3001 порту:
docker run -d -p 3001:3000 -e PGRST_DB_ANON_ROLE=developer -e PGRST_DB_SCHEMAS='gis_api_public,base_gis' -e PGRST_LOG_LEVEL='info' -e PGRST_DB_URI=postgres://developer:<password>@172.19.22.104:5432/skdf --name skdf-postgrest-2 postgrest/postgrest
- node = 16.14.2
- yarn = 1.22.19
- Папка services - сервисы API Geoserver / API Backend;
- Папка layers - содержатся вся логика и вспомогательные компоненты для работы со слоями;
- Папка interactions - логика и компоненты работы с контейнером карты (типа Zoom, Rotate, DoubleClick, KeyboardPress etc.);
- Папка hooks - касмотные хуки;
- Папка features - содержатся вся логика и вспомогательные компоненты для работы со фичами;
- Папка controls - содержатся вся логика и вспомогательные компоненты используются компонентой GeoMap (аналог в ванильном react-приложении;
- Папка components - содержатся тупые компоненты, которые будут часто переиспользоваться ВНУТРИ пакета и не будут экспортироваться при билде;
В корне проекта команду выполняем yarn link, а после выполняем yarn watch.
Перед запуском pet-проекта в корне проекта выполняем команду yarn link skdf-gis-component, и далее yarn start
- master - только для избранных (вызывает yarn publish - то есть публикует пакет);
- development - рабочая ветка куда попадают все features/bugs мерджем;
- feature-* - ветка с фичами;
- hotfix-* - ветка с фиксами багов;
- release-* - запусает мердж в master (только с тэгом!);
Для осуществления запросов из пакета к геосерверу, бекенду скдф.рф и бекенду postgrest необходимо настроить proxy на веб сервере основного проекта СКДФ для следующих точек:
- Исходящие запросы с
http://<url проекта>/api-geoserverперенаправить наhttp://<geoserver url>:<geoserver port>/geoserver. - Исходящие запросы с
http://<url проекта>/api-skdfперенаправить наhttps://xn--p1a.xn--d1aluo.xn--p1ai. - Исходящие запросы с
http://<url проекта>/api-pgперенаправить наhttp://172.19.22.106:3000. - Исходящие запросы с
http://<url проекта>/api-imageперенаправить наhttp://10.0.41.92:6200/api. - Исходящие запросы с
http://<url проекта>/api-pg-graphперенаправить наhttp://172.19.22.106:3001.
import { MapContainer } from 'skdf-gis-component';
/*...*/
<Route path="/map/:id?" render={(rest) => <MapContainer routerRest={rest} />} userAuth={<Данные об авторизации пользователя>} />;export interface MapPassportTypes {
roadId: string | number;
isEditGeom?: boolean;
}
У компоненты MapPassport есть один обязательный параметр roadId
import { MapPassport } from 'skdf-gis-component';
/*...*/
<MapPassport roadId={<id дороги>} isEditGeom={<boolean>} />;