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 :
uploadannexstored dataconfigurationstatic filemetadataofferingdocumentdatastorecommunitypermissionprocessing
Dans le cas des exécutions de traitement, les champs suivant sont renommés pour l’occasion :
creationDatecreationlauchDatelauchstartDatestartfinishDatefinish
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 :
annexconfigurationstatic filemetadataofferingdocument
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/{annex}) - 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}/annexesGET /organizations/{organization}/annexesGET /administrator/annexesGET /datastores/{datastore}/configurationsGET /organizations/{organization}/configurationsGET /administrator/configurationsGET /datastores/{datastore}/staticsGET /organizations/{organization}/staticsGET /administrator/staticsGET /datastores/{datastore}/metadataGET /datastores/{datastore}/offeringsGET /organizations/{organization}/offeringsGET /administrator/offeringsGET /users/me/documents
Et, pour les API suivantes, ajout uniquement de la possibilité de trier par date de création (creation) :
GET /datastores/{datastore}/uploadsGET /datastores/{datastore}/checksGET /datastores/{datastore}/permissionsGET /datastores/{datastore}/stored_dataGET /datastores/{datastore}/processingsGET /datastores/{datastore}/processings/executionsGET /organizations/{organization}/uploadsGET /organizations/{organization}/stored_dataGET /organizations/{organization}/permissionsGET /organizations/{organization}/processings/executionsGET /administrator/uploadsGET /administrator/stored_dataGET /administrator/datastoresGET /administrator/communitiesGET /administrator/checksGET /administrator/processingsGET /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 :
creationnamedescritptionpriorityinput_typesoutput_types
Par défaut, la réponse contient les champs name et description.