diff --git a/data-wrapper/v1/query-conditor.ini b/data-wrapper/v1/query-conditor.ini new file mode 100644 index 0000000..fba7b82 --- /dev/null +++ b/data-wrapper/v1/query-conditor.ini @@ -0,0 +1,73 @@ +# Entrypoint output format +mimeType = application/x-tar +extension = tar.gz + +# OpenAPI Documentation - JSON format (dot notation) +post.operationId = post-v1-query-conditor +post.description = Téléchargement des documents Conditor répondant à un requete +post.summary = Le fichier en entrée contient une requete dont le résulat produira un fichier coprus exploitable par un web service asynchrone +post.tags.0 = data-wrapper +post.requestBody.content.text/plain.schema.type = string +post.requestBody.content.text/plain.schema.format = binary +post.requestBody.required = true +post.responses.default.description = Fichier corpus au format tar.gz +post.responses.default.content.application/x-tar.schema.type = string +post.responses.default.content.application/x-tar.schema.format = binary +post.parameters.0.description = Nom du champ à exploiter comme identifiant de colonne +post.parameters.0.in = query +post.parameters.0.name = id +post.parameters.0.schema.type = string +post.parameters.0.schema.default = business.sourceUidChain +post.parameters.0.required = false +post.parameters.1.description = Nom du champ à exploiter comme identifiant de ligne +post.parameters.1.in = query +post.parameters.1.name = value +post.parameters.1.schema.type = string +post.parameters.1.schema.default = title.en +post.parameters.1.required = false +post.parameters.2.description = chaque ligne est réduite à un object contenant 2 champs (id, value) +post.parameters.2.in = query +post.parameters.2.name = slim +post.parameters.2.schema.type = boolean +post.parameters.2.schema.default = true +post.parameters.2.required = false + +[env] +path = slim +value = env('slim').thru(x => (x === 'false' ? false : true)) + +[use] +plugin = basics +plugin = conditor + +[TXTConcat] + +[replace] +path = q +value = self().trim() + +[CORHALFetch] +url = https://corhal-api.inist.fr +retries = 3 +timeout = 60000 + +[assign] +path = id +value = get(env('id', 'business.sourceUidChain')) +path = value +value = get(env('value', 'title.en')) +value = self() + +[exchange] +value = self().thru(x => _.env(null, 'slim') ? _.pick(x, ['id', 'value']) : x) + +[TARDump] +compress = true +manifest = fix({version: '1'}) +manifest = fix({generator: 'v1/query-conditor'}) +manifest = fix({parameters: _.omit(_.env(), 'headers')}) +manifest = fix({hostAgent: _.get(_.env(), 'headers.host')}) +manifest = fix({userAgent: _.get(_.env(), 'headers.user-agent')}) + + + diff --git a/data-wrapper/v1/query-istex.ini b/data-wrapper/v1/query-istex.ini new file mode 100644 index 0000000..d5acc90 --- /dev/null +++ b/data-wrapper/v1/query-istex.ini @@ -0,0 +1,74 @@ +# Entrypoint output format +mimeType = application/x-tar +extension = tar.gz + +# OpenAPI Documentation - JSON format (dot notation) +post.operationId = post-v1-query-istex +post.description = Téléchargement des documents ISTEX répondant à une requete +post.summary = Le fichier en entrée contient une requete dont le résulat produira un fichier coprus exploitable par un web service asynchrone +post.tags.0 = data-wrapper +post.requestBody.content.text/plain.schema.type = string +post.requestBody.content.text/plain.schema.format = binary +post.requestBody.required = true +post.responses.default.description = Fichier corpus au format tar.gz +post.responses.default.content.application/x-tar.schema.type = string +post.responses.default.content.application/x-tar.schema.format = binary +post.parameters.0.description = Nom du champ à exploiter comme identifiant de colonne +post.parameters.0.in = query +post.parameters.0.name = id +post.parameters.0.schema.type = string +post.parameters.0.schema.default = arkIstex +post.parameters.0.required = false +post.parameters.1.description = Nom du champ à exploiter comme identifiant de ligne +post.parameters.1.in = query +post.parameters.1.name = value +post.parameters.1.schema.type = string +post.parameters.1.schema.default = title +post.parameters.1.required = false +post.parameters.2.description = chaque ligne est réduite à un object contenant 2 champs (id, value) +post.parameters.2.in = query +post.parameters.2.name = slim +post.parameters.2.schema.type = boolean +post.parameters.2.schema.default = true +post.parameters.2.required = false + +[env] +path = slim +value = env('slim').thru(x => (x === 'false' ? false : true)) + +[use] +plugin = basics +plugin = istex + +[TXTConcat] + +[replace] +path = q +value = self().trim() + +[ISTEXScroll] +query = get('q') +field = * + +[ISTEXResult] + +[assign] +path = id +value = get(env('id', 'arkIstex')) +path = value +value = get(env('value', 'title')) +value = self() + +[exchange] +value = self().thru(x => _.env(null, 'slim') ? _.pick(x, ['id', 'value']) : x) + +[TARDump] +compress = true +manifest = fix({version: '1'}) +manifest = fix({generator: 'v1/query-istex'}) +manifest = fix({parameters: _.omit(_.env(), 'headers')}) +manifest = fix({hostAgent: _.get(_.env(), 'headers.host')}) +manifest = fix({userAgent: _.get(_.env(), 'headers.user-agent')}) + + +