Ajout d'un site hydro
=====================

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

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

========= ============================
Paramètre Valeur
========= ============================
Route     sitehydro
Méthode   POST
Contenu   un site hydro au format json
========= ============================

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

Pour ajouter un site de type ponctuel, l'utilisateur authentifié doit
posséder un profil la zone hydro (profil **GEST** ou **JAU**).

Pour ajouter un site autre que de type ponctuel, l'utilisateur doit être gestionnaire de la zone
hydro (droit **GEST**).

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

Le libellé et le code du site hydro sont générés par le web-service.

Format du  libellé: "article+cours d'eau [précision du cours d'eau] article+commune(s)
[complément du nom]"

L'attribut facultatif CdBNBV ne peut être renseigné qu par les utilisateurs ayant le profil
institutionnel.

Il est obligatoire de défini un administrateur au site hydro à créer.

Pour un site à débit naturel reconstitué (type: RECONSTITUE), le site associé doit être
obligatoirement renseigné.

La valeur de la pondération (PonderationPluieDeBassin) doit être un flottant compris entre 0 et 100.

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

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

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

.. literalinclude:: ../../../jsonschema/ajouterSiteHydro.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 ne contenant
  qu'un seul objet SiteHydro;
* L'objet SiteHydro doit contenir obligatoirement les attributs CdSiteHydro, RolsContactSiteHydro,
  Communes et ZoneHydro;
* Les attributs LbSiteHydro, DtMajSiteHydro et StationsHydro ne doivent pas être présents;
* L'attribut CdSiteHydro de l'objet SiteHydro doit OBLIGATOIREMENT avoir comme valeur "00000000";
* L'attribut RolsContactSiteHydro doit être une liste contenant un objet RolContactSiteHydro;
* L'objet RolContactSiteHydro doit contenir uniquement les deux attributs CdContact et
  RoleContactSiteHydro;
* L'attribut RoleContactSiteHydro de l'objet RolContactSiteHydro doit obligatoirement avoir la
  valeur 'ADM'.

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

Le web-service renverra le json hydrométrie contenant le site hydro ajouté.

La PHyC attribuera un code au site hydro (attribut CdSiteHydro).

Le web-service rajoutera les attributs suivants au site:

* LbSiteHydro:
* DtMajSiteHydro : date de mise à jour du site;
* DtDebutContactSiteHydro et DtMajRoleContactSiteHydro pour l'objet RolContactSiteHydro;
