diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml deleted file mode 100644 index a88257fc1..000000000 --- a/.pre-commit-config.yaml +++ /dev/null @@ -1,21 +0,0 @@ -repos: - # Lint & format converter code - - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.0 - hooks: - - id: ruff-check - files: ^converter/ - - id: ruff-format - args: ["--check"] - files: ^converter/ - - # Type-check converter code - - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.18.2 - hooks: - - id: mypy - files: ^converter/ - additional_dependencies: - - types-jsonschema - - types-pyyaml - - types-requests diff --git a/README.md b/README.md index 7521f388c..8623003d2 100644 --- a/README.md +++ b/README.md @@ -68,13 +68,12 @@ Les contributions, *issues* & *pull requests* sont les bienvenues ! ### Pre-commit -Ce projet utilise [pre-commit](https://pre-commit.com/) pour faciliter le travail du développeur et qu'il détecte des erreurs de format/lint/typing le plus rapidement possible. -Pour l'utiliser en local, exécuter les commandes suivantes : +Des hooks Git sont définis pour simplifier le travail des développeurs. -```bash -pip install pre-commit -pre-commit install -``` +Pour les installer : + +- Installer [lefthook](https://lefthook.dev/installation/index.html) +- Lancer à la racine du dépôt `lefthook install` Avant chaque commit, les hooks seront exécutés automatiquement et le commit sera annulé si des erreurs sont détectées. diff --git a/csv_parser/models/model.xlsx b/csv_parser/models/model.xlsx index 35e725a33..005961637 100644 Binary files a/csv_parser/models/model.xlsx and b/csv_parser/models/model.xlsx differ diff --git a/csv_parser/out/EMSI/EMSI.schema.docx b/csv_parser/out/EMSI/EMSI.schema.docx index 161e8bafe..9d0b51a69 100644 Binary files a/csv_parser/out/EMSI/EMSI.schema.docx and b/csv_parser/out/EMSI/EMSI.schema.docx differ diff --git a/csv_parser/out/EMSI/EMSI.uml_diagram.pdf b/csv_parser/out/EMSI/EMSI.uml_diagram.pdf index 7927e0609..900f738a0 100644 Binary files a/csv_parser/out/EMSI/EMSI.uml_diagram.pdf and b/csv_parser/out/EMSI/EMSI.uml_diagram.pdf differ diff --git a/csv_parser/out/GEO-POS/GEO-POS.schema.docx b/csv_parser/out/GEO-POS/GEO-POS.schema.docx index c9a2137d1..2e31e500b 100644 Binary files a/csv_parser/out/GEO-POS/GEO-POS.schema.docx and b/csv_parser/out/GEO-POS/GEO-POS.schema.docx differ diff --git a/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf b/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf index b152a1913..788b40e1e 100644 Binary files a/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf and b/csv_parser/out/GEO-POS/GEO-POS.uml_diagram.pdf differ diff --git a/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx b/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx index b4ce7a4d2..95400eb14 100644 Binary files a/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx and b/csv_parser/out/GEO-REQ/GEO-REQ.schema.docx differ diff --git a/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf b/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf index 3c2867021..2e456001c 100644 Binary files a/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf and b/csv_parser/out/GEO-REQ/GEO-REQ.uml_diagram.pdf differ diff --git a/csv_parser/out/GEO-RES/GEO-RES.schema.docx b/csv_parser/out/GEO-RES/GEO-RES.schema.docx index feb5eb6e4..a2aa503c5 100644 Binary files a/csv_parser/out/GEO-RES/GEO-RES.schema.docx and b/csv_parser/out/GEO-RES/GEO-RES.schema.docx differ diff --git a/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf b/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf index c18931bf6..11e06e3d4 100644 Binary files a/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf and b/csv_parser/out/GEO-RES/GEO-RES.uml_diagram.pdf differ diff --git a/csv_parser/out/RC-DE/RC-DE.schema.docx b/csv_parser/out/RC-DE/RC-DE.schema.docx index 0525396b8..dfe9c69e9 100644 Binary files a/csv_parser/out/RC-DE/RC-DE.schema.docx and b/csv_parser/out/RC-DE/RC-DE.schema.docx differ diff --git a/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf b/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf index 1f872ccfb..a764ca3c1 100644 Binary files a/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf and b/csv_parser/out/RC-DE/RC-DE.uml_diagram.pdf differ diff --git a/csv_parser/out/RC-EDA/RC-EDA.schema.docx b/csv_parser/out/RC-EDA/RC-EDA.schema.docx index 243acc62d..6c778bb8f 100644 Binary files a/csv_parser/out/RC-EDA/RC-EDA.schema.docx and b/csv_parser/out/RC-EDA/RC-EDA.schema.docx differ diff --git a/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf b/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf index 5b3cab017..1dee7d692 100644 Binary files a/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf and b/csv_parser/out/RC-EDA/RC-EDA.uml_diagram.pdf differ diff --git a/csv_parser/out/RC-REF/RC-REF.schema.docx b/csv_parser/out/RC-REF/RC-REF.schema.docx index 16309ee6b..03f70dd04 100644 Binary files a/csv_parser/out/RC-REF/RC-REF.schema.docx and b/csv_parser/out/RC-REF/RC-REF.schema.docx differ diff --git a/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf b/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf index 69cb24225..8c439adac 100644 Binary files a/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf and b/csv_parser/out/RC-REF/RC-REF.uml_diagram.pdf differ diff --git a/csv_parser/out/RC-RI/RC-RI.example.json b/csv_parser/out/RC-RI/RC-RI.example.json index 92bc876f9..a784d4a98 100644 --- a/csv_parser/out/RC-RI/RC-RI.example.json +++ b/csv_parser/out/RC-RI/RC-RI.example.json @@ -22,9 +22,11 @@ }, "position": { "datetime": "2022-09-27T08:23:34+02:00", + "speed": 34, "coord": { "lat": "48.866667", - "lon": "2.333333" + "lon": "2.333333", + "height": 120 } }, "contact": { diff --git a/csv_parser/out/RC-RI/RC-RI.input.csv b/csv_parser/out/RC-RI/RC-RI.input.csv index d7abdfcb8..bec68ca1d 100644 --- a/csv_parser/out/RC-RI/RC-RI.input.csv +++ b/csv_parser/out/RC-RI/RC-RI.input.csv @@ -35,10 +35,12 @@ TRUE = DISPONIBLE FALSE = INDISPONIBLE VIDE = INCONNU",FALSE,availability,0..1,,boolean, ,Position du vecteur,,,,,Objet qui permet de transmettre la position du vecteur,,position,0..1,X,position, -,,Date/heure de la position,,,,A valoriser avec la date et heure associée à la position,2022-09-27T08:23:34+02:00,datetime,1..1,,datetime, +,,Date/heure de la position,,,,Date et heure de la dernière position connue,2022-09-27T08:23:34+02:00,datetime,1..1,,datetime, +,,Vitesse,,,,"Vitesse de la ressource enregistrée, exprimée en km/h",34,speed,0..1,,number, ,,Coordonnées de la position,,,,Objet qui permet de transmettre les coordonnées GPS du vecteur,,coord,1..1,X,coord, -,,,Latitude,,,A valoriser avec la latitude de la position,48.866667,lat,1..1,,number, -,,,Longitude,,,A valoriser avec la longitude de la position,2.333333,lon,1..1,,number, +,,,Latitude,,,"Dernière coordonnée x connue de la ressource, entre −90 and +90",48.866667,lat,1..1,,number, +,,,Longitude,,,"Dernière coordonnée y connue de la ressource, entre −180 and +180",2.333333,lon,1..1,,number, +,,,Altitude,,,"Dernière coordonnée z connue de la ressource, en mètres sans bornes",120,height,0..1,,number, ,Contact,,,,,"Objet qui permet de décrire le type et la valeur de l'URI utilisée par un contact, ici spécifiquement le contact du vecteur mobilisé.",,contact,0..1,X,contact, ,,Type de contact ,,,,A valoriser avec le type de l'URI utilisée. Cf nomenclature associée.,TEL,type,0..1,,string,NOMENCLATURE: HubSante.typeCom ,,URI du contact,,,,"A valoriser avec la valeur de l'URI utilisée diff --git a/csv_parser/out/RC-RI/RC-RI.schema.docx b/csv_parser/out/RC-RI/RC-RI.schema.docx index 1f35cfde0..c5ff5adc6 100644 Binary files a/csv_parser/out/RC-RI/RC-RI.schema.docx and b/csv_parser/out/RC-RI/RC-RI.schema.docx differ diff --git a/csv_parser/out/RC-RI/RC-RI.uml_diagram b/csv_parser/out/RC-RI/RC-RI.uml_diagram index b64ef6bc4..2028c8425 100644 --- a/csv_parser/out/RC-RI/RC-RI.uml_diagram +++ b/csv_parser/out/RC-RI/RC-RI.uml_diagram @@ -21,14 +21,14 @@ strict digraph { coord - objet coordlat number : [1..1] lon number : [1..1] + objet coordlat number : [1..1] lon number : [1..1] height number : [0..1] >] coord -> position [headlabel=1 taillabel=1] position [label=< - +
position
objet position
datetime date-time : [1..1]
objet position
datetime date-time : [1..1]
speed number : [0..1]
>] position -> resource [headlabel=1 taillabel="0..1"] contact [label=< diff --git a/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf b/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf index b278d71b8..a186065ff 100644 Binary files a/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf and b/csv_parser/out/RC-RI/RC-RI.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-BPV/RS-BPV.schema.docx b/csv_parser/out/RS-BPV/RS-BPV.schema.docx index b7d96cc71..1261389ec 100644 Binary files a/csv_parser/out/RS-BPV/RS-BPV.schema.docx and b/csv_parser/out/RS-BPV/RS-BPV.schema.docx differ diff --git a/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf b/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf index aabb1932f..03f305273 100644 Binary files a/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf and b/csv_parser/out/RS-BPV/RS-BPV.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-DR/RS-DR.schema.docx b/csv_parser/out/RS-DR/RS-DR.schema.docx index 8a096a448..d5777b2e4 100644 Binary files a/csv_parser/out/RS-DR/RS-DR.schema.docx and b/csv_parser/out/RS-DR/RS-DR.schema.docx differ diff --git a/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf b/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf index 22feb07c9..c791cdda7 100644 Binary files a/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf and b/csv_parser/out/RS-DR/RS-DR.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx index f63de6dce..26ff46cb3 100644 Binary files a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx and b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.schema.docx differ diff --git a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf index 6ad1e1ebc..e9e00e4e9 100644 Binary files a/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf and b/csv_parser/out/RS-EDA-MAJ/RS-EDA-MAJ.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-EDA/RS-EDA.schema.docx b/csv_parser/out/RS-EDA/RS-EDA.schema.docx index ce686d225..6c4d9c282 100644 Binary files a/csv_parser/out/RS-EDA/RS-EDA.schema.docx and b/csv_parser/out/RS-EDA/RS-EDA.schema.docx differ diff --git a/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf b/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf index f2827ce89..e18add605 100644 Binary files a/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf and b/csv_parser/out/RS-EDA/RS-EDA.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-ER/RS-ER.schema.docx b/csv_parser/out/RS-ER/RS-ER.schema.docx index 7483cff91..477660d13 100644 Binary files a/csv_parser/out/RS-ER/RS-ER.schema.docx and b/csv_parser/out/RS-ER/RS-ER.schema.docx differ diff --git a/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf b/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf index b30be1305..eddf1abae 100644 Binary files a/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf and b/csv_parser/out/RS-ER/RS-ER.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx b/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx index 840ca6d77..28e1dc1ea 100644 Binary files a/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx and b/csv_parser/out/RS-ERROR/RS-ERROR.schema.docx differ diff --git a/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf b/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf index ee25a64a5..332e398e4 100644 Binary files a/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf and b/csv_parser/out/RS-ERROR/RS-ERROR.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-RI/RS-RI.schema.docx b/csv_parser/out/RS-RI/RS-RI.schema.docx index 57e337b18..ec8326ffc 100644 Binary files a/csv_parser/out/RS-RI/RS-RI.schema.docx and b/csv_parser/out/RS-RI/RS-RI.schema.docx differ diff --git a/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf b/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf index b71f37642..3c5c9332b 100644 Binary files a/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf and b/csv_parser/out/RS-RI/RS-RI.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx b/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx index 44301b5eb..ec78fb8fa 100644 Binary files a/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx and b/csv_parser/out/RS-RPIS/RS-RPIS.schema.docx differ diff --git a/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf b/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf index e52e233af..0fbc5dc27 100644 Binary files a/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf and b/csv_parser/out/RS-RPIS/RS-RPIS.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-RR/RS-RR.schema.docx b/csv_parser/out/RS-RR/RS-RR.schema.docx index d67f110d8..a7a90abb8 100644 Binary files a/csv_parser/out/RS-RR/RS-RR.schema.docx and b/csv_parser/out/RS-RR/RS-RR.schema.docx differ diff --git a/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf b/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf index 7584745f0..fd4645689 100644 Binary files a/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf and b/csv_parser/out/RS-RR/RS-RR.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx index 7d2882b30..1f1a609a0 100644 Binary files a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx and b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.schema.docx differ diff --git a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf index cf30844c6..7a0a4b366 100644 Binary files a/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf and b/csv_parser/out/RS-SAS-RDV/RS-SAS-RDV.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-SR/RS-SR.schema.docx b/csv_parser/out/RS-SR/RS-SR.schema.docx index 89c23377a..df7e251e7 100644 Binary files a/csv_parser/out/RS-SR/RS-SR.schema.docx and b/csv_parser/out/RS-SR/RS-SR.schema.docx differ diff --git a/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf b/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf index e743f627c..a8b4d34a4 100644 Binary files a/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf and b/csv_parser/out/RS-SR/RS-SR.uml_diagram.pdf differ diff --git a/csv_parser/out/RS-URL/RS-URL.schema.docx b/csv_parser/out/RS-URL/RS-URL.schema.docx index 9b24ede46..992c8a46a 100644 Binary files a/csv_parser/out/RS-URL/RS-URL.schema.docx and b/csv_parser/out/RS-URL/RS-URL.schema.docx differ diff --git a/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf b/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf index 35772e77c..1b7445b35 100644 Binary files a/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf and b/csv_parser/out/RS-URL/RS-URL.uml_diagram.pdf differ diff --git a/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx b/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx index 11de996f2..17ee56ed5 100644 Binary files a/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx and b/csv_parser/out/TECHNICAL/TECHNICAL.schema.docx differ diff --git a/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf b/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf index 40f8eb650..b36e9bbe3 100644 Binary files a/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf and b/csv_parser/out/TECHNICAL/TECHNICAL.uml_diagram.pdf differ diff --git a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx index 93fd03a07..db276146f 100644 Binary files a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx and b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.schema.docx differ diff --git a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf index e132ca688..b2861bffc 100644 Binary files a/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf and b/csv_parser/out/TECHNICAL_NOREQ/TECHNICAL_NOREQ.uml_diagram.pdf differ diff --git a/csv_parser/out/customContent/customContent.schema.docx b/csv_parser/out/customContent/customContent.schema.docx index 462b5f221..7649bff2d 100644 Binary files a/csv_parser/out/customContent/customContent.schema.docx and b/csv_parser/out/customContent/customContent.schema.docx differ diff --git a/csv_parser/out/customContent/customContent.uml_diagram.pdf b/csv_parser/out/customContent/customContent.uml_diagram.pdf index ff0391a1c..1d0a5bfbf 100644 Binary files a/csv_parser/out/customContent/customContent.uml_diagram.pdf and b/csv_parser/out/customContent/customContent.uml_diagram.pdf differ diff --git a/generator/input/RC-RI.openapi.yaml b/generator/input/RC-RI.openapi.yaml index f210fca8a..f87c70110 100644 --- a/generator/input/RC-RI.openapi.yaml +++ b/generator/input/RC-RI.openapi.yaml @@ -303,11 +303,20 @@ components: x-health-only: false x-cols: 6 example: example.json#/resource/0/position/datetime - description: "A valoriser avec la date et heure associ\xE9e \xE0 la position" + description: "Date et heure de la derni\xE8re position connue" pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$ format: date-time examples: - '2022-09-27T08:23:34+02:00' + speed: + type: number + title: Vitesse + x-health-only: false + x-cols: 6 + example: example.json#/resource/0/position/speed + description: "Vitesse de la ressource enregistr\xE9e, exprim\xE9e en km/h" + examples: + - 34 coord: $ref: '#/components/schemas/coord' additionalProperties: false @@ -368,7 +377,8 @@ components: x-health-only: false x-cols: 6 example: example.json#/resource/0/position/coord/lat - description: A valoriser avec la latitude de la position + description: "Derni\xE8re coordonn\xE9e x connue de la ressource, entre\ + \ \u221290 and +90" examples: - '48.866667' lon: @@ -377,11 +387,23 @@ components: x-health-only: false x-cols: 6 example: example.json#/resource/0/position/coord/lon - description: A valoriser avec la longitude de la position + description: "Derni\xE8re coordonn\xE9e y connue de la ressource, entre\ + \ \u2212180 and +180" examples: - '2.333333' + height: + type: number + title: Altitude + x-health-only: false + x-cols: 6 + example: example.json#/resource/0/position/coord/height + description: "Derni\xE8re coordonn\xE9e z connue de la ressource, en m\xE8\ + tres sans bornes" + examples: + - 120 additionalProperties: false example: example.json#/resource/0/position/coord examples: - lat: '48.866667' lon: '2.333333' + height: 120 diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 000000000..9b1e41eaa --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,10 @@ +pre-commit: + parallel: true + commands: + converter-format-fix: + root: "converter/" + run: uv run ruff format . + stage_fixed: true + converter-type-check: + root: "converter/" + run: uv run --active mypy . diff --git a/src/main/java/com/hubsante/model/cisu/resources/info/Coord.java b/src/main/java/com/hubsante/model/cisu/resources/info/Coord.java index 77ee38eaa..2029bd604 100644 --- a/src/main/java/com/hubsante/model/cisu/resources/info/Coord.java +++ b/src/main/java/com/hubsante/model/cisu/resources/info/Coord.java @@ -42,7 +42,8 @@ /** * Coord */ -@JsonPropertyOrder({Coord.JSON_PROPERTY_LAT, Coord.JSON_PROPERTY_LON}) +@JsonPropertyOrder({Coord.JSON_PROPERTY_LAT, Coord.JSON_PROPERTY_LON, + Coord.JSON_PROPERTY_HEIGHT}) @JsonTypeName("coord") @JsonInclude(JsonInclude.Include.NON_EMPTY) @@ -53,6 +54,9 @@ public class Coord { public static final String JSON_PROPERTY_LON = "lon"; private BigDecimal lon; + public static final String JSON_PROPERTY_HEIGHT = "height"; + private BigDecimal height; + public Coord() {} public Coord lat(BigDecimal lat) { @@ -62,7 +66,7 @@ public Coord lat(BigDecimal lat) { } /** - * A valoriser avec la latitude de la position + * Dernière coordonnée x connue de la ressource, entre −90 and +90 * @return lat **/ @JsonProperty(JSON_PROPERTY_LAT) @@ -85,7 +89,7 @@ public Coord lon(BigDecimal lon) { } /** - * A valoriser avec la longitude de la position + * Dernière coordonnée y connue de la ressource, entre −180 and +180 * @return lon **/ @JsonProperty(JSON_PROPERTY_LON) @@ -101,6 +105,29 @@ public void setLon(BigDecimal lon) { this.lon = lon; } + public Coord height(BigDecimal height) { + + this.height = height; + return this; + } + + /** + * Dernière coordonnée z connue de la ressource, en mètres sans bornes + * @return height + **/ + @JsonProperty(JSON_PROPERTY_HEIGHT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public BigDecimal getHeight() { + return height; + } + + @JsonProperty(JSON_PROPERTY_HEIGHT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHeight(BigDecimal height) { + this.height = height; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -111,12 +138,13 @@ public boolean equals(Object o) { } Coord coord = (Coord)o; return Objects.equals(this.lat, coord.lat) && - Objects.equals(this.lon, coord.lon); + Objects.equals(this.lon, coord.lon) && + Objects.equals(this.height, coord.height); } @Override public int hashCode() { - return Objects.hash(lat, lon); + return Objects.hash(lat, lon, height); } @Override @@ -125,6 +153,7 @@ public String toString() { sb.append("class Coord {\n"); sb.append(" lat: ").append(toIndentedString(lat)).append("\n"); sb.append(" lon: ").append(toIndentedString(lon)).append("\n"); + sb.append(" height: ").append(toIndentedString(height)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/com/hubsante/model/cisu/resources/info/Position.java b/src/main/java/com/hubsante/model/cisu/resources/info/Position.java index ceb2fb12e..a89954a69 100644 --- a/src/main/java/com/hubsante/model/cisu/resources/info/Position.java +++ b/src/main/java/com/hubsante/model/cisu/resources/info/Position.java @@ -35,6 +35,7 @@ import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.dataformat.xml.annotation.*; import com.hubsante.model.cisu.resources.info.Coord; +import java.math.BigDecimal; import java.time.OffsetDateTime; import java.util.Arrays; import java.util.Arrays; @@ -43,8 +44,8 @@ /** * Position */ -@JsonPropertyOrder( - {Position.JSON_PROPERTY_DATETIME, Position.JSON_PROPERTY_COORD}) +@JsonPropertyOrder({Position.JSON_PROPERTY_DATETIME, + Position.JSON_PROPERTY_SPEED, Position.JSON_PROPERTY_COORD}) @JsonTypeName("position") @JsonInclude(JsonInclude.Include.NON_EMPTY) @@ -52,6 +53,9 @@ public class Position { public static final String JSON_PROPERTY_DATETIME = "datetime"; private OffsetDateTime datetime; + public static final String JSON_PROPERTY_SPEED = "speed"; + private BigDecimal speed; + public static final String JSON_PROPERTY_COORD = "coord"; private Coord coord; @@ -64,7 +68,7 @@ public Position datetime(OffsetDateTime datetime) { } /** - * A valoriser avec la date et heure associée à la position + * Date et heure de la dernière position connue * @return datetime **/ @JsonProperty(JSON_PROPERTY_DATETIME) @@ -80,6 +84,29 @@ public void setDatetime(OffsetDateTime datetime) { this.datetime = datetime; } + public Position speed(BigDecimal speed) { + + this.speed = speed; + return this; + } + + /** + * Vitesse de la ressource enregistrée, exprimée en km/h + * @return speed + **/ + @JsonProperty(JSON_PROPERTY_SPEED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public BigDecimal getSpeed() { + return speed; + } + + @JsonProperty(JSON_PROPERTY_SPEED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSpeed(BigDecimal speed) { + this.speed = speed; + } + public Position coord(Coord coord) { this.coord = coord; @@ -113,12 +140,13 @@ public boolean equals(Object o) { } Position position = (Position)o; return Objects.equals(this.datetime, position.datetime) && + Objects.equals(this.speed, position.speed) && Objects.equals(this.coord, position.coord); } @Override public int hashCode() { - return Objects.hash(datetime, coord); + return Objects.hash(datetime, speed, coord); } @Override @@ -126,6 +154,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Position {\n"); sb.append(" datetime: ").append(toIndentedString(datetime)).append("\n"); + sb.append(" speed: ").append(toIndentedString(speed)).append("\n"); sb.append(" coord: ").append(toIndentedString(coord)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/resources/json-schema/EMSI.schema.json b/src/main/resources/json-schema/EMSI.schema.json index b74bb6259..50abf67f8 100644 --- a/src/main/resources/json-schema/EMSI.schema.json +++ b/src/main/resources/json-schema/EMSI.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "EMSI.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "emsi", diff --git a/src/main/resources/json-schema/GEO-POS.schema.json b/src/main/resources/json-schema/GEO-POS.schema.json index 7abd753cd..60cabd5ff 100644 --- a/src/main/resources/json-schema/GEO-POS.schema.json +++ b/src/main/resources/json-schema/GEO-POS.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "GEO-POS.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "geoPositionsUpdate", diff --git a/src/main/resources/json-schema/GEO-REQ.schema.json b/src/main/resources/json-schema/GEO-REQ.schema.json index 3b571b537..4ea52db04 100644 --- a/src/main/resources/json-schema/GEO-REQ.schema.json +++ b/src/main/resources/json-schema/GEO-REQ.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "GEO-REQ.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "geoResourcesRequest", diff --git a/src/main/resources/json-schema/GEO-RES.schema.json b/src/main/resources/json-schema/GEO-RES.schema.json index 8d2de1050..753b411b9 100644 --- a/src/main/resources/json-schema/GEO-RES.schema.json +++ b/src/main/resources/json-schema/GEO-RES.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "GEO-RES.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "geoResourcesDetails", diff --git a/src/main/resources/json-schema/RC-DE.schema.json b/src/main/resources/json-schema/RC-DE.schema.json index 99dfe5855..af5e57c2e 100644 --- a/src/main/resources/json-schema/RC-DE.schema.json +++ b/src/main/resources/json-schema/RC-DE.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RC-DE.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "distributionElement", diff --git a/src/main/resources/json-schema/RC-EDA.schema.json b/src/main/resources/json-schema/RC-EDA.schema.json index 6e20ae70e..31379c826 100644 --- a/src/main/resources/json-schema/RC-EDA.schema.json +++ b/src/main/resources/json-schema/RC-EDA.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RC-EDA.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "createCase", diff --git a/src/main/resources/json-schema/RC-REF.schema.json b/src/main/resources/json-schema/RC-REF.schema.json index f98c376b0..50f957e9f 100644 --- a/src/main/resources/json-schema/RC-REF.schema.json +++ b/src/main/resources/json-schema/RC-REF.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RC-REF.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "reference", diff --git a/src/main/resources/json-schema/RC-RI.schema.json b/src/main/resources/json-schema/RC-RI.schema.json index 1b4b7a7c9..0119882fa 100644 --- a/src/main/resources/json-schema/RC-RI.schema.json +++ b/src/main/resources/json-schema/RC-RI.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RC-RI.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "resourcesInfoCisu", @@ -259,10 +259,18 @@ "x-health-only": false, "x-cols": 6, "example": "example.json#/resource/0/position/datetime", - "description": "A valoriser avec la date et heure associée à la position", + "description": "Date et heure de la dernière position connue", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}[\\-+]\\d{2}:\\d{2}$", "format": "date-time" }, + "speed": { + "type": "number", + "title": "Vitesse", + "x-health-only": false, + "x-cols": 6, + "example": "example.json#/resource/0/position/speed", + "description": "Vitesse de la ressource enregistrée, exprimée en km/h" + }, "coord": { "$ref": "#/definitions/coord" } @@ -322,7 +330,7 @@ "x-health-only": false, "x-cols": 6, "example": "example.json#/resource/0/position/coord/lat", - "description": "A valoriser avec la latitude de la position" + "description": "Dernière coordonnée x connue de la ressource, entre −90 and +90" }, "lon": { "type": "number", @@ -330,7 +338,15 @@ "x-health-only": false, "x-cols": 6, "example": "example.json#/resource/0/position/coord/lon", - "description": "A valoriser avec la longitude de la position" + "description": "Dernière coordonnée y connue de la ressource, entre −180 and +180" + }, + "height": { + "type": "number", + "title": "Altitude", + "x-health-only": false, + "x-cols": 6, + "example": "example.json#/resource/0/position/coord/height", + "description": "Dernière coordonnée z connue de la ressource, en mètres sans bornes" } }, "additionalProperties": false, diff --git a/src/main/resources/json-schema/RS-BPV.schema.json b/src/main/resources/json-schema/RS-BPV.schema.json index 988febecb..1d634f727 100644 --- a/src/main/resources/json-schema/RS-BPV.schema.json +++ b/src/main/resources/json-schema/RS-BPV.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-BPV.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "interventionReport", diff --git a/src/main/resources/json-schema/RS-DR.schema.json b/src/main/resources/json-schema/RS-DR.schema.json index e933126ad..41da76da4 100644 --- a/src/main/resources/json-schema/RS-DR.schema.json +++ b/src/main/resources/json-schema/RS-DR.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-DR.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "resourcesRequest", diff --git a/src/main/resources/json-schema/RS-EDA-MAJ.schema.json b/src/main/resources/json-schema/RS-EDA-MAJ.schema.json index 7c138f758..04aca717b 100644 --- a/src/main/resources/json-schema/RS-EDA-MAJ.schema.json +++ b/src/main/resources/json-schema/RS-EDA-MAJ.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-EDA-MAJ.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "createCaseHealthUpdate", diff --git a/src/main/resources/json-schema/RS-EDA.schema.json b/src/main/resources/json-schema/RS-EDA.schema.json index fb518277c..4aae79710 100644 --- a/src/main/resources/json-schema/RS-EDA.schema.json +++ b/src/main/resources/json-schema/RS-EDA.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-EDA.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "createCaseHealth", diff --git a/src/main/resources/json-schema/RS-ER.schema.json b/src/main/resources/json-schema/RS-ER.schema.json index 748d92989..3ce657cc3 100644 --- a/src/main/resources/json-schema/RS-ER.schema.json +++ b/src/main/resources/json-schema/RS-ER.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-ER.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "resourcesEngagement", diff --git a/src/main/resources/json-schema/RS-ERROR.schema.json b/src/main/resources/json-schema/RS-ERROR.schema.json index 0ee5d417b..42974c024 100644 --- a/src/main/resources/json-schema/RS-ERROR.schema.json +++ b/src/main/resources/json-schema/RS-ERROR.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-ERROR.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "error", diff --git a/src/main/resources/json-schema/RS-RI.schema.json b/src/main/resources/json-schema/RS-RI.schema.json index 564ab4196..d9b41399a 100644 --- a/src/main/resources/json-schema/RS-RI.schema.json +++ b/src/main/resources/json-schema/RS-RI.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-RI.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "resourcesInfo", diff --git a/src/main/resources/json-schema/RS-RPIS.schema.json b/src/main/resources/json-schema/RS-RPIS.schema.json index 853fd025c..f61416bef 100644 --- a/src/main/resources/json-schema/RS-RPIS.schema.json +++ b/src/main/resources/json-schema/RS-RPIS.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-RPIS.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "rpis", diff --git a/src/main/resources/json-schema/RS-RR.schema.json b/src/main/resources/json-schema/RS-RR.schema.json index b68c42732..196eb4216 100644 --- a/src/main/resources/json-schema/RS-RR.schema.json +++ b/src/main/resources/json-schema/RS-RR.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-RR.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "resourcesResponse", diff --git a/src/main/resources/json-schema/RS-SAS-RDV.schema.json b/src/main/resources/json-schema/RS-SAS-RDV.schema.json index 7092b3f50..b10ab6afe 100644 --- a/src/main/resources/json-schema/RS-SAS-RDV.schema.json +++ b/src/main/resources/json-schema/RS-SAS-RDV.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-SAS-RDV.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "appointment", diff --git a/src/main/resources/json-schema/RS-SR.schema.json b/src/main/resources/json-schema/RS-SR.schema.json index fd7523a9e..460a22758 100644 --- a/src/main/resources/json-schema/RS-SR.schema.json +++ b/src/main/resources/json-schema/RS-SR.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-SR.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "resourcesStatus", diff --git a/src/main/resources/json-schema/RS-URL.schema.json b/src/main/resources/json-schema/RS-URL.schema.json index 71cf37dd3..fd286198b 100644 --- a/src/main/resources/json-schema/RS-URL.schema.json +++ b/src/main/resources/json-schema/RS-URL.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "RS-URL.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "documentLink", diff --git a/src/main/resources/json-schema/TECHNICAL.schema.json b/src/main/resources/json-schema/TECHNICAL.schema.json index edf485f20..fefc2956d 100644 --- a/src/main/resources/json-schema/TECHNICAL.schema.json +++ b/src/main/resources/json-schema/TECHNICAL.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "TECHNICAL.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "technical", diff --git a/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json b/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json index 7dcfe54db..50f8394aa 100644 --- a/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json +++ b/src/main/resources/json-schema/TECHNICAL_NOREQ.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "TECHNICAL_NOREQ.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "technicalNoreq", diff --git a/src/main/resources/json-schema/customContent.schema.json b/src/main/resources/json-schema/customContent.schema.json index a63e52421..cab0bc49a 100644 --- a/src/main/resources/json-schema/customContent.schema.json +++ b/src/main/resources/json-schema/customContent.schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "classpath:/json-schema/schema#", "x-id": "customContent.schema.json#", - "version": "26.02.27", + "version": "26.03.23", "example": "example.json#", "type": "object", "title": "customContent", diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.json b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.json index e01666ce5..fe8519303 100644 --- a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.json +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.json @@ -7,15 +7,22 @@ "name": "Equipe FEU 3" }, "name": "VSR-Rea3", - "datetime": "2024-08-13T10:23:00+02:00", + "datetime": "2026-03-13T10:23:00+02:00", "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSR268", "orgId": "fr.fire.sisXXX.cgo-XXX", "state": { "status": "DECLENCHE", - "datetime": "2024-08-13T10:24:00+02:00", + "datetime": "2026-03-13T10:24:00+02:00", "availability": false }, - "vehicleType": "SIS" + "vehicleType": "SIS", + "position": { + "datetime": "2026-03-13T10:24:00+02:00", + "coord": { + "lat": 48.84532, + "lon": 2.31559 + } + } } ], "caseId": "fr.fire.CGA_national.SC-20240813-CGA_national-AT517" diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.xml b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.xml index f6432e439..7bf8cc766 100644 --- a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.xml +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.xml @@ -2,7 +2,7 @@ fr.fire.CGA_national.SC-20240813-CGA_national-AT517 - 2024-08-13T10:23:00+02:00 + 2026-03-13T10:23:00+02:00 fr.fire.sisXXX.cga-XXX.resource.VSR268 fr.fire.sisXXX.cgo-XXX SIS @@ -12,9 +12,16 @@ Equipe FEU 3 - 2024-08-13T10:24:00+02:00 + 2026-03-13T10:24:00+02:00 DECLENCHE false + + 2026-03-13T10:24:00+02:00 + + 48.84532 + 2.31559 + + diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.03.json b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.03.json new file mode 100644 index 000000000..a653aad6e --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.03.json @@ -0,0 +1,30 @@ +{ + "resourcesInfoCisu": { + "resource": [ + { + "team": { + "medicalLevel": "MED", + "name": "Equipe FEU 3" + }, + "name": "VSR-Rea3", + "datetime": "2026-03-13T10:23:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSR268", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "DEPART", + "datetime": "2026-03-13T10:28:00+02:00", + "availability": false + }, + "vehicleType": "SIS", + "position": { + "datetime": "2026-03-13T10:28:00+02:00", + "coord": { + "lat": 48.84532, + "lon": 2.31559 + } + } + } + ], + "caseId": "fr.fire.CGA_national.SC-20240813-CGA_national-AT517" + } +} \ No newline at end of file diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.03.xml b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.03.xml new file mode 100644 index 000000000..c1f18ca17 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.03.xml @@ -0,0 +1,27 @@ + + + fr.fire.CGA_national.SC-20240813-CGA_national-AT517 + + 2026-03-13T10:23:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSR268 + fr.fire.sisXXX.cgo-XXX + SIS + VSR-Rea3 + + MED + Equipe FEU 3 + + + 2026-03-13T10:28:00+02:00 + DEPART + false + + + 2026-03-13T10:28:00+02:00 + + 48.84532 + 2.31559 + + + + diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.04.json b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.04.json new file mode 100644 index 000000000..291f3e8d8 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.04.json @@ -0,0 +1,33 @@ +{ + "resourcesInfoCisu": { + "resource": [ + { + "team": { + "medicalLevel": "MED", + "name": "Equipe FEU 3" + }, + "name": "VSR-Rea3", + "datetime": "2026-03-13T10:23:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSR268", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "DEPART", + "datetime": "2026-03-13T10:28:00+02:00", + "availability": false + }, + "vehicleType": "SIS", + "position": { + "datetime": "2026-03-13T10:28:00+02:00", + "coord": { + "lat": 48.84532, + "lon": 2.31559 + } + }, + "freetext": [ + "Véhicule VSR" + ] + } + ], + "caseId": "fr.fire.CGA_national.SC-20240813-CGA_national-AT517" + } +} \ No newline at end of file diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.04.xml b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.04.xml new file mode 100644 index 000000000..a3569c1eb --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.04.xml @@ -0,0 +1,28 @@ + + + fr.fire.CGA_national.SC-20240813-CGA_national-AT517 + + 2026-03-13T10:23:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSR268 + fr.fire.sisXXX.cgo-XXX + SIS + VSR-Rea3 + + MED + Equipe FEU 3 + + + 2026-03-13T10:28:00+02:00 + DEPART + false + + + 2026-03-13T10:28:00+02:00 + + 48.84532 + 2.31559 + + + Véhicule VSR + + diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.05.json b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.05.json new file mode 100644 index 000000000..db937cce1 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.05.json @@ -0,0 +1,49 @@ +{ + "resourcesInfoCisu": { + "resource": [ + { + "team": { + "medicalLevel": "MED", + "name": "Equipe FEU 3" + }, + "name": "VSR-Rea3", + "datetime": "2026-03-13T10:23:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSR268", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "DEPART", + "datetime": "2026-03-13T10:28:00+02:00", + "availability": false + }, + "vehicleType": "SIS", + "position": { + "datetime": "2026-03-13T10:28:00+02:00", + "coord": { + "lat": 48.84532, + "lon": 2.31559 + } + }, + "freetext": [ + "Véhicule VSR" + ] + }, + { + "team": { + "medicalLevel": "MED", + "name": "Equipe VSAV 1" + }, + "name": "VSAV 1", + "datetime": "2026-03-13T10:30:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSAV1", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "DECLENCHE", + "datetime": "2026-03-13T10:30:00+02:00", + "availability": false + }, + "vehicleType": "SIS" + } + ], + "caseId": "fr.fire.CGA_national.SC-20240813-CGA_national-AT517" + } +} \ No newline at end of file diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.05.xml b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.05.xml new file mode 100644 index 000000000..fbc023c3a --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.05.xml @@ -0,0 +1,44 @@ + + + fr.fire.CGA_national.SC-20240813-CGA_national-AT517 + + 2026-03-13T10:23:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSR268 + fr.fire.sisXXX.cgo-XXX + SIS + VSR-Rea3 + + MED + Equipe FEU 3 + + + 2026-03-13T10:28:00+02:00 + DEPART + false + + + 2026-03-13T10:28:00+02:00 + + 48.84532 + 2.31559 + + + Véhicule VSR + + + 2026-03-13T10:30:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSAV1 + fr.fire.sisXXX.cgo-XXX + SIS + VSAV 1 + + MED + Equipe VSAV 1 + + + 2026-03-13T10:30:00+02:00 + DECLENCHE + false + + + diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.06.json b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.06.json new file mode 100644 index 000000000..4980ae489 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.06.json @@ -0,0 +1,49 @@ +{ + "resourcesInfoCisu": { + "resource": [ + { + "team": { + "medicalLevel": "MED", + "name": "Equipe FEU 3" + }, + "name": "VSR-Rea3", + "datetime": "2026-03-13T10:23:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSR268", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "ARRIVEE", + "datetime": "2026-03-13T10:35:00+02:00", + "availability": false + }, + "vehicleType": "SIS", + "position": { + "datetime": "2026-03-13T10:35:00+02:00", + "coord": { + "lat": 48.84532, + "lon": 2.31559 + } + }, + "freetext": [ + "Véhicule VSR" + ] + }, + { + "team": { + "medicalLevel": "MED", + "name": "Equipe VSAV 1" + }, + "name": "VSAV 1", + "datetime": "2026-03-13T10:30:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSAV1", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "DECLENCHE", + "datetime": "2026-03-13T10:30:00+02:00", + "availability": false + }, + "vehicleType": "SIS" + } + ], + "caseId": "fr.fire.CGA_national.SC-20240813-CGA_national-AT517" + } +} \ No newline at end of file diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.06.xml b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.06.xml new file mode 100644 index 000000000..dda16356f --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.06.xml @@ -0,0 +1,44 @@ + + + fr.fire.CGA_national.SC-20240813-CGA_national-AT517 + + 2026-03-13T10:23:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSR268 + fr.fire.sisXXX.cgo-XXX + SIS + VSR-Rea3 + + MED + Equipe FEU 3 + + + 2026-03-13T10:35:00+02:00 + ARRIVEE + false + + + 2026-03-13T10:35:00+02:00 + + 48.84532 + 2.31559 + + + Véhicule VSR + + + 2026-03-13T10:30:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSAV1 + fr.fire.sisXXX.cgo-XXX + SIS + VSAV 1 + + MED + Equipe VSAV 1 + + + 2026-03-13T10:30:00+02:00 + DECLENCHE + false + + + diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.07.json b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.07.json new file mode 100644 index 000000000..fa43ef267 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.07.json @@ -0,0 +1,65 @@ +{ + "resourcesInfoCisu": { + "resource": [ + { + "team": { + "medicalLevel": "MED", + "name": "Equipe FEU 3" + }, + "name": "VSR-Rea3", + "datetime": "2026-03-13T10:23:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSR268", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "ARRIVEE", + "datetime": "2026-03-13T10:35:00+02:00", + "availability": false + }, + "vehicleType": "SIS", + "position": { + "datetime": "2026-03-13T10:35:00+02:00", + "coord": { + "lat": 48.84532, + "lon": 2.31559 + } + }, + "freetext": [ + "Véhicule VSR" + ] + }, + { + "team": { + "medicalLevel": "MED", + "name": "Equipe VSAV 1" + }, + "name": "VSAV 1", + "datetime": "2026-03-13T10:30:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSAV1", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "ARRIVEE", + "datetime": "2026-03-13T10:40:00+02:00", + "availability": false + }, + "vehicleType": "SIS" + }, + { + "team": { + "medicalLevel": "MED", + "name": "Equipe VSAV 2" + }, + "name": "VSAV 2", + "datetime": "2026-03-13T10:40:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSAV2", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "DECLENCHE", + "datetime": "2026-03-13T10:40:00+02:00", + "availability": false + }, + "vehicleType": "SIS" + } + ], + "caseId": "fr.fire.CGA_national.SC-20240813-CGA_national-AT517" + } +} \ No newline at end of file diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.07.xml b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.07.xml new file mode 100644 index 000000000..de5a42a41 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.07.xml @@ -0,0 +1,60 @@ + + + fr.fire.CGA_national.SC-20240813-CGA_national-AT517 + + 2026-03-13T10:23:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSR268 + fr.fire.sisXXX.cgo-XXX + SIS + VSR-Rea3 + + MED + Equipe FEU 3 + + + 2026-03-13T10:35:00+02:00 + ARRIVEE + false + + + 2026-03-13T10:35:00+02:00 + + 48.84532 + 2.31559 + + + Véhicule VSR + + + 2026-03-13T10:30:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSAV1 + fr.fire.sisXXX.cgo-XXX + SIS + VSAV 1 + + MED + Equipe VSAV 1 + + + 2026-03-13T10:40:00+02:00 + ARRIVEE + false + + + + 2026-03-13T10:40:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSAV2 + fr.fire.sisXXX.cgo-XXX + SIS + VSAV 2 + + MED + Equipe VSAV 2 + + + 2026-03-13T10:40:00+02:00 + DECLENCHE + false + + + diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.08.json b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.08.json new file mode 100644 index 000000000..38fb35405 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.08.json @@ -0,0 +1,65 @@ +{ + "resourcesInfoCisu": { + "resource": [ + { + "team": { + "medicalLevel": "MED", + "name": "Equipe FEU 3" + }, + "name": "VSR-Rea3", + "datetime": "2026-03-13T10:23:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSR268", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "REN-BASE", + "datetime": "2026-03-13T10:45:00+02:00", + "availability": false + }, + "vehicleType": "SIS", + "position": { + "datetime": "2026-03-13T10:45:00+02:00", + "coord": { + "lat": 48.84532, + "lon": 2.31559 + } + }, + "freetext": [ + "Véhicule VSR" + ] + }, + { + "team": { + "medicalLevel": "MED", + "name": "Equipe VSAV 1" + }, + "name": "VSAV 1", + "datetime": "2026-03-13T10:30:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSAV1", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "FINPEC", + "datetime": "2026-03-13T10:45:00+02:00", + "availability": false + }, + "vehicleType": "SIS" + }, + { + "team": { + "medicalLevel": "MED", + "name": "Equipe VSAV 2" + }, + "name": "VSAV 2", + "datetime": "2026-03-13T10:40:00+02:00", + "resourceId": "fr.fire.sisXXX.cga-XXX.resource.VSAV2", + "orgId": "fr.fire.sisXXX.cgo-XXX", + "state": { + "status": "RETOUR", + "datetime": "2026-03-13T10:45:00+02:00", + "availability": false + }, + "vehicleType": "SIS" + } + ], + "caseId": "fr.fire.CGA_national.SC-20240813-CGA_national-AT517" + } +} \ No newline at end of file diff --git a/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.08.xml b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.08.xml new file mode 100644 index 000000000..6ce2ebba7 --- /dev/null +++ b/src/main/resources/sample/examples/RC-RI/RC-RI_Incendie_RaymondeLECCIA.08.xml @@ -0,0 +1,60 @@ + + + fr.fire.CGA_national.SC-20240813-CGA_national-AT517 + + 2026-03-13T10:23:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSR268 + fr.fire.sisXXX.cgo-XXX + SIS + VSR-Rea3 + + MED + Equipe FEU 3 + + + 2026-03-13T10:45:00+02:00 + REN-BASE + false + + + 2026-03-13T10:45:00+02:00 + + 48.84532 + 2.31559 + + + Véhicule VSR + + + 2026-03-13T10:30:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSAV1 + fr.fire.sisXXX.cgo-XXX + SIS + VSAV 1 + + MED + Equipe VSAV 1 + + + 2026-03-13T10:45:00+02:00 + FINPEC + false + + + + 2026-03-13T10:40:00+02:00 + fr.fire.sisXXX.cga-XXX.resource.VSAV2 + fr.fire.sisXXX.cgo-XXX + SIS + VSAV 2 + + MED + Equipe VSAV 2 + + + 2026-03-13T10:45:00+02:00 + RETOUR + false + + + diff --git a/src/main/resources/sample/examples/messagesList.json b/src/main/resources/sample/examples/messagesList.json index 3fc5a55b0..70dbfa082 100644 --- a/src/main/resources/sample/examples/messagesList.json +++ b/src/main/resources/sample/examples/messagesList.json @@ -732,7 +732,6 @@ { "file": "RC-RI/RC-RI_FemmeEnceinte_DelphineVigneau.02.json", "icon": "mdi-human-pregnant", - "context": "Pas de test suivant: RC-SR - Delphine Vigneau.03", "name": "Delphine VIGNEAU.03", "environment": "Engagement d'un SMUR par le SAMU 44" }, @@ -740,22 +739,62 @@ "file": "RC-RI/RC-RI_FuiteDeGaz_AliceGregoireNORMAND.02.json", "icon": "mdi-molecule-co2", "name": "Alice et Grégoire NORMAND.02", - "context": "Pas de test suivant: RC-SR - Alice et Grégoire NORMAND.03", "environment": "Partage des ressources engagées avec le SDIS" }, { "file": "RC-RI/RC-RI_FuiteDeGaz_AliceGregoireNORMAND.05.json", "icon": "mdi-molecule-co2", "name": "Alice et Grégoire NORMAND.05", - "context": "Pas de test suivant: RC-SR - Alice et Grégoire NORMAND.06", - "environment": "Engagenement d'un VSAV avec le détail de l'équipe" + "environment": "Engagement d'un VSAV avec le détail de l'équipe" }, { "file": "RC-RI/RC-RI_Incendie_RaymondeLECCIA.02.json", "icon": "mdi-fire-truck", "name": "Raymonde LECCIA.02", - "environment": "Détail des ressources SIS mobilisées pour l'intervention" - } + "environment": "Engagement d'une ressource SIS", + "context": "Pas de test suivant: RC-RI Incendie_RaymondeLECCIA.03" + }, + { + "file": "RC-RI/RC-RI_Incendie_RaymondeLECCIA.03.json", + "icon": "mdi-fire-truck", + "name": "Raymonde LECCIA.03", + "environment": "Changement du statut de la ressource SIS", + "context": "Pas de test suivant: RC-RI Incendie_RaymondeLECCIA.04" + }, + { + "file": "RC-RI/RC-RI_Incendie_RaymondeLECCIA.04.json", + "icon": "mdi-fire-truck", + "name": "Raymonde LECCIA.04", + "environment": "Modification du détail de la ressource SIS", + "context": "Pas de test suivant: RC-RI Incendie_RaymondeLECCIA.05" + }, + { + "file": "RC-RI/RC-RI_Incendie_RaymondeLECCIA.05.json", + "icon": "mdi-fire-truck", + "name": "Raymonde LECCIA.05", + "environment": "Engagement d'une seconde ressource SIS", + "context": "Pas de test suivant: RC-RI Incendie_RaymondeLECCIA.06" + }, + { + "file": "RC-RI/RC-RI_Incendie_RaymondeLECCIA.06.json", + "icon": "mdi-fire-truck", + "name": "Raymonde LECCIA.06", + "environment": "Modification du statut de la 1ère ressource SIS", + "context": "Pas de test suivant: RC-RI Incendie_RaymondeLECCIA.07" + }, + { + "file": "RC-RI/RC-RI_Incendie_RaymondeLECCIA.07.json", + "icon": "mdi-fire-truck", + "name": "Raymonde LECCIA.07", + "environment": "Engagement d'une 3ème ressource SIS et modification du statut de la 2ème ressource", + "context": "Pas de test suivant: RC-RI Incendie_RaymondeLECCIA.08" + }, + { + "file": "RC-RI/RC-RI_Incendie_RaymondeLECCIA.08.json", + "icon": "mdi-fire-truck", + "name": "Raymonde LECCIA.08", + "environment": "Modification des statuts de toutes les ressources" + } ] }, diff --git a/src/main/resources/xsd/RC-RI.xsd b/src/main/resources/xsd/RC-RI.xsd index a37b16af8..97de256a8 100644 --- a/src/main/resources/xsd/RC-RI.xsd +++ b/src/main/resources/xsd/RC-RI.xsd @@ -172,7 +172,12 @@ VIDE = INCONNU - A valoriser avec la date et heure associée à la position + Date et heure de la dernière position connue + + + + + Vitesse de la ressource enregistrée, exprimée en km/h @@ -208,12 +213,17 @@ Le format attendu pour un numéro de téléphone est le suivant : +{indicatif pa - A valoriser avec la latitude de la position + Dernière coordonnée x connue de la ressource, entre −90 and +90 - A valoriser avec la longitude de la position + Dernière coordonnée y connue de la ressource, entre −180 and +180 + + + + + Dernière coordonnée z connue de la ressource, en mètres sans bornes