diff --git a/biblio-tools/v1/datacite/works/expand.ini b/biblio-tools/v1/datacite/works/expand.ini new file mode 100644 index 0000000..5c4e1de --- /dev/null +++ b/biblio-tools/v1/datacite/works/expand.ini @@ -0,0 +1,61 @@ +# OpenAPI Documentation - JSON format (dot notation) +mimeType = application/json + +post.operationId = post-v1-datacite-works-expand +post.description = Récupération des métadonnées associées à un DOI dans Recherche Data Gouv +post.summary = Récupération à partir d'un tableau d'objets avec à minima un champ value contenant le DOI +post.tags.0 = biblio-tools +post.requestBody.content.application/json.example.0.id = 1 +post.requestBody.content.application/json.example.0.value = 10.4000/edc.9014 +post.requestBody.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.requestBody.required = true +post.responses.default.content.application/json.example.0.id = 1 +post.responses.default.content.application/json.example.0.value = { ... } +post.responses.default.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.responses.default.description = Les prefixes DOI en version textuel +post.parameters.0.description = Indenter le JSON résultant +post.parameters.0.in = query +post.parameters.0.name = indent +post.parameters.0.schema.type = boolean + +# Necessary plugins +[use] +plugin = basics +plugin = analytics +plugin = storage + +# Flow configuration +[JSONParse] + +[expand] +path = value +cacheName = post-v1-datacite-works-expand + +[expand/URLFetch] + +url = get('value').prepend('https://api.datacite.org/dois/') +json = true +target = fix('value') +timeout = 30000 +retries = 5 +; évite l'arret du traitement, en cas d'erreur, on retourne la valeur non traitée +noerror = true + +; Prendre uniquement data +[expand/replace] +path = id +value = get('id') +path = value +value = get('value.data') + +# On marque les réponses qui n'ont pas abouties +[swing] +test = has('value.id') +reverse = true + +[swing/assign] +path = value +value = fix('n/a') + +[dump] +indent = env('indent', false) diff --git a/biblio-tools/v2/datacite/works/expand.ini b/biblio-tools/v2/datacite/works/expand.ini new file mode 100644 index 0000000..bccd71c --- /dev/null +++ b/biblio-tools/v2/datacite/works/expand.ini @@ -0,0 +1,61 @@ +# OpenAPI Documentation - JSON format (dot notation) +mimeType = application/json + +post.operationId = post-v2-datacite-works-expand +post.description = Récupération des métadonnées associées à un DOI dans Recherche Data Gouv +post.summary = Récupération à partir d'un tableau d'objets avec à minima un champ value contenant le DOI +post.tags.0 = biblio-tools +post.requestBody.content.application/json.example.0.id = 1 +post.requestBody.content.application/json.example.0.value = 10.4000/edc.9014 +post.requestBody.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.requestBody.required = true +post.responses.default.content.application/json.example.0.id = 1 +post.responses.default.content.application/json.example.0.value = { ... } +post.responses.default.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.responses.default.description = Les prefixes DOI en version textuel +post.parameters.0.description = Indenter le JSON résultant +post.parameters.0.in = query +post.parameters.0.name = indent +post.parameters.0.schema.type = boolean + +# Necessary plugins +[use] +plugin = basics +plugin = analytics +plugin = storage + +# Flow configuration +[JSONParse] + +[expand] +path = value +cacheName = post-v2-datacite-works-expand + +[expand/URLFetch] + +url = get('value').prepend('https://api.datacite.org/dois/') +json = true +target = fix('value') +timeout = 30000 +retries = 5 +; évite l'arret du traitement, en cas d'erreur, on retourne la valeur non traitée +noerror = true + +; Prendre uniquement data +[expand/replace] +path = id +value = get('id') +path = value +value = get('value.data') + +# On marque les réponses qui n'ont pas abouties +[swing] +test = has('value.id') +reverse = true + +[swing/assign] +path = value +value = fix('n/a') + +[dump] +indent = env('indent', false)