Publication de stations hydro
=============================

Paramètres HTTP
---------------

========= =============
Paramètre Valeur
========= =============
Route     stationshydro
Méthode   POST
========= =============

Paramètres
----------

Les paramètres doivent être transmis dans le contenu de la requête au format format JSON.

========== ========================= ========= ===
Nom        Description               Type      O/F
========== ========================= ========= ===
cdstations liste de codes de sites   list(str) F
dtmaj      date de mise à jour       datetime  F
capteurs   publication des capteurs  bool      F
roles      publication des rôles     bool      F
========== ========================= ========= ===

Droit de publication
--------------------

Les droits de publication sont liés aux stations hydro à publier.

Il n'est pas nécessaire d'être authentifier pour publier une station publique.

L'authentification est obligatoire pour les autres stations hydro.

Dans le cas d'une station restreinte (droit de publication = 20), l'utilisateur doit avoir le profil
institutionnel ou posséder un rôle sur la station hydro.

Et dans le cas d'une station privée (droit de publication = 30), l'utilisateur doit posséder un rôle
sur la station hydro.

Réponse du web-service
----------------------

Le web-service renvoie un json hydrométrie contenant les stations à publier.

Le json hydrométrie contient les deux propriétés Scenario et RefHyd.

RefHyd
^^^^^^

L'objet RefHyd contiendra l'unique propriété SitesHydro.

SitesHydro est une liste d'objets SiteHydro non vide.

SiteHydro
^^^^^^^^^

SiteHydro contiendra au moins les propriétés suivantes:

- CdSiteHydro
- LbSiteHydro
- TypSiteHydro
- StationsHydro : liste non vide d'objet StationHydro

StationHydro
^^^^^^^^^^^^

Propriétés de StationHydro:

- CdStationHydro
- LbStationHydro
- TypStationHydro
- ComplementLibelleStationHydro
- ComPrivStationHydro
- DtMajStationHydro
- CoordStationHydro : objet CoordStationHydro
- PkStationHydro
- DtMiseServiceStationHydro
- DtFermetureStationHydro
- ASurveillerStationHydro
- NiveauAffichageStationHydro
- DroitPublicationStationHydro
- DelaiDiscontinuiteStationHydro
- DelaiAbsenceStationHydro
- EssaiStationHydro
- InfluLocaleStationHydro
- ComInfluLocaleStationHydro
- ComStationHydro
- StationsHydroAnterieures : liste non vide d'objets StationHydroMini
- StationsHydroPosterieures : liste non vide d'objets StationHydroMini
- QualifsDonneesStationHydro : liste non vide d'objets QualifDonneesStationHydro
- FinalitesStationHydro : liste non vide d'objets FinaliteStationHydro
- LoisStatsContexteStationHydro : liste non vide d'objets LoiStatContexteStationHydro
- ImagesStationHydro : liste non vide d'objets ImageStationHydro
- RolsContactStationHydro : liste non vide d'objets RolContactStationHydro
- ReseauxMesureStationHydro : liste non vide d'objets ReseauMesureStationHydro
- RefsAlti : liste non vide d'objets  RefAlti
- CdStationHydroAncienRef
- Commune : objet Commune
- StationsHydroAmont : liste non vide d'objets StationHydroMini
- StationsHydroAval : liste non vide d'objets StationHydroMini
- PlagesAssoStationHydroFille : liste non vide d'objets PlageAssoStationHydroFille
- PlagesAssoStationHydroMere : liste non vide d'objets PlageAssoStationHydroMere

CoordStationHydro
^^^^^^^^^^^^^^^^^

Propriétés de CoordStationHydro:

- CoordXStationHydro
- CoordYStationHydro
- ProjCoordStationHydro


StationHydroMini

Propriétés de StationHydroMini:

- CdStationHydro
- LbStationHydro

QualifDonneesStationHydro
^^^^^^^^^^^^^^^^^^^^^^^^^

Propriétés de QualifDonneesStationHydro:

- CdRegime
- QualifDonStationHydro
- ComQualifDonStationHydro

FinaliteStationHydro
^^^^^^^^^^^^^^^^^^^^

Propriété de FinaliteStationHydro:

- CdFinaliteStationHydro

LoiStatContexteStationHydro
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Propriétés de LoiStatContexteStationHydro:

- TypContexteLoiStat
- TypLoiStationHydro

ImageStationHydro
^^^^^^^^^^^^^^^^^

Propriétés de ImageStationHydro:

- AdressedelImageStationHydro
- TypIllStationHydro
- FormatIllStationHydro
- ComImgStationHydro

RolContactStationHydro
^^^^^^^^^^^^^^^^^^^^^^

Propriétés de RolContactStationHydro:

- CdContact
- RoleContactStationHydro
- DtDebutContactStationHydro
- DtFinContactStationHydro
- DtMajRoleContactStationHydro

ReseauMesureStationHydro
^^^^^^^^^^^^^^^^^^^^^^^^

Propriétés de ReseauMesureStationHydro:

- CodeSandreRdd
- NomRdd

RefAlti
^^^^^^^

Propriétés de RefAlti:

- AltitudeRefAlti
- SysAltiRefAlti
- DtDebutRefAlti
- DtFinRefAlti
- DtActivationRefAlti
- DtDesactivationRefAlti

Commune
^^^^^^^

Propriétés de Commune:

- CdCommune
- LbCommune

PlageAssoStationHydroFille
^^^^^^^^^^^^^^^^^^^^^^^^^^

Propriétés de PlageAssoStationHydroFille:

- stationHydroFille : objet StationHydroMini
- DtDebPlageAssoStationHydroMereFille
- DtFinPlageAssoStationHydroMereFille
- DtMajPlageAssoStationHydroMereFille

PlageAssoStationHydroMere
^^^^^^^^^^^^^^^^^^^^^^^^^

Propriétés de PlageAssoStationHydroMere:

- stationHydroMere : objet StationHydroMini
- DtDebPlageAssoStationHydroMereFille
- DtFinPlageAssoStationHydroMereFille
- DtMajPlageAssoStationHydroMereFille

Exemple
^^^^^^^

.. code-block:: json
   :caption: Stations hydro au format json

   {
     "Scenario": {},
     "RefHyd": {
       "SitesHydro": [
         {
            "CdSiteHydro": "A1234567",
            "LbSiteHydro": "Lb site",
            "TypSiteHydro": "STANDARD",
            "StationsHydro": [
              {
                "CdStationHydro": "A123456789",
                "LbStationHydro": "Lb station",
                "TypStationHydro": "LIMNIMERE",
                "ComplementLibelleStationHydro": "Cplt",
                "ComPrivStationHydro": "Cmnt privé",
                "DtMajStationHydro": "2020-01-01T00:00:00",
                "CoordStationHydro": {
                  "CoordXStationHydro": 1.5,
                  "CoordYStationHydro": 45.5,
                  "ProjCoordStationHydro": 26
                },
                "PkStationHydro": 15.5,
                "DtMiseServiceStationHydro": "2010-01-01T00:00:00",
                "DtFermetureStationHydro": "2018-01-01T00:00:00",
                "ASurveillerStationHydro": true,
                "NiveauAffichageStationHydro": 991,
                "DroitPublicationStationHydro": 10,
                "DelaiDiscontinuiteStationHydro": 15,
                "DelaiAbsenceStationHydro": 60,
                "EssaiStationHydro": false,
                "InfluLocaleStationHydro": 2,
                "ComInfluLocaleStationHydro": "Cmnt influence",
                "ComStationHydro": "Cmnt",
                "StationsHydroAnterieures": [
                  {
                    "CdStationHydro": "B123456789",
                    "LbStationHydro": "Lb station antérieure"
                  }
                ],
                "StationsHydroPosterieures": [
                  {
                    "CdStationHydro": "C123456789",
                    "LbStationHydro": "Rivière"
                  }
                ],
                "QualifsDonneesStationHydro": [
                  {
                    "CdRegime": 2,
                    "QualifDonStationHydro": 16,
                    "ComQualifDonStationHydro": "Cmnt qualif"
                  }
                ],
                "FinalitesStationHydro": [
                  {
                    "CdFinaliteStationHydro": 1
                  }
                ],
                "LoisStatsContexteStationHydro": [
                  {
                    "TypContexteLoiStat": 1,
                    "TypLoiStationHydro": 1
                  }
                ],
                "ImagesStationHydro": [
                  {
                    "AdressedelImageStationHydro": "https://foo.org",
                    "TypIllStationHydro": 1,
                    "FormatIllStationHydro": "image/png",
                    "ComImgStationHydro": "Cmnt",
                  }
                ],
                "RolsContactStationHydro": [
                  {
                    "CdContact": "0",
                    "RoleContactStationHydro": "ADM",
                    "DtDebutContactStationHydro": "2011-01-01T00:00:00",
                    "DtFinContactStationHydro": "2012-01-01T00:00:00",
                    "DtMajRoleContactStationHydro": "2011-01-01T00:00:00"
                  }
                ],
                "ReseauxMesureStationHydro": [
                  {
                    "CodeSandreRdd": "RDD000",
                    "NomRdd": "Réseau"
                  }
                ],
                "RefsAlti": [
                  {
                    "AltitudeRefAlti": 156.2,
                    "SysAltiRefAlti": 31,
                    "DtDebutRefAlti": "2014-01-01T00:00:00",
                    "DtFinRefAlti": "2016-01-01T00:00:00",
                    "DtActivationRefAlti": "2015-01-01T00:00:00",
                    "DtDesactivationRefAlti": "2015-10-01T00:00:00"
                  }
                ],
                "CdStationHydroAncienRef": "A1234567",
                "Commune": {
                  "CdCommune": "31055",
                  "LbCommune": "Toulouse"
                },
                "StationsHydroAmont" : [
                  {
                    "CdstationHydro": "D123456789",
                    "LbStationHydro": "Lb station amont"
                  }
                ],
                "StationsHydroAval" : [
                  {
                    "CdstationHydro": "E123456789",
                    "LbStationHydro": "Lb station aval"
                  }
                ],
                "PlagesAssoStationHydroFille": [
                  {
                    "stationHydroFille": {
                      "CdStationHydro": "F123456789",
                      "LbStationHydro": "lb station fille"
                    },
                    "DtDebPlageAssoStationHydroMereFille": "2012-01-01T00:00:00",
                    "DtFinPlageAssoStationHydroMereFille": "2015-01-01T00:00:00",
                    "DtMajPlageAssoStationHydroMereFille": "2014-01-01T00:00:00"
                  }
                ]
              }
            ]
         }
       ]
     }
   }
