Divers changements sur l’API Entrepôt
Modifié le
Diverses modifications ont été faites sur l’API Entrepôt
Changements #
Suppression de l’API de catalogue des uploads #
Afin d’harmoniser les livraisons avec les données stockées, la ligne de catalogage des livraisons est supprimée : GET /catalogs/uploads
API d’ajout, de création et suppression de la visibilité d’une donnée stockée #
Ajout d’une API permettant à un utilisateur d’un datastore d’accorder la visibilité d’une de ses données stockées à une ou plusieurs communautés pour leur permettre d’utiliser la donnée en lecture.
/datastores/{datastore}/stored_data/{stored_data}/visibility
[
"{id_community}"
]
[
{
"creation": "2025-07-30T08:12:04.934Z",
"update": "2025-07-30T08:12:04.934Z",
"name": "string",
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
Il est ensuite possible de récupérer la liste des visibilités accordées à une de ses données stockées :
/datastores/{datastore}/stored_data/{stored_data}/visibility
[
{
"creation": "2025-07-30T08:12:04.934Z",
"update": "2025-07-30T08:12:04.934Z",
"name": "string",
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
Il est aussi possible de supprimer la visibilité d’une donnée stockée :
/datastores/{datastore}/stored_data/{stored_data}/visibility
[
"{id_community}"
]
Amélioration des évènements sur les livraisons, les données stockées et les configurations #
Les titres des évènements sont améliorés pour être plus parlants pour les utilisateurs. Les évènements sont accessibles à ces URL :
/datastores/{datastore}/uploads/{upload}/events
/datastores/{datastore}/stored_data/{stored_data}/events
/datastores/{datastore}/configurations/{configuration}/events
Ajout d’un filtrage sur les clés utilisateurs #
Ajout d’un filtrage sur la recherche des clés utilisateur : GET /users/me/keys
Les champs sur lesquels il est possible de filtrer sont :
- type (valeurs possibles : HASH, HEADER, BASIC, OAUTH2)
- user_agent (possibilité de joker « % »)
- referer (possibilité de joker « % »)
- whitelist (possibilité de joker « % »)
- blacklist (possibilité de joker « % »)
- name (possibilité de joker « % »)
Ajout du champ « creation » pour toutes les entités #
Les exécutions de traitement et de vérification possède un champ « creation » de type « date ». Ce champ est généraliser à toutes les entités :
- upload
- annex
- stored data
- configuration
- static file
- metadata
- offering
- document
- datastore
- community
- permission
- processing
Dans le cas des exécutions de traitement, les champs suivant sont renommés pour l’occasion :
- creationDate creation
- lauchDate lauch
- startDate start
- finishDate finish
Généralisation de la date de mise à jour sur les entités #
Ce nouveau permet de connaitre facilement la date de dernière modification « importante » sur les entités. Le nouveau champ est appelé « update » et est ajouté à ces entités :
- annex
- configuration
- static file
- metadata
- offering
- document
Ce champ est mise à jour lors de ces évènements :
- lors du téléversement d’un nouveau fichier annexe pour écraser l’ancien (PUT /datastore/{datastore}/annexes/{annexe})
- lors du téléversement d’un nouveau fichier metadonnée pour écraser l’ancien (PUT /datastore/{datastore}/metadata/{metadata})
- lors du téléversement d’un nouveau fichier statique pour écraser l’ancien (PUT /datastore/{datastore}/statics/{static})
- lors d’un appel de modification de la configuration (PUT /datastore/{datastore}/configurations/{configuration})
- lors d’un appel de synchronisation d’une offre (PUT /datastore/{datastore}/offerings/{offering})
- lors du téléversement d’un nouveau fichier document (PUT /users/me/documents/{document})
Modification du système de tri dans les listes d’entités.
Le tri par « lastEvent » est remplacé par « last_event ». Exemple :
/datastores/{datastore}/configurations?sort=last_event,desc
[
{
"name": "BDORTHO en infrarouge fausses couleurs",
"layer_name": "ORTHOIMAGERY.ORTHOPHOTOS.IRC",
"type": "WMS-RASTER",
"status": "PUBLISHED",
"_id": "bc5c244f-1528-41d3-bad9-d6557cbefce5"
},
{
"name": "BDORTHO en infrarouge fausses couleurs",
"layer_name": "ORTHOIMAGERY.ORTHOPHOTOS.IRC",
"type": "WMTS-TMS",
"status": "PUBLISHED",
"_id": "578fb2b4-3246-4900-9776-ad533cc0cf4e"
},
{
"name": "Ortho_20_cm-wmsr",
"layer_name": "HR.ORTHOIMAGERY.ORTHOPHOTOS",
"type": "WMS-RASTER",
"status": "PUBLISHED",
"_id": "c4206604-6f96-47a5-bed5-32cf3b63c571"
}
]
De plus, ajout de la possibilité de trier par date de création (« creation ») et par date de mise à jour (« update ») pour les API suivantes :
- GET /datastores/{datastore}/annexes
- GET /organizations/{organization}/annexes
- GET /administrator/annexes
- GET /datastores/{datastore}/configurations
- GET /organizations/{organization}/configurations
- GET /administrator/configurations
- GET /datastores/{datastore}/statics
- GET /organizations/{organization}/statics
- GET /administrator/statics
- GET /datastores/{datastore}/metadata
- GET /datastores/{datastore}/offerings
- GET /organizations/{organization}/offerings
- GET /administrator/offerings
- GET /users/me/documents
Et, pour les API suivantes, ajout uniquement de la possibilité de trier par date de création (« creation ») :
- GET /datastores/{datastore}/uploads
- GET /datastores/{datastore}/checks
- GET /datastores/{datastore}/permissions
- GET /datastores/{datastore}/stored_data
- GET /datastores/{datastore}/processings
- GET /datastores/{datastore}/processings/executions
- GET /organizations/{organization}/uploads
- GET /organizations/{organization}/stored_data
- GET /organizations/{organization}/permissions
- GET /organizations/{organization}/processings/executions
- GET /administrator/uploads
- GET /administrator/stored_data
- GET /administrator/datastores
- GET /administrator/communities
- GET /administrator/checks
- GET /administrator/processings
- GET /administrator/processings/executions
Nouvelle route de listage des stockages #
Liste les stockages disponibles pour le datastore. Les paramètres disponibles pour la route sont :
- type : type de stockage (valeurs disponibles : POSTGRESQL, S3, FILESYSTEM, OPENSEARCH, POSTGRESQL-ROUTING)
- use_ratio : Pourcentage minimum d’utilisation du quota
/datastores/{datastore}/storages
{
"data": [
{
"use": 0,
"quota": 0,
"storage": {
"creation": "2025-07-30T08:44:31.208Z",
"update": "2025-07-30T08:44:31.208Z",
"name": "string",
"type": "POSTGRESQL",
"labels": [
"string"
],
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
],
"uploads": {
"use": 0,
"quota": 0,
"storage": {
"creation": "2025-07-30T08:44:31.208Z",
"update": "2025-07-30T08:44:31.208Z",
"name": "string",
"type": "POSTGRESQL",
"labels": [
"string"
],
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"annexes": {
"use": 0,
"quota": 0,
"storage": {
"creation": "2025-07-30T08:44:31.208Z",
"update": "2025-07-30T08:44:31.208Z",
"name": "string",
"type": "POSTGRESQL",
"labels": [
"string"
],
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
}
Suppression de la visibilité associée aux livraisons et données stockées et ajout d’une notion de publicité #
Une harmonisation est réalisée en supprimant la visibilité associée aux entités et en ajoutant une notion de publicité.
Pour les livraisons et les données stockées, le champs « visibility » est remplacé par « open ».
Ainsi, les livraisons et données stockées en « visibility=PUBLIC » deviennent « open=true » et celles en « visibility=REFERENCED » ou « visibility=PRIVATE » deviennent « open=false ».
Les livraisons et données stockées en « open=true » pourront donc être utilisé dans les traitements d’autres datastores.
Cette modification impacte la création de la livraison et il faut bien remplacé le champ « visibility » par « open » pour que la création fonctionne.
API de récupération des données stockées visibles d’un utilisateur #
Ajout d’une API permettant à un utilisateur de connaitre les données stockées qui lui sont visibles.
Les paramètres de filtrage sont identiques à ceux de « GET /datastores/{datastore}/stored_data », sauf « owned » et « shared ».
/users/me/stored_data
[
{
"creation": "2025-07-30T09:29:22.332Z",
"update": "2025-07-30T09:29:22.332Z",
"name": "string",
"type": "ROK4-PYRAMID-RASTER",
"open": true,
"srs": "string",
"description": "string",
"status": "CREATED",
"contact": "string",
"bbox": {
"west": 0,
"south": 0,
"east": 0,
"north": 0
},
"size": 0,
"last_event": {
"title": "string",
"text": "string",
"date": "2025-07-30T09:29:22.332Z",
"initiator": {
"creation": "2025-07-30T09:29:22.332Z",
"update": "2025-07-30T09:29:22.332Z",
"last_name": "string",
"first_name": "string",
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"tags": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"edition": {
"from": "2025-07-30",
"to": "2025-07-30"
},
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
De plus, une route supplémentaire permet de récupérer les informations d’une donnée stockée visisible de l’utilisateur :
/users/me/stored_data/{stored_data}
[
{
"creation": "2025-07-30T09:29:22.332Z",
"update": "2025-07-30T09:29:22.332Z",
"name": "string",
"type": "ROK4-PYRAMID-RASTER",
"open": true,
"srs": "string",
"description": "string",
"status": "CREATED",
"contact": "string",
"bbox": {
"west": 0,
"south": 0,
"east": 0,
"north": 0
},
"size": 0,
"last_event": {
"title": "string",
"text": "string",
"date": "2025-07-30T09:29:22.332Z",
"initiator": {
"creation": "2025-07-30T09:29:22.332Z",
"update": "2025-07-30T09:29:22.332Z",
"last_name": "string",
"first_name": "string",
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
},
"tags": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"edition": {
"from": "2025-07-30",
"to": "2025-07-30"
},
"_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
Ajout du champ « fields » pour l’API de récupération de la liste des traitements disponibles #
Pour l’API, « GET /datastores/{datastore}/processings », le champ d’énumération « fields » a été ajouté pour préciser les champs souhaités dans la réponse. Les valeurs disponibles sont :
- creation
- name
- descritption
- priority
- input_types
- output_types
Par défaut, la réponse contient les champs « name » et « description ».