Browse Source

Bug 27855: Add 'extended_attributes' embedding to the spec

This patch just adds:
- The optional 'extended_attribute' attribute to the patron object
  OpenAPI definition. It consists of an array of extended_attribute
  objects.
- Add the x-koha-embed: [ 'extended_attributes' ] definition on the GET
  routes for patrons, allowing immedite availability of the
  'extended_attributes' embedding feature.

To test:
1. Apply this patchset
2. Restart Plack
3. Have some known patron_id/borrowernumber that has some extended
   attributes ('Patron attributes' on the UI).
4. Enable Basic authentication
5. Assuming the known patron_id is 1, point your favourite REST tool to http://kohadev-intra.myDNSname.org:8081/api/v1/patrons/1
   e.g.: if your user/pass is koha/koha
   curl --location --request GET 'http://kohadev-intra.myDNSname.org:8081/api/v1/patrons/1' \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Basic a29oYTprb2hh'
=> SUCCESS: You get the patron object correctly, no extended_attributes
6. Repeat 5, adding the x-koha-embed header like this:
   curl --location --request GET 'http://kohadev-intra.myDNSname.org:8081/api/v1/patrons/1' \
        --header 'Content-Type: application/json' \
        --header 'x-koha-embed: extended_attributes' \
        --header 'Authorization: Basic a29oYTprb2hh'
=> SUCCESS: You get the patron, with the extended attributes inside!
7. Sign off :-D

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.05.x
Tomas Cohen Arazi 9 months ago
committed by Jonathan Druart
parent
commit
18ee07409a
  1. 7
      api/v1/swagger/definitions/patron.json
  2. 10
      api/v1/swagger/paths/patrons.json

7
api/v1/swagger/definitions/patron.json

@ -281,6 +281,13 @@
"type": "boolean",
"readOnly": true,
"description": "If the patron has been anonymized"
},
"extended_attributes": {
"type": "array",
"description": "patron's extended attributes",
"items": {
"$ref": "extended_attribute.json"
}
}
},
"additionalProperties": false,

10
api/v1/swagger/paths/patrons.json

@ -451,7 +451,10 @@
"permissions": {
"borrowers": "1"
}
}
},
"x-koha-embed": [
"extended_attributes"
]
},
"post": {
"x-mojo-to": "Patrons#add",
@ -580,7 +583,10 @@
"permissions": {
"borrowers": "edit_borrowers"
}
}
},
"x-koha-embed": [
"extended_attributes"
]
},
"put": {
"x-mojo-to": "Patrons#update",

Loading…
Cancel
Save