@golemio/pid 6.0.1-dev.2901184022 → 6.0.1-dev.2912471131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/docs/architecture/diagrams/context.mmd +114 -0
  2. package/docs/architecture/diagrams/context.svg +1 -0
  3. package/docs/architecture/diagrams/platform-ingestion.mmd +94 -0
  4. package/docs/architecture/diagrams/platform-ingestion.svg +1 -0
  5. package/docs/architecture/diagrams/platform-serving.mmd +81 -0
  6. package/docs/architecture/diagrams/platform-serving.svg +1 -0
  7. package/docs/architecture/index.md +105 -0
  8. package/docs/assets/logos/README.md +38 -0
  9. package/docs/assets/logos/arriva.svg +9 -0
  10. package/docs/assets/logos/azure-blob-storage.svg +1 -0
  11. package/docs/assets/logos/azure-kubernetes-service.svg +1 -0
  12. package/docs/assets/logos/azure-table-storage.svg +1 -0
  13. package/docs/assets/logos/catch.png +0 -0
  14. package/docs/assets/logos/cd-telematika.png +0 -0
  15. package/docs/assets/logos/ceske-drahy.svg +15 -0
  16. package/docs/assets/logos/chaps.png +0 -0
  17. package/docs/assets/logos/citymove.png +0 -0
  18. package/docs/assets/logos/cloudflare.png +0 -0
  19. package/docs/assets/logos/dpp.svg +119 -0
  20. package/docs/assets/logos/envoy.svg +1 -0
  21. package/docs/assets/logos/golemio.svg +1 -0
  22. package/docs/assets/logos/google-maps.svg +78 -0
  23. package/docs/assets/logos/grafana-loki.png +0 -0
  24. package/docs/assets/logos/grafana.svg +57 -0
  25. package/docs/assets/logos/mikroelektronika.png +0 -0
  26. package/docs/assets/logos/nodejs.svg +39 -0
  27. package/docs/assets/logos/pid-litacka.svg +17 -0
  28. package/docs/assets/logos/pid.svg +1 -0
  29. package/docs/assets/logos/postgresql.svg +22 -0
  30. package/docs/assets/logos/rabbitmq.svg +54 -0
  31. package/docs/assets/logos/ropid.svg +1 -0
  32. package/docs/assets/logos/seznam.svg +115 -0
  33. package/docs/assets/logos/telmax.png +0 -0
  34. package/docs/assets/logos/typescript.svg +1 -0
  35. package/docs/assets/logos/valkey.svg +58 -0
  36. package/docs/assets/logos/varnish.svg +21 -0
  37. package/docs/asyncapi.yaml +5 -3
  38. package/docs/cache/types/redis.md +1 -1
  39. package/docs/implementation_documentation.md +40 -42
  40. package/docs/index.md +382 -0
  41. package/docs/jis/index.md +84 -94
  42. package/docs/openapi-input.yaml +3 -2
  43. package/docs/openapi-output.yaml +3 -1
  44. package/package.json +2 -2
  45. package/docs/architecture/pid_architecture_overview.drawio +0 -177
@@ -0,0 +1,58 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" viewBox="0 0 187.9 63.5">
3
+ <defs>
4
+ <style>
5
+ .cls-1 {
6
+ fill: #1a2026;
7
+ }
8
+
9
+ .cls-2 {
10
+ fill: #6983ff;
11
+ fill-rule: evenodd;
12
+ }
13
+ </style>
14
+ </defs>
15
+ <!-- Generator: Adobe Illustrator 28.6.0, SVG Export Plug-In . SVG Version: 1.2.0 Build 709) -->
16
+ <g>
17
+ <g id="svg2455">
18
+ <sodipodi:namedview id="namedview2457" bordercolor="#000000" borderopacity="0.25" inkscape:current-layer="layer1" inkscape:cx="117.14727" inkscape:cy="87.167995" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" inkscape:pagecheckerboard="0" inkscape:pageopacity="0.0" inkscape:showpageshadow="2" inkscape:window-height="758" inkscape:window-maximized="0" inkscape:window-width="1368" inkscape:window-x="0" inkscape:window-y="132" inkscape:zoom="3.0687869" pagecolor="#ffffff" showgrid="false" showguides="true">
19
+ <sodipodi:guide id="guide4591" inkscape:locked="false" orientation="0,-1" position="85.88451,-88.306671"/>
20
+ <sodipodi:guide id="guide4593" inkscape:locked="false" orientation="0,-1" position="152.40791,-79.301081"/>
21
+ <sodipodi:guide id="guide6053" inkscape:locked="false" orientation="0,-1" position="84.903318,-108.01469"/>
22
+ <sodipodi:guide id="guide6055" inkscape:locked="false" orientation="0,-1" position="88.492521,-121.95736"/>
23
+ <sodipodi:guide id="guide7521" inkscape:locked="false" orientation="0,-1" position="80.071701,-130.37817"/>
24
+ <sodipodi:guide id="guide7523" inkscape:locked="false" orientation="0,-1" position="79.933655,-148.60028"/>
25
+ <sodipodi:guide id="guide7525" inkscape:locked="false" orientation="1,0" position="90.97735,-101.25042"/>
26
+ <sodipodi:guide id="guide7583" inkscape:locked="false" orientation="1,0" position="157.51562,-109.5332"/>
27
+ <sodipodi:guide id="guide11598" inkscape:locked="false" orientation="0,-1" position="92.724837,-180.67103"/>
28
+ <sodipodi:guide id="guide11782" inkscape:locked="false" orientation="0,-1" position="74.966614,-57.139811"/>
29
+ <sodipodi:guide id="guide11784" inkscape:locked="false" orientation="0,-1" position="106.35321,-40.47578"/>
30
+ <sodipodi:guide id="guide11786" inkscape:locked="false" orientation="1,0" position="79.658423,-50.50655"/>
31
+ <sodipodi:guide id="guide12011" inkscape:locked="false" orientation="0,-1" position="-7.6305961,15.568611"/>
32
+ <sodipodi:guide id="guide12013" inkscape:locked="false" orientation="0,-1" position="9.5993819,6.5259211"/>
33
+ <sodipodi:guide id="guide12015" inkscape:locked="false" orientation="1,0" position="16.075899,15.813001"/>
34
+ <sodipodi:guide id="guide12017" inkscape:locked="false" orientation="1,0" position="18.031074,-0.31719907"/>
35
+ <sodipodi:guide id="guide12023" inkscape:locked="false" orientation="1,0" position="20.088692,0.51731095"/>
36
+ <sodipodi:guide id="guide12025" inkscape:locked="false" orientation="1,0" position="1.9830038,10.690981"/>
37
+ <sodipodi:guide id="guide12027" inkscape:locked="false" orientation="1,0" position="-2.4354719e-08,21.381961"/>
38
+ <sodipodi:guide id="guide12029" inkscape:locked="false" orientation="1,0" position="64.232088,25.692832"/>
39
+ <sodipodi:guide id="guide12031" inkscape:locked="false" orientation="1,0" position="66.301309,35.952722"/>
40
+ <sodipodi:guide id="guide12033" inkscape:locked="false" orientation="0,-1" position="8.4493209,1.896791"/>
41
+ <sodipodi:guide id="guide12035" inkscape:locked="false" orientation="0,-1" position="7.7595809,-0.086209066"/>
42
+ <sodipodi:guide id="guide12037" inkscape:locked="false" orientation="0,-1" position="12.070459,20.347351"/>
43
+ <sodipodi:guide id="guide12039" inkscape:locked="false" orientation="0,-1" position="11.811806,22.416572"/>
44
+ </sodipodi:namedview>
45
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
46
+ <path id="path11949" class="cls-2" d="M15.2,50l-9.4-5.9v-25L28.8,6l22.3,13.1v26.3l-22.7,12.8-7.9-4.9v-12l-4.3-2.7v-13.6l12.4-7.1,12.1,7.1v14.2l-9.6,5.4v-5.7c2.9-1.1,4.9-3.9,4.9-7.3s-3.4-7.8-7.6-7.8-7.6,3.5-7.6,7.8,2.1,6.2,4.9,7.3v10.9l2.7,1.7,16.8-9.5v-19.7l-16.6-9.8-17.1,9.8v18.5l3.6,2.3v6.8ZM28.5,28.1c1.9,0,3.4,1.6,3.4,3.6s-1.5,3.6-3.4,3.6-3.4-1.6-3.4-3.6,1.5-3.6,3.4-3.6Z"/>
47
+ <g id="text11953">
48
+ <path id="path40150" class="cls-1" d="M85.2,11.4l-12.1,33.8h-4l-12.1-33.8h4.1l7.9,22.3c.3.9.6,1.8.9,2.6.3.8.5,1.6.7,2.4.2.8.4,1.5.5,2.2.2-.7.3-1.4.5-2.2.2-.8.4-1.6.7-2.4.3-.8.6-1.7.9-2.6l7.9-22.2h4.2Z"/>
49
+ <path id="path40152" class="cls-1" d="M94,19.5c3,0,5.3.7,6.7,2,1.5,1.4,2.2,3.5,2.2,6.5v17.2h-2.8l-.7-3.7h-.2c-.7.9-1.4,1.7-2.2,2.3-.8.6-1.7,1.1-2.7,1.4-1,.3-2.2.5-3.7.5s-2.9-.3-4.1-.8c-1.2-.5-2.1-1.4-2.8-2.5-.7-1.1-1-2.5-1-4.2,0-2.5,1-4.5,3-5.8,2-1.4,5.1-2.1,9.2-2.2l4.4-.2v-1.5c0-2.2-.5-3.7-1.4-4.6-.9-.9-2.3-1.3-4-1.3-1.3,0-2.6.2-3.8.6-1.2.4-2.3.8-3.4,1.4l-1.2-2.9c1.1-.6,2.5-1.1,3.9-1.5,1.5-.4,3-.6,4.7-.6h0ZM99.1,32.8l-3.9.2c-3.2.1-5.4.6-6.7,1.5s-1.9,2.2-1.9,3.9.4,2.5,1.3,3.2c.9.7,2,1,3.5,1,2.3,0,4.1-.6,5.5-1.9s2.2-3.1,2.2-5.6v-2.3Z"/>
50
+ <path id="path40154" class="cls-1" d="M112.1,45.3h-3.9V9.3h3.9v36Z"/>
51
+ <path id="path40156" class="cls-1" d="M121.3,9.3v18.7c0,.6,0,1.4,0,2.3,0,.9,0,1.7-.1,2.3h.2c.3-.4.8-1,1.4-1.8.6-.8,1.2-1.4,1.6-1.9l8.4-9h4.5l-10.2,10.8,10.9,14.5h-4.6l-9-12-3.1,2.8v9.2h-3.8V9.3h3.8Z"/>
52
+ <path id="path40158" class="cls-1" d="M148.2,19.4c2.2,0,4,.5,5.6,1.4,1.5,1,2.7,2.3,3.5,4,.8,1.7,1.2,3.7,1.2,6v2.4h-17.5c0,3,.8,5.2,2.2,6.8s3.5,2.3,6.1,2.3,3-.1,4.3-.4c1.2-.3,2.5-.7,3.8-1.3v3.4c-1.3.6-2.6,1-3.8,1.2-1.2.3-2.7.4-4.4.4-2.4,0-4.6-.5-6.4-1.5-1.8-1-3.2-2.5-4.2-4.4-1-1.9-1.5-4.3-1.5-7.1,0-2.7.5-5.1,1.4-7.1.9-2,2.2-3.5,3.9-4.6,1.7-1.1,3.7-1.6,5.9-1.6h0ZM148.2,22.6c-2.1,0-3.7.7-4.9,2-1.2,1.3-1.9,3.2-2.2,5.6h13.4c0-1.5-.3-2.8-.7-4-.4-1.2-1.1-2.1-2.1-2.7-.9-.6-2.1-1-3.6-1Z"/>
53
+ <path id="path40160" class="cls-1" d="M158.4,19.9h4.1l5.6,14.7c.3.9.6,1.7.9,2.5.3.8.5,1.5.7,2.3.2.7.4,1.4.5,2.1h.2c.2-.8.5-1.8.9-3,.4-1.3.8-2.6,1.3-3.9l5.3-14.7h4.1l-11,29.1c-.6,1.6-1.3,2.9-2.1,4.1-.8,1.2-1.7,2-2.8,2.7-1.1.6-2.5.9-4,.9s-1.4,0-1.9-.1c-.6,0-1-.2-1.4-.3v-3.1c.3,0,.7.1,1.2.2.5,0,1,0,1.5,0,1,0,1.8-.2,2.5-.6.7-.4,1.3-.9,1.8-1.6.5-.7.9-1.5,1.3-2.5l1.4-3.6-10.2-25.4Z"/>
54
+ </g>
55
+ </g>
56
+ </g>
57
+ </g>
58
+ </svg>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 344.6 149.7">
3
+ <!-- Generator: Adobe Illustrator 30.0.0, SVG Export Plug-In . SVG Version: 2.1.1 Build 123) -->
4
+ <path d="M57.54,60.9h8.54l6.49,38.96,20.26-38.96h8.89l-25.91,49.41h-9.74l-8.54-49.41h.01Z"/>
5
+ <path d="M135.16,110.31h-8.47l-1.83-11.58h-19.55l-5.93,11.58h-8.89l25.91-49.41h10.24l8.54,49.41h-.02ZM108.97,91.47h14.68l-3.53-21.67-11.15,21.67Z"/>
6
+ <path d="M148.48,60.9h20.33c9.88,0,14.33,4.66,13.91,12.85-.35,9.53-4.94,15.46-12.21,17.86l6.49,18.71h-8.75l-6.07-17.58h-10.87l-3.11,17.58h-8.4l8.68-49.41h0ZM152.58,85.4h11.15c4.87,0,9.74-2.26,10.17-10.23.42-4.66-1.83-6.92-6.64-6.92h-11.72l-2.96,17.15h0Z"/>
7
+ <path d="M199.85,76.29l-6,34.02h-8.4l8.68-49.41h7.83l15.88,34.02,6-34.02h8.4l-8.68,49.41h-7.83l-15.88-34.02h0Z"/>
8
+ <path d="M243.22,60.9h8.4l-8.68,49.41h-8.4s8.68-49.41,8.68-49.41Z"/>
9
+ <path d="M277.21,90.13l-8.47-1.55c-7.83-1.48-10.8-5.72-10.8-11.08,0-8.68,5.93-17.29,20.61-17.29,11.44,0,17.86,5.01,15.95,15.88h-8.4c1.06-6-1.98-8.54-8.33-8.54s-10.94,2.47-10.94,8.19c0,2.47,1.62,4.45,5.29,5.15l8.47,1.55c8.12,1.55,10.8,5.79,10.8,10.87,0,9.46-6.42,17.72-20.75,17.72-11.44,0-18.14-5.01-16.24-15.88h8.4c-1.06,6,2.19,8.54,8.54,8.54s11.15-2.47,11.15-8.47c0-2.4-1.55-4.38-5.29-5.08h0Z"/>
10
+ <path d="M331.19,89.28h-21.32l-3.67,21.04h-8.4l8.68-49.41h8.4l-3.74,21.04h21.32l3.74-21.04h8.4l-8.68,49.41h-8.4s3.67-21.04,3.67-21.04Z"/>
11
+ <path d="M31.88,34.11c4.77,13.22,19.37,20.06,32.58,15.29,13.22-4.78,20.06-19.36,15.29-32.58C74.97,3.59,60.38-3.25,47.16,1.52c-13.22,4.78-20.06,19.37-15.29,32.59h.01Z" fill="#0072ce"/>
12
+ <path d="M11.31,77.42c-4.99,8.84-1.88,20.05,6.96,25.04,8.84,5,20.05,1.88,25.05-6.95,4.99-8.84,1.88-20.05-6.96-25.04-8.84-4.99-20.05-1.88-25.04,6.96h0Z" fill="#0072ce"/>
13
+ <path d="M.21,45.62c-1.16,5.76,2.57,11.37,8.33,12.54,5.76,1.16,11.37-2.56,12.53-8.32,1.17-5.76-2.56-11.38-8.32-12.54-5.76-1.17-11.37,2.56-12.54,8.32Z" fill="#0072ce"/>
14
+ <g>
15
+ <path d="M81,140.63c-.39,3.52-2.76,6.61-10.41,6.61-6.74,0-9.01-2.62-9.01-5.7,0-.3.04-.69.09-1.07l2.06-16.47c.44-3.52,2.71-6.61,10.37-6.61,6.69,0,9.01,2.57,9.01,5.7,0,.3-.04.69-.09,1.07l-.22,1.93c-.09.6-.31.86-.87.86h-2.58c-.61,0-.79-.34-.7-.86l.17-1.24c.04-.26.04-.6.04-.82,0-1.93-1.44-3.09-5.03-3.09-3.94,0-5.6,1.42-5.91,3.73l-1.88,15.06c-.04.3-.04.6-.04.82,0,1.97,1.44,3.13,4.99,3.13,3.94,0,5.69-1.42,5.95-3.73l.22-2.02c.04-.56.31-.82.92-.82h2.54c.66,0,.74.34.7.82l-.31,2.7Z"/>
16
+ <path d="M98.68,117.73c.57,0,.83.26.92.81l5.08,27.54c.09.51-.13.82-.7.82h-2.71c-.57,0-.83-.3-.92-.82l-1.18-6.65h-9.23l-2.89,6.65c-.22.51-.44.82-1.05.82h-2.54c-.61,0-.74-.3-.53-.82l11.9-27.54c.26-.56.57-.81,1.14-.81h2.71ZM97.19,128.28c-.35-1.84-.44-6.35-.44-6.35-.13.39-1.23,4.55-1.97,6.26l-3.46,7.89h7.31l-1.44-7.81Z"/>
17
+ <path d="M127.64,140.63c-.4,3.52-2.76,6.61-10.41,6.61-6.74,0-9.01-2.62-9.01-5.7,0-.3.04-.69.09-1.07l2.06-16.47c.44-3.52,2.71-6.61,10.37-6.61,6.7,0,9.01,2.57,9.01,5.7,0,.3-.04.69-.09,1.07l-.22,1.93c-.09.6-.31.86-.88.86h-2.58c-.61,0-.79-.34-.7-.86l.17-1.24c.04-.26.04-.6.04-.82,0-1.93-1.44-3.09-5.03-3.09-3.94,0-5.6,1.42-5.91,3.73l-1.88,15.06c-.04.3-.04.6-.04.82,0,1.97,1.44,3.13,4.99,3.13,3.94,0,5.69-1.42,5.95-3.73l.22-2.02c.04-.56.31-.82.92-.82h2.54c.66,0,.74.34.7.82l-.31,2.7Z"/>
18
+ <path d="M138.43,129.86h11.33l1.4-11.28c.09-.6.35-.86.96-.86h2.67c.57,0,.74.26.66.86l-3.46,27.45c-.09.6-.26.86-.83.86h-2.67c-.61,0-.83-.3-.74-.86l1.57-12.61h-11.33l-1.62,12.61c-.09.56-.26.86-.88.86h-2.67c-.57,0-.83-.26-.74-.86l3.46-27.45c.09-.6.35-.86.92-.86h2.67c.61,0,.79.26.7.86l-1.4,11.28Z"/>
19
+ <path d="M159.24,146.89c-.57,0-.83-.26-.74-.86l3.46-27.45c.09-.6.35-.86.92-.86h14.96c.57,0,.83.21.74.81l-.26,1.93c-.09.6-.35.81-.92.81h-11.46l-1.09,8.66h10.72c.57,0,.79.21.7.81l-.22,1.84c-.09.56-.35.82-.92.82h-10.72l-1.27,9.91h11.94c.61,0,.88.17.79.77l-.26,1.97c-.09.6-.31.82-.92.82h-15.44Z"/>
20
+ </g>
21
+ </svg>
@@ -40,11 +40,12 @@ channels:
40
40
  type: object
41
41
  properties:
42
42
  data:
43
- $ref: "#/components/schemas/JISEvent"
43
+ type: array
44
+ items:
45
+ $ref: "#/components/schemas/JISEvent"
44
46
  shouldTriggerWebhooks:
45
47
  type: boolean
46
- default:
47
- - false
48
+ default: false
48
49
  examples:
49
50
  - true
50
51
  required:
@@ -1733,6 +1734,7 @@ components:
1733
1734
  - INCIDENT
1734
1735
  - DISRUPTION
1735
1736
  - SERVICE_CHANGE
1737
+ - INTERNAL
1736
1738
  header_text:
1737
1739
  type: object
1738
1740
  properties:
@@ -8,7 +8,7 @@
8
8
  - Hodnota CSV/JSON jako string
9
9
  - TTL žádné
10
10
  - Retence dat až do úspěšného načtení GTFS jíždních řádů
11
- - Cache obsahuje všechny načtené soubory z ROPID FTP (viz [implementační dokumentace](../../implementation_documentation.md#files-gtfs-static#ropid-ftp-obecně))
11
+ - Cache obsahuje všechny načtené soubory z ROPID FTP (viz [implementační dokumentace](../../implementation_documentation.md#ropid-ftps-obecně))
12
12
  - Menší soubory jsou ukládány pomocí `SET`, větší jsou streamovány pomocí knihovny [redis-wstream](https://github.com/jeffbski/redis-wstream) (`SET` + `APPEND`)
13
13
  - Menší soubory jsou následně načteny pomocí `GET`, větší jsou streamovány z Redisu do PSQL pomocí knihovny [redis-rstream](https://github.com/jeffbski/redis-rstream) (`GETRANGE`)
14
14
 
@@ -10,7 +10,7 @@ Modul slouží k ukládání a poskytování informací o jízdních řádech a
10
10
 
11
11
  **Dostupní poskytovatelé**:
12
12
 
13
- - ROPID FTP
13
+ - ROPID FTPS
14
14
  - GTFS (General Transit Feed Specification) jízdní rády
15
15
  - CIS (Celostátní informační systém) zastávkový číselník
16
16
  - OIS (Odbavovací a informační systém) mapovací číselník pro tramvaje
@@ -25,7 +25,7 @@ Modul slouží k ukládání a poskytování informací o jízdních řádech a
25
25
  - Request logy z URL proxy pro monitorovací centrum od ROPIDU
26
26
  - JIS Infotexty
27
27
 
28
- #### _ROPID FTP (obecně)_
28
+ #### _ROPID FTPS (obecně)_
29
29
 
30
30
  - přístupy
31
31
  - host: config.datasources.RopidFTP.host
@@ -231,7 +231,7 @@ _:warning: Původním záměrem bylo využití OIS číselníku během zpracová
231
231
  - příklad vstupnich dat: [eventsDataSourceFixture](../test/integration-engine/jis/fixtures/eventsDataSourceFixture.ts)
232
232
  - frekvence stahování
233
233
  - cron definice:
234
- - cron.vehicle-positions.jis.refreshJISEvents
234
+ - cron.vehicle-positions.jis.fetchJISEvents
235
235
  - rabin `0 */1 * * * *`
236
236
  - prod `0 */1 * * * *`
237
237
  - data mohou být stažena po manuálním zaslání zprávy do RabbitMQ fronty (primární způsob aktualizace dat je aktivní posílání a cron)
@@ -252,7 +252,7 @@ _:warning: Původním záměrem bylo využití OIS číselníku během zpracová
252
252
  - příklad vstupnich dat: [infotextsDataSourceFixture](../test/integration-engine/jis/fixtures/infotextsDataSourceFixture.ts)
253
253
  - frekvence stahování
254
254
  - cron definice:
255
- - cron.vehicle-positions.jis.refreshJISInfotexts
255
+ - cron.vehicle-positions.jis.fetchJISInfotexts
256
256
  - rabin `0 */1 * * * *`
257
257
  - prod `0 */1 * * * *`
258
258
  - data mohou být stažena po manuálním zaslání zprávy do RabbitMQ fronty (primární způsob aktualizace dat je aktivní posílání a cron)
@@ -285,9 +285,10 @@ _:warning: Původním záměrem bylo využití OIS číselníku během zpracová
285
285
  **Dostupní poskytovatelé**:
286
286
 
287
287
  - MPVNET (Monitorování provozu vozidel) - ROPID + CHAPS
288
- - autobusy (mimo DPP), vlaky, přívozy, lanovky
289
- - TCP zprávy o obězích vozidel - DPP + CHAPS
290
- - autobusy a trolejbusy, tramvaje
288
+ - autobusy (mimo DPP), vlaky, přívozy
289
+ - TCP zprávy o obězích vozidel - DPP (přímo přes Golemio Data Proxy, která data přeposílá do TCP Input Gateway a do MPVnet)
290
+ - autobusy a trolejbusy (AUDIS), tramvaje (DORIS)
291
+ - TCP zprávy o obězích vozidel - DPP metro (UDP → MPVnet proxy CHAPS → TCP)
291
292
  - metro
292
293
  - TCP zprávy o obězích vozidel - TELMAX
293
294
  - autobusy (ARRIVA City)
@@ -308,7 +309,7 @@ _:warning: Původním záměrem bylo využití OIS číselníku během zpracová
308
309
  </m>
309
310
  ```
310
311
  - endpoint v input-gateway
311
- - openapi specifikace [/vehiclepositions](https://api.golemio.cz/v2/pid/input/docs/openapi/#/%F0%9F%9B%A4%20Vehicle%20Positions/post_vehiclepositions)
312
+ - openapi specifikace [/vehiclepositions](https://api.golemio.cz/pid/input-gateway/docs/openapi/#/%F0%9F%9B%A4%20Vehicle%20Positions/post_vehiclepositions)
312
313
  - nastavení práv v permission-proxy
313
314
  - endpoint `/input-gateway/v1/vehiclepositions/spoje`
314
315
  - přeposíláno z [produkční data proxy](https://gitlab.com/operator-ict/golemio/devops/infrastructure/-/blob/master/cluster_production/golemio_data-proxy-values.yaml#L65)
@@ -477,7 +478,7 @@ Všechny tabulky se nachází ve schématu `pid`
477
478
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
478
479
  - název: vehicle-positions.ropidgtfs.downloadDatasets
479
480
  - datové zdroje
480
- - ROPID FTP
481
+ - ROPID FTPS
481
482
  - transformace
482
483
  - žádné
483
484
  - data modely
@@ -493,7 +494,7 @@ Všechny tabulky se nachází ve schématu `pid`
493
494
  - název: vehicle-positions.ropidgtfs.transformAndSaveData
494
495
  - název: vehicle-positions.ropidgtfs.checkSavedRowsAndReplaceTables
495
496
  - datové zdroje
496
- - ROPID FTP
497
+ - ROPID FTPS
497
498
  - transformace
498
499
  - žádné
499
500
  - data modely
@@ -508,7 +509,7 @@ Všechny tabulky se nachází ve schématu `pid`
508
509
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
509
510
  - žádné
510
511
  - datové zdroje
511
- - ROPID FTP
512
+ - ROPID FTPS
512
513
  - transformace
513
514
  - [RopidGTFSTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidGTFSTransformation.ts)
514
515
  - [RopidGTFSCisStopsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidGTFSCisStopsTransformation.ts)
@@ -550,7 +551,7 @@ Všechny tabulky se nachází ve schématu `pid`
550
551
  - název: vehicle-positions.ropidgtfs.refreshGtfsTripStopsCache
551
552
  - název: vehicle-positions.ropidgtfs.remapPresetsToGtfsStops
552
553
  - datové zdroje
553
- - ROPID FTP
554
+ - ROPID FTPS
554
555
  - transformace
555
556
  - žádné
556
557
  - data modely
@@ -584,7 +585,7 @@ Všechny tabulky se nachází ve schématu `pid`
584
585
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
585
586
  - žádné
586
587
  - datové zdroje
587
- - ROPID FTP
588
+ - ROPID FTPS
588
589
  - transformace
589
590
  - žádné
590
591
  - data modely
@@ -610,7 +611,7 @@ Task se stará o aktualizaci cache pro public odjezdy. Pouští se pravidelně c
610
611
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
611
612
  - žádné
612
613
  - datové zdroje
613
- - ROPID FTP
614
+ - ROPID FTPS
614
615
  - transformace
615
616
  - [PublicDepartureCacheTransformation](../src/integration-engine/ropid-gtfs/transformations/PublicDepartureCacheTransformation.ts)
616
617
  - výsledný cache záznam obsahuje pole `connections` (garantované přestupy – přednačtené z `ropidgtfs_precomputed_trip_connections`, původně z `transfers.txt` kde `transfer_type = 1`) a pole `wheelchair_accessible` (přístupnost vozidla pro vozíčkáře z GTFS `trips.txt`)
@@ -746,7 +747,7 @@ Task slouží jako ruční spouštěč obnovení všech cache. Nespouští se au
746
747
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
747
748
  - název: vehicle-positions.ropidpresets.downloadDeparturesPresets
748
749
  - datové zdroje
749
- - ROPID FTP
750
+ - ROPID FTPS
750
751
  - transformace
751
752
  - žádné
752
753
  - data modely
@@ -761,7 +762,7 @@ Task slouží jako ruční spouštěč obnovení všech cache. Nespouští se au
761
762
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
762
763
  - žádné
763
764
  - datové zdroje
764
- - ROPID FTP
765
+ - ROPID FTPS
765
766
  - transformace
766
767
  - [RopidDeparturesPresetsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidDeparturesPresetsTransformation.ts)
767
768
  - data modely
@@ -853,7 +854,7 @@ Worker má na starost zpracování a transformaci polohových dat, výpočet zpo
853
854
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
854
855
  - žádné
855
856
  - datové zdroje
856
- - ROPID FTP
857
+ - ROPID FTPS
857
858
  - transformace
858
859
  - žádné
859
860
  - data modely
@@ -875,7 +876,7 @@ Worker má na starost zpracování a transformaci polohových dat, výpočet zpo
875
876
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
876
877
  - název: vehicle-positions.vehiclepositions.updateDelay
877
878
  - datové zdroje
878
- - CHAPS TCP
879
+ - DPP TCP
879
880
  - transformace
880
881
  - oběh a nalezené GTFS scheduled trips se transformují na trips [TripsMapper.mapCommonRunToDto](../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.ts) a pozice [PositionsMapper.mapCommonRunToDto](../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts) pro frontu `vehiclepositions.updateDelay`
881
882
  - data modely
@@ -894,7 +895,7 @@ Worker má na starost zpracování a transformaci polohových dat, výpočet zpo
894
895
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
895
896
  - název: vehicle-positions.vehiclepositions.propagateDelay
896
897
  - datové zdroje
897
- - MPVNET, CHAPS TCP
898
+ - MPVNET, DPP TCP, DPP metro (UDP → TCP přes MPVnet proxy CHAPS)
898
899
  - transformace
899
900
  - determinace pozic tripů v rámci jednoho GTFS block id (platí pouze pro některé vlakové linky)
900
901
  - [PositionsManager.computePositions](../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts#L32): obohacení pozicových dat, aproximace pozice, dopočet zpoždění
@@ -912,7 +913,7 @@ Worker má na starost zpracování a transformaci polohových dat, výpočet zpo
912
913
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
913
914
  - název: vehicle-positions.vehiclepositions.propagateDelay
914
915
  - datové zdroje
915
- - TELMAX TCP
916
+ - TELMAX TCP (v produkci vypnuto)
916
917
  - transformace
917
918
  - [RegionalBusPositionsManager.computePositions](../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts): obohacení pozicových dat, aproximace pozice, dopočet zpoždění
918
919
  - data modely
@@ -929,7 +930,7 @@ Worker má na starost zpracování a transformaci polohových dat, výpočet zpo
929
930
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
930
931
  - vehicle-positions.vehiclepositions.propagateTrainDelay
931
932
  - datové zdroje
932
- - MPVNET, CHAPS TCP, TELMAX TCP
933
+ - MPVNET, DPP TCP, DPP metro (UDP → TCP přes MPVnet proxy CHAPS), TELMAX TCP (v produkci vypnuto)
933
934
  - transformace
934
935
  - [mapDelayedPositionsToRunTrips](../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.ts#L447): transformace výstupních pozic z updateDelay na oběhy
935
936
  - [propagateDelayForGtfsTrip](../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.ts#L474): přepočet zpoždění u spojů se zpožděním před tratí
@@ -957,7 +958,7 @@ Worker má na starost zpracování a transformaci polohových dat, výpočet zpo
957
958
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
958
959
  - žádné
959
960
  - datové zdroje
960
- - MPVNET, CHAPS TCP
961
+ - MPVNET, DPP TCP, DPP metro (UDP → TCP přes MPVnet proxy CHAPS), TELMAX TCP (v produkci vypnuto)
961
962
  - transformace
962
963
  - žádné
963
964
  - data modely
@@ -1015,7 +1016,7 @@ Worker má na starost zpracování a transformaci TCP oběhů
1015
1016
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1016
1017
  - název: vehicle-positions.vehiclepositions.updateRunsGTFSTripId
1017
1018
  - datové zdroje
1018
- - CHAPS TCP
1019
+ - DPP TCP
1019
1020
  - transformace
1020
1021
  - [CommonRunsMessagesTransformation](../src/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.ts)
1021
1022
  - data modely
@@ -1032,7 +1033,7 @@ Worker má na starost zpracování a transformaci TCP oběhů
1032
1033
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1033
1034
  - název: vehicle-positions.vehiclepositions.updateRunsGTFSTripId
1034
1035
  - datové zdroje
1035
- - CHAPS TCP
1036
+ - DPP TCP
1036
1037
  - transformace
1037
1038
  - [CommonRunsMessagesTransformation](../src/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.ts)
1038
1039
  - data modely
@@ -1049,7 +1050,7 @@ Worker má na starost zpracování a transformaci TCP oběhů
1049
1050
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1050
1051
  - název: vehicle-positions.vehiclepositionsruns.processMetroRunMessages
1051
1052
  - datové zdroje
1052
- - CHAPS TCP
1053
+ - DPP metro (UDP → TCP přes MPVnet proxy CHAPS)
1053
1054
  - transformace
1054
1055
  - [MetroRunsMessagesTransformation](../src/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.ts)
1055
1056
  - data modely
@@ -1065,7 +1066,7 @@ Worker má na starost zpracování a transformaci TCP oběhů
1065
1066
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1066
1067
  - název: vehicle-positions.vehiclepositions.updateDelay
1067
1068
  - datové zdroje
1068
- - CHAPS TCP
1069
+ - DPP metro (UDP → TCP přes MPVnet proxy CHAPS)
1069
1070
  - transformace
1070
1071
  - [MetroRunsMessageProcessingTransformation](../src/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.ts), dále se oběhy a nalezené GTFS scheduled trips transformují na trips [TripsMapper.mapMetroRunToDto](../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.ts)s) a pozice [PositionsMapper.mapMetroRunToDto](../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts) pro frontu `vehiclepositions.updateDelay`
1071
1072
  - data modely
@@ -1085,7 +1086,7 @@ Worker má na starost zpracování a transformaci TCP oběhů
1085
1086
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1086
1087
  - název: vehicle-positions.vehiclepositionsruns.processRegionalBusRunMessages
1087
1088
  - datové zdroje
1088
- - TELMAX TCP
1089
+ - TELMAX TCP (v produkci vypnuto)
1089
1090
  - transformace
1090
1091
  - [RegionalBusRunsMessagesTransformation](../src/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.ts)
1091
1092
  - data modely
@@ -1101,7 +1102,7 @@ Worker má na starost zpracování a transformaci TCP oběhů
1101
1102
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1102
1103
  - název: vehicle-positions.vehiclepositions.processRegionalBusPositions
1103
1104
  - datové zdroje
1104
- - TELMAX TCP
1105
+ - TELMAX TCP (v produkci vypnuto)
1105
1106
  - transformace
1106
1107
  - Oběhy a nalezené GTFS scheduled trips transformují na trips [TripsMapper.mapRegionalBusRunToDto](../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.ts) a pozice [PositionsMapper.mapRegionalBusRunToDto](../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts) pro frontu `vehiclepositions.processRegionalBusPositions`
1107
1108
  - data modely
@@ -1125,7 +1126,7 @@ Worker má na starost generování souborů s realtime daty pro `gtfsrt` endpoin
1125
1126
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1126
1127
  - žádné
1127
1128
  - datové zdroje
1128
- - MPVNET, CHAPS TCP + UDP, ROPID FTP, ROPID VYMI
1129
+ - MPVNET, DPP TCP, DPP metro (UDP → TCP přes MPVnet proxy CHAPS), TELMAX TCP (v produkci vypnuto), ROPID FTPS, ROPID VYMI
1129
1130
  - transformace
1130
1131
  - žádné
1131
1132
  - data modely
@@ -1262,7 +1263,7 @@ Worker má na starost retenci dat tabulek Azure Table Storage
1262
1263
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1263
1264
  - žádné
1264
1265
  - datové zdroje
1265
- - CHAPS TCP, ukládane v TCP IG
1266
+ - DPP TCP, DPP metro (UDP → TCP přes MPVnet proxy CHAPS), TELMAX TCP (v produkci vypnuto), ukládané v TCP IG
1266
1267
  - transformace
1267
1268
  - žádné
1268
1269
  - data modely
@@ -1276,7 +1277,7 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
1276
1277
 
1277
1278
  - vstupní rabbitmq fronta
1278
1279
  - název: vehicle-positions.jis.refreshJISEvents
1279
- - TTL: 20 sekund
1280
+ - TTL: 1 minuta
1280
1281
  - parametry: `{ data: IJISEvent[]; shouldTriggerWebhooks?: boolean }` ([IJISEvent[]](../src/schema-definitions/jis/datasources/interfaces/IJISEvent.ts))
1281
1282
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1282
1283
  - `jis.updateEventWebhook`
@@ -1299,10 +1300,10 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
1299
1300
 
1300
1301
  - vstupní rabbitmq fronta
1301
1302
  - název: vehicle-positions.jis.refreshJISInfotexts
1302
- - TTL: 20 sekund
1303
- - parametry: žádné
1303
+ - TTL: 1 minuta
1304
+ - parametry: [IJISInfotext[]](../src/schema-definitions/jis/datasources/interfaces/IJISInfotext.ts)
1304
1305
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
1305
- - žádné
1306
+ - `jis.refreshJISInfotextsCache`
1306
1307
  - datové zdroje
1307
1308
  - JIS Infotexts
1308
1309
  - transformace
@@ -1310,6 +1311,7 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
1310
1311
  - data modely
1311
1312
  - JISInfotextsModel `jis_infotexts`
1312
1313
  - JISInfotextsRopidGTFSStopsModel `jis_infotexts_ropidgtfs_stops`
1314
+ - JISInfotextsPresetsModel `jis_infotexts_presets`
1313
1315
  #### _task: UpdateEventWebhookTask_
1314
1316
  - Popis tasku
1315
1317
  - Task posila POST requestem aktualizace dat o změněných událostech hned po přijetí z VYMI a uložení do VP databáze na webhooky definované v module config hodnotami `jis.webhooks.eventUpdate.targets.*`
@@ -1388,10 +1390,10 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
1388
1390
 
1389
1391
  - retence dat
1390
1392
  - jízdní řády se generují 1-2x denně na 14 dní dopředu
1391
- - polohová data si uchováváme 24 hodin (30 minut od poslední aktualizace, poté v historických tabulkách)
1393
+ - polohová data si uchováváme 16 hodin (30 minut od poslední aktualizace, poté v historických tabulkách)
1392
1394
  - popis vozidel se nepromazává – přetrvávají do přepsání novými daty (fixní TTL bylo odstraněno)
1393
1395
  - preset logy si uchováváme 8 hodin
1394
- - JIS události a infotexty si uchováváme neomezeně
1396
+ - JIS události si uchováváme neomezeně; JIS infotexty jen dokud jsou v posledním přijatém seznamu z VYMI (chybějící se při každém přenačtení mažou)
1395
1397
 
1396
1398
  ## Input API
1397
1399
 
@@ -1402,8 +1404,6 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
1402
1404
  - rabin: https://rabin.golemio.cz/pid/input-gateway/docs/openapi/
1403
1405
  - golem: https://api.golemio.cz/pid/input-gateway/docs/openapi/
1404
1406
  - api je neveřejné
1405
- - postman kolekce
1406
- - TBD
1407
1407
 
1408
1408
  ### Vehicle Positions
1409
1409
 
@@ -1429,9 +1429,7 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
1429
1429
  - zdrojový soubor: [openapi-output.yaml](./openapi-output.yaml)
1430
1430
  - rabin: https://rabin.golemio.cz/pid/docs/openapi/
1431
1431
  - golem: https://api.golemio.cz/pid/docs/openapi/
1432
- - GTFS-RT a `/v2/public` data jsou veřejná, zbývající endpointy jsou k dispozici všem registrovaným uživatelům
1433
- - postman kolekce
1434
- - TBD
1432
+ - GTFS-RT data jsou veřejná, zbývající endpointy (včetně `/v2/public`) jsou k dispozici všem registrovaným uživatelům
1435
1433
 
1436
1434
  ### GTFS v2
1437
1435
 
@@ -1653,7 +1651,7 @@ Worker má na starost stahování VYMI (JIS) událostí a infotextů, jejich tra
1653
1651
  - parametry
1654
1652
  - `displayPeriodStart` / `displayPeriodEnd` – filtrování podle překryvu zobrazovacího okna události s požadovaným rozsahem (ISO 8601)
1655
1653
  - `organizationNames` – filtrování podle organizace (pole řetězců)
1656
- - `type` – filtrování podle typu události (`INCIDENT`, `DISRUPTION`, `SERVICE_CHANGE`)
1654
+ - `type` – filtrování podle typu události (`INCIDENT`, `DISRUPTION`, `SERVICE_CHANGE`, `INTERNAL`); události typu `INTERNAL` se bez tohoto parametru nevrací
1657
1655
  - zdrojové tabulky: `jis_events`, `jis_events_ropidgtfs_routes`
1658
1656
  - formát odpovědi: viz schéma `EventCustomFormat` v [openapi-output.yaml](./openapi-output.yaml)
1659
1657
  - trasy v `informed_entity.routes` jsou snapshot-first (`jis_events_ropidgtfs_routes.route_details`), s GTFS fallbackem (`ropidgtfs_routes`) jen pro starší řádky bez snímku; podrobněji viz [jis/index.md](./jis/index.md#informed_entityroutesroute_details-snímek-gtfs-atributů-trasy)