Modification d'un seuil hydro
=============================

Associée à la méthode PUT, cette route permet de modifier des seuils hydro en PHyC.

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

========= =============================
Paramètre Valeur
========= =============================
Route     seuilhydro
Méthode   PUT
Contenu   un seuil hydro au format json
========= =============================

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

Il faut posséder le rôle ADM OU POLE2 ou PREVI sur le site hydro associé au seuil.

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

Le seuil hydro identifié par son code doit exister.

Le seuil hydro doit bien être associé au site hydro.

Pour les mnémoniques de seuil de vigilance, la PHyC générera une erreur
si l'indice de gravité ne correspond au mnémonique associé.
Se référer au tableau de la page: :doc:`index`.

L'indice de gravité est facultatif. La PhyC fournira la bonne valeur
pour les seuils de vigilance.

Pour des seuils de vigilance, la PHYC impose les contraintes suivantes:

-  les seuils de vigilance sont de type absolu (1)
-  les seuils de vigilance ne sont pas publics (droit de publication >=
   20)
-  les seuil de vigilance sont de nature 'seuil technique valeur fort'
   (22)

Pour désactiver une valeur de seuil, il faut fournir la valeur null à l'attribut ValValSeuilHydro.

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

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

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

.. literalinclude:: ../../../jsonschema/modifierSeuilHydro.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 SeuilsHydro associé à une liste non vide
  d'objets SeuilHydro;
* L'objet SeuilHydro doit contenir les attributs CdSeuilHydro, SiteHydro;
* L'objet SeuilHydro ne doit pas contenir l'attribut DtMajSeuilHydro.
* ValsSeuilHydro doit être une liste non vide d'objets ValSeuilHydro;
* ValSeuilHydro doit contenir une des propriété SiteHydro ou StationHydro ou Capteur;
* La propriété ValValSeuilHydro de l'objet ValSeuilHydro est obligatoire;
* ValSeuilHydro ne doit pas contenir les propriétés DtActivationValSeuilHydro et
  DtDesactivationValSeuilHydro

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

En cas de succès, le web-service retournera un json hydrométrie contenant le seuil modifié.

Le web-service rajoutera l' attribut DtMajSeuilHydro au seuil hydro.

Le web-service rajoutera l'attribut DtActivationValSeuilHydro et en cas de désactivation
l'attribut DtDesactivationValSeuilHydro pour l'objet ValSeuilHydro.
