Ajout d'une station hydro
=========================

Ce web-service permet d'ajouter des stations hydro en PHyC.

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

========= ================================
Paramètre Valeur
========= ================================
Route     stationhydro
Méthode   POST
Contenu   une station hydro au format json
========= ================================

Droit de gestion
----------------

IL faut être administrateur (rôle ADM) du site hydro pour ajouter une station hydro.

Règles techniques
-----------------

Le libellé est généré automatiquement par le web-service.

Type de la station
^^^^^^^^^^^^^^^^^^

Pour des sites PLANDEAU, on peut uniquement associer des stations de type H ou FICTIVE.

Pour des sites de type: STANDARD, SOURCE ou MAREGRAPHE, on peut associer n'importe quel type de
stations.

On peut ajouter de stations fictive aux sites virtuels.

On peut ajouter des stations H et HC à des sites virtuels avec observations.

Commune
^^^^^^^

La commune de la station à ajouter doit correspondre à une des communes du site parent.

Station LIMNIMERE
^^^^^^^^^^^^^^^^^

On peut ajouter des plages d'association de stations à pente uniquement aux stations LIMNIMERE.

Rôle ADM
^^^^^^^^

Il est obligatoire de définir un administrateur à la station à créer.

Contenu de la requête HTTP
--------------------------

La requête HTTP doit contenir un json hydrométrie contenant une station hydro.

Json hydrométrie
^^^^^^^^^^^^^^^^

.. literalinclude:: ../../../jsonschema/ajouterStationHydro.json
   :caption: Schéma de validation
   :language: json

* Les attributs RefHyd (associé à l'objet Refhyd) et Scenario sont obligatoires;
* L'objet RefHyd ne doit contenir qu'un seul attribut SitesHyddro associé à une liste ne contenant
  qu'un seul objet SiteHydro;
* L'objet SiteHydro doit contenir obligatoirement les attributs CdSiteHydro et StationsHydro;
* StationHydro doit être une liste contenant un unique objet StationHydro;
* L'objet StationHydro doit contenir obligatoirement les attributs CdStationHydro, TypStationHydro,
  RolsContactStationHydro et Commune;
* L'attribut CdStationHydro doit obligatoirement prendre la valeur '0000000000';
* L'attribut RolsContactStationHydro doit contenir un unique objet RolContactStationHydro;
* L'objet RolContactStationHydro doit contenir les attributs CdContact et RoleContactStationHydro;
* DtDebutContactStationHydro, DtFinContactStationHydroet et DtMAJContactStationHydro ne doivent pas
  être présents pour l'objet RolContactStationHydro,
* L'attribut RoleContactStationHydro doit valoir ADM.
* les attributs DtActivationPlageUtilStationHydro et DtDesactivationPlageUtilStationHydro ne doivent
  pas être présents pour l'objet PlageUtilStationHydro;
* Les attributs LbStationHydro, Capteurs et DtMajStationHydro ne doivent pas être présents pour
  l'objet StationHydro;
* les attributs DtActivationRefAlti, DtDesactivationRefAlti ne doivent pas être présents pour
  l'objet RefAlti.

Recalcul
--------

L'appel de ce webservice génère des recalculs si des plages d'utilisation sont définies.

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

Le web-service renverra le json hydrométrie contenant la station ajoutée.

La PHyC attribuera le code de la station (attribut CdStationHydro).

Le web-service rajoutera les attributs à la station:

* LbStationHydro:  Le libellé de la station sera généré automatiquement selon le format:
  "article+cours d'eau – [précision du cours d'eau] – article+commune – [complément du nom]
  – complément station";
* DtMajStationHydro : date de mise à jour de la station;
* DtDebutContactStationHydro et DtMAJContactStationHydro pour l'objet RolContactStationHydro;
* DtActivationRefAlti pour les objets RefAlti.
