Publication d'événements (**déprécié**)
=======================================

Ce web-service permet de publier des événements de sites hydro ou de stations hydro
ou de sites météo.

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

========= ===================
Paramètre Valeur
========= ===================
Route     evenement
Méthode   GET
========= ===================

Paramètres URL
--------------

Un des trois paramètres cdsiteshydro, cdstations et cdsitesmeto est obligatoire et ne doit
apparaître qu'une fois.

============ =============================== ========= ===
Nom          Description                       Type    O/F
============ =============================== ========= ===
cdsiteshydro liste de codes des sites hydro  list(str) O/F
cdstations   liste de codes des station      list(str) O/F
cdsitesmeteo liste des codes des sites météo list(str) O/F
cdcontacts   liste des codes des contacts    list(stt) F
dtdebut      date de début                   datetime  F
dtfin        date de début                   datetime  F
types        types d'événements              list(int) F
publications types de publication            list(int) F
dtmaj        date de mis à jour              datetime  F
============ =============================== ========= ===

Types d'événement
^^^^^^^^^^^^^^^^^

Les types d'événements doivent correspondre à ceux définis dans
`la nomenclature Sandre 891 <http://id.eaufrance.fr/nsa/891>`_.

Par exemple types = [7] pour récupérer uniquement les commentaires Vigicrues.

Types de publication
^^^^^^^^^^^^^^^^^^^^

Les Types de publication doivent correspondre aux codes de
`la nomenclature Sandre 874 <http://id.eaufrance.fr/nsa/874>`_.

Droit de publication
--------------------

Les droits de publication appliqués pour ce service web sont ceux liés aux sites hydrométriques
ou sites météo ou aux stations hydro.

Sites hydro
^^^^^^^^^^^

Les événements d'un site hydrométrique public (droit de publication < 20) sont publics.
Il n'est pas nécessaire d'être authentifié pour les publier.

Il est nécessaire d'être authentifié pour les autres sites hydro.

Dans le cas d'un site restreint, l'utilisateur doit avoir le profil institutionnel ou être lié
à l’entité avec n’importe quel rôle pour publier des événements.

Et dans le cas d'un site privé, le contact doit être lié à l’entité avec n’importe quel rôle
pour publier des événements.

Stations hydro
^^^^^^^^^^^^^^

Les événements d'une station hydrométrique publique (droit de publication < 20) sont publics.
Il n'est pas nécessaire d'être authentifié pour les publier.

Il est nécessaire d'être authentifié pour les autres stations hydro.

Dans le cas d'une station restreinte, l'utilisateur doit avoir le profil institutionnel ou être lié
à l’entité avec n’importe quel rôle pour publier des événements.

Et dans le cas d'une station privée, le contact doit être lié à l’entité avec n’importe quel rôle
pour publier des événements.

Sites météo
^^^^^^^^^^^

Les événements d'un site météo public (affichage public = true) sont publics.
Il n'est pas nécessaire d'être authentifié pour les publier.


Pour un site météo privé (affichage public = false), l'utilisateur doit s'être obligatoirement
authentifié, et posséder au moins un rôle sur le site météo pour publier des événements.

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

Le web-service renvoie un json hydrométrie contenant les intervenants à publier.

Le json hydrométrie contient les deux propriétés Scenario et Donnees.

Donnees
^^^^^^^

L'objet Donnees contiendra l'unique propriété Evenements.

Evenements est une liste d'objets Evenement non vide.

Evenement
^^^^^^^^^

L'objet Evenement contiendra les propriétés suivantes:

- CdContact
- CdSiteHydro ou CdStationHydro ou CdSiteMeteo
- DtEvenement
- TypEvenement
- DescEvenement
- TypPublicationEvenement
- DtMajEvenement
- RessEvenement : liste non vide d'objets ResEvenement
- DtFinEvenement

ResEvenement
^^^^^^^^^^^^

Propriétés d'un objet ResEvenement:

- UrlResEvenement
- LbResEvenement

Exemple
^^^^^^^

.. code-block:: json
   :caption: Evénements au format json

   {
     "Scenario": {},
     "Donnees": {
       "Evenements": [
         {
           "CdContact": "0",
           "CdSiteHydro": "A0000000",
           "DtEvenement": "2020-01-01T00:00:00",
           "TypEvenement": 7,
           "DescEvenement": "Desc",
           "TypPublicationEvenement": 12,
           "DtMajEvenement": "2022-01-01T00:00:00",
           "RessEvenement": [
             {
               "UrlResEvenement": "https://foo.fr",
               "LbResEvenement": "lb"
             }
           ],
           "DtFinEvenement": "2021-01-01T00:00:00"
         }
       ]
     }
   }
