Ajout d’une ressource à un scénario

Ce web-service ajoute une ressource à un scénario.

Paramètres HTTP

Paramètre

Valeur

Route

modele

Méthode

POST

Contenu

ressource au format json

Contenu de la requête HTTP

La requête contiendra le scénario avec la ressource à ajouter.

Pour l’objet scénario, les propriétés CdScenario et Ressources sont obligatoires.

Pour l’objet ressource, les propriétés Grandeur, Type et Nature sont obligatoires.

Pour les objets entitehydro, un des deux attributs est obligatoire: CdSiteHydro ou CdStationHydro.

Schéma de validation

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://bdprev.org/addressource.json",
  "type": "object",
  "properties": {
    "CdScenario": {
      "type": "string"
    },
    "Ressources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "Grandeur": {
            "type": "string"
          },
          "Type": {
            "type": "integer"
          },
          "Nature": {
            "type": "integer"
          },
          "EntitesHydro": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "CdSiteHydro": {"type":  "string"},
                "CdStationHydro": {"type":  "string"}
              },
              "oneOf": [
                {"required": ["CdStationHydro"]},
                {"required": ["CdSiteHydro"]}
              ],
              "additionalProperties": false
            },
            "minItems": 1
          },
          "SitesMeteo": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "CdSiteMeteo": {"type":  "string"}
              },
              "required": ["CdSiteMeteo"],
              "additionalProperties": false
            },
            "minItems": 1
          },
          "BassinsVersants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "CdBNBV": {"type":  "string"}
              },
              "required": ["CdBNBV"],
              "additionalProperties": false
            },
            "minItems": 1
          },
          "Series": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "CdSerie": {"type":  "string"}
              },
              "required": ["CdSerie"],
              "additionalProperties": false
            },
            "minItems": 1
          }
        },
        "required": [
          "Grandeur",
          "Type",
          "Nature"
        ],
        "additionalProperties": false

      },
      "minItems": 1,
      "maxItems": 1
    }
  },
  "required": ["CdScenario", "Ressources"],
  "additionalProperties": false
}

Exemple d’entrée

{
  "CdScenario": "CDSCENARIO",
  "Ressources": [
    {
      "Grandeur": "RR",
      "Type": 2,
      "Nature": 1,
      "EntitesHydro": [
        {
          "CdSiteHydro": "A1234567"
        },
        {
          "CdStationHydro": "A123456789"
        }
      ]
      "SitesMeteo": [
        {
          "CdSiteMeteo": "012345678"
        }
      ]
      "BassinsVersants": [
        {
          "CdBNBV": "CDBNBV"
        }
      ]
      "Series": [
        {
          "CdSerie": "moy"
        }
      ]
    }
  ]
}

Droit de gestion

L’utilisateur du web-service doit être authentifié et disposer du profil gestionnaire de modèles.

Sortie du web-service

Le web-service renverra la ressource insérée.

Au scénario d’entrée, le web-service rajoutera les attributs:

  • CdRessource: code de la ressource;

  • les libellés des entités hydro et des sites météo (LbSiteHydro, LbStationHydro, LbSiteMeteo);

  • DtMaj: date de mise à jour de la ressource.

Exemple de sortie

{
  "CdScenario": "CDSCENARIO",
  "Ressources": [
    {
      "CdRessource": 1,
      "Grandeur": "RR",
      "Type": 2,
      "Nature": 1,
      "EntitesHydro": [
        {
          "CdSiteHydro": "A1234567",
          "LbSiteHydro": "Libellé du site hydro"
        },
        {
          "CdStationHydro": "A123456789",
          "LbStationHydro": "LIbellé de la station hydro"
        }
      ]
      "SitesMeteo": [
        {
          "CdSiteMeteo": "012345678",
          "LbSiteMeteo": "Libellé du site météo"
        }
      ]
      "BassinsVersants": [
        {
          "CdBNBV": "CDBNBV"
        }
      ]
      "Series": [
        {
          "CdSerie": 1
        }
      ],
      "DtMaj": "2024-07-10T09:00:00"
    }
  ]
}