Gestion d'une courbe de correction
==================================

Ce web-service permet d'ajouter ou de modifier des courbes de correction en PHyC.

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

========= ===================================
Paramètre Valeur
========= ===================================
Route     courbecorrection
Méthode   POST ou PUT
Contenu   courbe de correction au format json
========= ===================================

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

Il faut disposer du rôle ADM ou POLE2 sur la station hydro pour gérer une courbe de correction.

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

On peut ajouter des courbes de correction uniquement aux stations de type STD, LIMNIMERE et HC.

Lorsque l'on modifie une courbe de correction, le web-service ajoute ou modifie des points pivot
présents dans la courbe passé au web-service. Les points ne figurant pas dans la courbe passée ne
sont pas modifiés.
 
Lorsque l'on ajoute une courbe de correction, elle doit posséder au moins deux points pivot.

Une courbe de correction en peut pas contenir deux points pivot avec les mêmes dates.

Le premier point d'une courbe de correction doit avoir un delta à 0.

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

La requête HTTP doit contenir un json hydrométrie contenant une courbe de correction.

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

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

* Les attributs Donnees (associé à l'objet Donnees) et Scenario sont obligatoires;
* L'objet Donnees ne doit contenir qu'un seul attribut CourbesCorrH associé à une liste ne contenant
  qu'un seul objet CourbeCorrH;
* L'attribut CdStationHydro de la courbe est obligatoire;
* les attributs DtActivationPointPivot et DtDesactivationPointPivot des objets PointPivot ne doivent
  pas apparaître;
* l'attribut DtMajCourbeCorrH de l'objet CourbeCorrH ne doit pas être présent.

Recalcul
--------

L'ajout ou la modification d'une courbe de correction va générer des recalculs asynchrones sur une
partie ou l'ensemble de la courbe de correction.

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

En cas de succès, le web-service retournera un json hydrométrie contenant la courbe de correction.

Le web-service rajoutera l'attribut DtMajCourbeCorrH à la courbe de correction et les attributs
DtActivationPointPivot aux points de la courbe de correction.
