[Koha-bugs] [Bug 21116] Add API routes through plugins

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Mon Sep 10 20:47:52 CEST 2018


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21116

Tomás Cohen Arazi <tomascohen at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #78323|0                           |1
        is obsolete|                            |

--- Comment #11 from Tomás Cohen Arazi <tomascohen at gmail.com> ---
Created attachment 78543
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=78543&action=edit
Bug 21116: Add API routes through plugins

This patch adds plugins the capability of injecting new routes on the
API.

The plugins should provide the following methods to be considered valid
API-generating plugins:

- 'api_routes': returning the 'path' component of the OpenAPI specification
corresponding to the routes served by the plugin
- 'api_namespace': it should return a namespace to be used for grouping the
endpoints provided by the plugin

otherwise, they will be just skipped.

All plugin-generated routes will be added the 'contrib' namespace, and
will end up placed inside /contrib/<namespace>, where <namespace> is what the
'api_namespace' returns.

A sample endpoint will be added to the Kitchen Sink plugin, and tests
are being written.

To test:
- Apply this patches
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/REST/Plugin/PluginRoutes.t
=> SUCCESS: Tests pass!
- Install the (latest) KitchenSink plugin
- Point your browser to the API like this:
  http://koha-intra.myDNSname.org:8081/api/v1/.html
=> SUCCESS: The /contrib/kitchensink/patrons/:patron_id/bother endpoint
implemented by the plugin has been merged!
- Sign off! :-D

Signed-off-by: Benjamin Rokseth <benjamin.rokseth at deichman.no>
Signed-off-by: Tomas Cohen Arazi <tomascohen at theke.io>
Signed-off-by: Alex Arnaud <alex.arnaud at biblibre.com>

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list