Skip to content

Permet l'import et l'export JSON des champs d'un rapport

Killian Kemps requested to merge fix-api-headers into main

Détails

  • API : Corrige le header accept-language optionnel
  • API : Permet l'import de champs sans lancer de side-effects et en recréant les IDs
  • API : Permettre l'export de données en JSON standard directement

Explications

Pouvoir exporter les champs d'un rapport en un JSON avec une requête :

curl -X 'GET' \
  'http://localhost:8080/api/v1/reports/{report_id_source}/fields?export=true' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6bnVsbCwicG9saWNpZXNfZ3JvdXAiOnsiY29tbWVudCI6IkFsbCBhY3Rpb25zIiwiaWQiOjEsInBvbGljaWVzIjpbeyJyZXBvcnRfaWQiOiIqIiwiZmllbGRfaWQiOiIqIiwiYWN0aW9ucyI6WyJyZXBvcnQ6bGlzdCIsInJlcG9ydDpyZWFkIiwicmVwb3J0OndyaXRlIiwicmVwb3J0OmNyZWF0ZSIsInJlcG9ydDpzaGFyZSIsInJlcG9ydDplZGl0IiwicmVwb3J0OmRlbGV0ZSJdLCJmaWx0ZXJzIjpudWxsLCJpZCI6MX1dfSwiaXNzIjoicGV0aXQtcmFwcG9ydGV1ciIsImF1ZCI6InBldGl0LXJhcHBvcnRldXI6YXV0aCIsImlhdCI6MTY3Mzk3MDE1OC43NjA3ODV9.65SbQ2XS63QbG0uEJzrT9sR3h5gmDcYWteB6JPfoYLA' \
> 20230117_modele_cpo.json

Puis importer ce JSON dans un rapport déjà existant (j'ai utilisé le CLI httpie car je n'ai pas réussi à faire pareil avec curl pour une raison inconnue):

curl -X 'POST' \
  -d @20230117_modele_cpo.json \
  'http://localhost:8080/api/v1/reports/{report_id_cible}/fields' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6bnVsbCwicG9saWNpZXNfZ3JvdXAiOnsiY29tbWVudCI6IkFsbCBhY3Rpb25zIiwiaWQiOjEsInBvbGljaWVzIjpbeyJyZXBvcnRfaWQiOiIqIiwiZmllbGRfaWQiOiIqIiwiYWN0aW9ucyI6WyJyZXBvcnQ6bGlzdCIsInJlcG9ydDpyZWFkIiwicmVwb3J0OndyaXRlIiwicmVwb3J0OmNyZWF0ZSIsInJlcG9ydDpzaGFyZSIsInJlcG9ydDplZGl0IiwicmVwb3J0OmRlbGV0ZSJdLCJmaWx0ZXJzIjpudWxsLCJpZCI6MX1dfSwiaXNzIjoicGV0aXQtcmFwcG9ydGV1ciIsImF1ZCI6InBldGl0LXJhcHBvcnRldXI6YXV0aCIsImlhdCI6MTY3Mzk3MDE1OC43NjA3ODV9.65SbQ2XS63QbG0uEJzrT9sR3h5gmDcYWteB6JPfoYLA'

Solution alternative avec le CLI httpie mais maintenant que j'ai retrouvé la bonne commande avec curl ce dernier suffit:

http POST \
  http://localhost:8080/api/v1/reports/19749/fields \
  accept:application/json \
  Content-Type:application/json \
  Authorization:'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InJvb3QiLCJwb2xpY2llc19ncm91cCI6eyJjb21tZW50IjoiQWxsIGFjdGlvbnMiLCJpZCI6MSwicG9saWNpZXMiOlt7InJlcG9ydF9pZCI6IioiLCJmaWVsZF9pZCI6IioiLCJhY3Rpb25zIjpbInJlcG9ydDpsaXN0IiwicmVwb3J0OnJlYWQiLCJyZXBvcnQ6d3JpdGUiLCJyZXBvcnQ6Y3JlYXRlIiwicmVwb3J0OnNoYXJlIiwicmVwb3J0OmVkaXQiLCJyZXBvcnQ6ZGVsZXRlIl0sImZpbHRlcnMiOm51bGwsImlkIjoxfV19LCJpc3MiOiJwZXRpdC1yYXBwb3J0ZXVyIiwiYXVkIjoicGV0aXQtcmFwcG9ydGV1cjphdXRoIiwiaWF0IjoxNjczOTY3OTI4LjEyNjY3LCJleHAiOjE2NzQ1NzI3MjguMTI2Njc3fQ.pRrIlLeY54pgFTBSgjFb7fsOIbZ_MV3IprBl49pJWjM' \
  < 20230117_modele_cpo.json

Captures d'écran

Références

https://taches.cemea.org/b/bJJXFZxe6pRHN8uHy/dev-web/sKYYqiSfiYGkzAXk2

Dépendances

Edited by Killian Kemps

Merge request reports