Gestion des plages d'utilisation d'un capteur
=============================================

Ce web-service permet de gérer les plages d’utilisation d’un capteur.

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

========= ============================
Paramètre Valeur
========= ============================
Route     plagecapteur
Méthode   POST ou PUT
Contenu   une plage d'utilisation
          d'un capteur au format json
========= ============================

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

L'utilisateur doit posséder un des rôles ADM, POLE2, POLE3, POLE4 ou PREVI sur la station du capteur.

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

Le site, la station hydro et le capteur doivent exister.

La station hydro doit dépendre du site hydro et le capteur de la station.

La date de début doit être inférieure à la date de fin d'utilisation.

Paramètre ActivePlageUtilCapteur
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Si cet attribut est à true, cette plage va être insérée en PHyC.

Comme 2 capteurs  de même grandeur ne peuvent être actifs en même temps, la PHyC va désactiver les plages des autres
capteurs de même grandeur intersectant la nouvelle plage d'utilisation.

Si cet attribut est à false, la plage va être désactiver. Les observations du capteur sur cette
plage ne remonteront plus à la station.


Recalcul
--------

L'appel de ce web-service génère des recalculs asynchrones sur la période d'utilisation fournie.

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

La requête HTTP doit contenir un json hydrométrie contenant la plage d'utilisation du capteur.

Format JSON
^^^^^^^^^^^

.. literalinclude:: ../../../jsonschema/gererPlageUtilisationCapteur.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 SitesHydro associé à une liste non vide
  d'objets SiteHydro;
* L'objet SiteHydro doit contenir obligatoirement les attributs CdSiteHydro et StationsHydro;
* StationsHydro doit être une liste non vide d'objets StationHydro;
* StationHydro doit contenir les attributs CdStationHydro et Capteurs;
* Capteurs doit être une liste non vide d'objets Capteur;
* Capteur oit contenir uniquement les attributes CdCapteur et PlagesUtilCapteur
* PlagesUtilCapteur doit être une liste non vide d'objets PlageUtilCapteur
* PlageUtilCapteur doit contenir obligatoiremen les attributs DtDebPlageUtilCapteur et
  ActivePlageUtilCapteur
* PlageUtilCapteur peut contenir l'attribut DtFinPlageUtilCapteur.

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

Le web-service renverra le json hydrométrie contenant la plage d'utilisation du capteur.

En fonction  de la valeur ActivePlageUtilCapteur, le web-service rajoutera les attributs
DtActivationPlageUtilCapteur et DtDesactivationPlageUtilCapteur.
