Ajout d'un site météo
=====================

Ce web-service route permet d'ajouter des sites météo en PHyC.

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

========= ============================
Paramètre Valeur
========= ============================
Route     sitemeteo
Méthode   POST
Contenu   un site météo au format json
========= ============================

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

Seul un administrateur national peut exécuter ce web-service.

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

Le code du site météo est constitué de 8 ou 9 chiffres.

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

La requête HTTP doit contenir un json hydrométrie contenant un site météo.

Il est obligatoire d'associer un administrateur au site météo.

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

.. literalinclude:: ../../../jsonschema/ajouterSiteMeteo.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 SitesMeteo associé à une liste non vide
  d'objets SiteMeteo;
* L'objet SiteMeteo doit contenir obligatoirement les attributs CdSiteMeteo, LbSiteMeteo,
  RolsContactSiteMeteo et Commune;
* L'attribut RolsContactSiteMeteo doit être une liste contenant un unique objet RolContactSiteMeteo;
* L'objet RolContactSiteMeteo doit contenir uniquement les propriétés CdContact et
  RoleContactSiteMeteo
* L'attribut RoleContactSiteMeteo de l'objet RolContactSiteMeteo doit obligatoirement avoir la
  valeur 'ADM'
* L'attribut DtMajSiteMeteo de l'objet SiteMeteo ne doit pas être présent;
* L'attribut GrdsMeteo d'un site météo doit être une liste non vide d'objets GrdMeteo;
* L'attribut CdGrdMeteo de l'objet GrdMeteo est obligatoire;
* La propriété DtMajGrdMeteo de l'objet GrdMeteo ne doit pas être présent;

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

Le web-service renverra le json hydrométrie contenant le site météo ajouté.

Le web-service rajoutera les attributs suivants au site:

* DtMajSiteMeteo : date de mise à jour du site;
* DtDebutContactSiteMeteo et DtMajRoleContactSiteMeteo pour l'objet RolContactSiteMeteo;
* DtMajGrdMeteo pour chaque objet GrdMeteo.
