Tree:
2ae0cc83f3
16.05.x
16.11.x
17.05.x
17.11.x
18.05.x
18.11.x
19.05.x
19.11.x
20.05.x
20.11.x
21.05.x
21.11.x
21.11/bug30761
22.05.x
22.11.x
3.0.x
3.10.x
3.12.x
3.14.x
3.16.x
3.18.x
3.2.x
3.20.x
3.22.x
3.4.x
3.6.x
3.6.x-maint/testing
3.6.x-rmaint/testing
3.8.x
MM-OPAC/theme_dep
master
new/bootstrap-opac
new_12478_elasticsearch
rmain2205
3.0.5_rc1
3.02.02
R_1-1-1RC1
R_1-2-1
R_1-2-1RC6
R_1-2-2
R_1-2-2RC4
R_1-2-3
R_1-2-3RC11
R_1-2-3RC12
R_1-2-3RC13
R_1-2-3RC14
R_1-2-3RC15
R_1-2-3RC16
R_1-2-3RC17
R_1-2-3RC18
R_1-2-3RC20
R_1-2-3RC21
R_1-2-3RC22
R_1-2-3RC23
R_1-2-3RC25
R_1-2-3RC26
R_1-2-3RC5
R_1-3-0
R_1-3-1
R_1-3-2
R_1-3-3
R_1-9-0
R_1-9-1
R_1-9-2
R_1-9-3
R_2-0-0
R_2-0-0RC1
R_2-0-0RC2
R_2-0-0RC3
R_2-0-0RC4
R_2-0-0pre1
R_2-0-0pre2
R_2-0-0pre3
R_2-0-0pre4
R_2-0-0pre5
R_2-1
R_2-2-6
R_2-2-6RC2
R_2-2-6RC3
R_2-2-6RC4
R_2-2-7
R_2-2-9
R_2-3-0
R_2-4
R_2_2_4
R_2_2_5
R_2_2_6_RC
dev_week
html_template_pro
rel_3_0_5
v16.05.00
v16.05.00-beta
v16.05.01
v16.05.02
v16.05.02-01
v16.05.03
v16.05.04
v16.05.05
v16.05.05-01
v16.05.06
v16.05.06-01
v16.05.07
v16.05.08
v16.05.09
v16.05.10
v16.05.11
v16.05.12
v16.05.13
v16.05.14
v16.05.15
v16.05.16
v16.05.17
v16.05.18
v16.05.19
v16.11.00
v16.11.01
v16.11.02
v16.11.03
v16.11.04
v16.11.05
v16.11.06
v16.11.07
v16.11.08
v16.11.09
v16.11.10
v16.11.11
v16.11.11-1
v16.11.12
v16.11.13
v16.11.14
v16.11.15
v16.11.16
v17.05.00
v17.05.01
v17.05.02
v17.05.03
v17.05.04
v17.05.05
v17.05.06
v17.05.07
v17.05.08
v17.05.09
v17.05.10
v17.05.11
v17.05.12
v17.05.13
v17.05.14
v17.11.00
v17.11.01
v17.11.02
v17.11.03
v17.11.04
v17.11.05
v17.11.06
v17.11.07
v17.11.08
v17.11.09
v17.11.10
v17.11.11
v17.11.12
v17.11.13
v17.11.14
v17.11.15
v17.11.16
v17.11.17
v17.11.18
v18.05.00
v18.05.00-rc1
v18.05.00-rc2
v18.05.01
v18.05.02
v18.05.03
v18.05.04
v18.05.05
v18.05.06
v18.05.07
v18.05.08
v18.05.09
v18.05.10
v18.05.11
v18.05.12
v18.05.13
v18.05.14
v18.11.00
v18.11.01
v18.11.02
v18.11.03
v18.11.04
v18.11.05
v18.11.06
v18.11.07
v18.11.08
v18.11.09
v18.11.10
v18.11.11
v18.11.12
v18.11.13
v18.11.14
v18.11.15
v18.11.16
v19.05.00
v19.05.01
v19.05.02
v19.05.03
v19.05.04
v19.05.05
v19.05.05-1
v19.05.06
v19.05.07
v19.05.08
v19.05.09
v19.05.10
v19.05.11
v19.05.12
v19.05.13
v19.05.14
v19.05.15
v19.05.16
v19.05.17
v19.11.00
v19.11.01
v19.11.02
v19.11.03
v19.11.04
v19.11.05
v19.11.06
v19.11.07
v19.11.08
v19.11.09
v19.11.10
v19.11.11
v19.11.12
v19.11.13
v19.11.14
v19.11.15
v19.11.16
v19.11.17
v19.11.18
v19.11.18-2
v19.11.19
v19.11.20
v19.11.21
v19.11.22
v19.11.23
v19.11.24
v19.11.25
v19.11.26
v19.11.27
v19.11.28
v19.11.29
v20.05.00
v20.05.01
v20.05.02
v20.05.03
v20.05.04
v20.05.05
v20.05.06
v20.05.07
v20.05.08
v20.05.09
v20.05.10
v20.05.11
v20.05.12
v20.05.13
v20.05.14
v20.05.15
v20.05.16
v20.05.17
v20.05.18
v20.11.00
v20.11.01
v20.11.02
v20.11.03
v20.11.04
v20.11.05
v20.11.06
v20.11.07
v20.11.08
v20.11.09
v20.11.10
v20.11.11
v20.11.12
v20.11.13
v20.11.15
v20.11.16
v20.11.17
v20.11.18
v20.11.19
v21.05.00
v21.05.01
v21.05.02
v21.05.03
v21.05.04
v21.05.05
v21.05.06
v21.05.07
v21.05.08
v21.05.09
v21.05.10
v21.05.11
v21.05.12
v21.05.13
v21.05.14
v21.05.15
v21.05.16
v21.05.17
v21.05.18
v21.05.19
v21.05.20
v21.05.21
v21.05.22
v21.05.22-1
v21.11.00
v21.11.01
v21.11.02
v21.11.03
v21.11.04
v21.11.04-1
v21.11.05
v21.11.06
v21.11.07
v21.11.08
v21.11.09
v21.11.10
v21.11.11
v21.11.12
v21.11.13
v21.11.14
v21.11.15
v21.11.16
v22.05.00
v22.05.01
v22.05.02
v22.05.03
v22.05.03-1
v22.05.04
v22.05.05
v22.05.05-01
v22.05.06
v22.05.07
v22.05.08
v22.05.09
v22.11.00
v22.11.01
v22.11.02
v3.0.6
v3.00.00
v3.00.00-alpha
v3.00.00-beta
v3.00.00-beta2
v3.00.00-stableRC1
v3.00.01-stable
v3.00.01-stable_update
v3.00.01.005
v3.00.02-final
v3.00.02-stable
v3.00.03
v3.00.04
v3.00.04_final
v3.00.04_fixed
v3.00.05
v3.00.06
v3.02.00
v3.02.00-alpha
v3.02.00-alpha2
v3.02.00-beta
v3.02.00-rc
v3.02.01
v3.02.03
v3.02.04
v3.02.05
v3.02.06
v3.02.07
v3.02.08
v3.02.09
v3.02.10
v3.02.11
v3.04.00
v3.04.01
v3.04.02
v3.04.03
v3.04.04
v3.04.05
v3.04.06
v3.04.07
v3.04.08
v3.06.00
v3.06.01
v3.06.02
v3.06.03
v3.06.04
v3.06.05
v3.06.06
v3.06.07
v3.06.08
v3.06.09
v3.06.10
v3.06.10.000
v3.06.11
v3.06.12.000
v3.08.00
v3.08.01
v3.08.02
v3.08.03
v3.08.04
v3.08.05
v3.08.06
v3.08.07
v3.08.08
v3.08.09
v3.08.10
v3.08.11
v3.08.12
v3.08.13
v3.08.14
v3.08.15
v3.08.16
v3.08.17
v3.08.18
v3.08.19
v3.08.20
v3.08.21
v3.08.22
v3.08.23
v3.08.24
v3.10.00
v3.10.01
v3.10.02
v3.10.03
v3.10.04
v3.10.05
v3.10.06
v3.10.07
v3.10.08
v3.10.09
v3.10.10
v3.10.11
v3.10.12
v3.10.13
v3.12.00
v3.12.00-alpha
v3.12.00-alpha2
v3.12.00-beta1
v3.12.00-beta3
v3.12.00-rc1
v3.12.00-rc2
v3.12.00-rc3
v3.12.01
v3.12.02
v3.12.03
v3.12.04
v3.12.05
v3.12.06
v3.12.07
v3.12.08
v3.12.09
v3.12.10
v3.12.11
v3.12.12
v3.12.13
v3.12.14
v3.12.15
v3.14.00
v3.14.00-alpha1
v3.14.00-alpha2
v3.14.00-beta
v3.14.01
v3.14.02
v3.14.03
v3.14.04
v3.14.05
v3.14.06
v3.14.07
v3.14.08
v3.14.09
v3.14.10
v3.14.11
v3.14.12
v3.14.13
v3.14.14
v3.14.15
v3.14.16
v3.14.17
v3.16.00
v3.16.00-beta
v3.16.00-pkg
v3.16.00-rc
v3.16.01
v3.16.02
v3.16.03
v3.16.04
v3.16.05
v3.16.05.1
v3.16.06
v3.16.07
v3.16.08
v3.16.09
v3.16.10
v3.16.11
v3.16.12
v3.16.13
v3.16.14
v3.16.15
v3.18.00
v3.18.00-beta
v3.18.01
v3.18.02
v3.18.03
v3.18.04
v3.18.05
v3.18.05.1
v3.18.06
v3.18.06-3
v3.18.07
v3.18.08
v3.18.09
v3.18.10
v3.18.11
v3.18.12
v3.18.13
v3.20.00
v3.20.00-beta
v3.20.01
v3.20.02
v3.20.03
v3.20.04
v3.20.05
v3.20.06
v3.20.07
v3.20.07.1
v3.20.08
v3.20.09
v3.20.10
v3.20.11
v3.20.12
v3.20.13
v3.20.14
v3.20.15
v3.22.00
v3.22.00-beta
v3.22.01
v3.22.02
v3.22.03
v3.22.04
v3.22.05
v3.22.06
v3.22.07
v3.22.08
v3.22.09
v3.22.10
v3.22.11
v3.22.12
v3.22.13
v3.22.14
v3.22.15
v3.22.16
v3.22.17
v3.22.18
v3.22.19
v3.22.20
v3.22.21
v3.8.16
version-1-2-0
version-1-2-1
${ noResults }
9 Commits (2ae0cc83f301e5e0215b35350eea39607f93e688)
Author | SHA1 | Message | Date |
---|---|---|---|
|
8083bc2ff0 |
Bug 22216: Make GET /patrons/{patron_id} staff only
This patch removes the possibility to access the patron object identified by patron_id by the patron itself, or a guarantor. It does so by removing the permissions from the spec. The tests are adjusted to remove that use case. To test: - Apply this patch - Run: $ kshell k$ prove t/db_dependent/api/v1/patrons.t => SUCCESS: Tests pass! - Sign off :-D Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> |
4 years ago |
|
a7e46047cf |
Bug 19784: Adapt /v1/patrons to new naming guidelines
This patch introduces two functions to the patrons endpoint: - _to_api - _to_model This are in charge of field mappings in order to comply with the guidelines. Koha::REST::V1:Auth is adjusted to handle 'patron_id' as well. 'borrowernumber' handling is kept until the existing endpoints get updated. To test: - Apply the patches - Run: $ kshell k$ prove t/db_dependent/api/v1/*.t => SUCCESS: Tests pass! - Sign off :-D Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
5 years ago |
|
6c3a273af9 |
Bug 16330: (QA follow-up) Repect guidelines on plurals Patron > Patrons
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
5 years ago |
|
dd9b6c1651 |
Bug 16330: Move patches to OpenAPI
This patch refactors the original work so it implements the controllers and the spec using Mojolicious::Plugin::OpenAPI, and OpenAPI for the specification. It removes the ability for patrons without permissions to edit their own data or their guarantee's. This will be moved to a patron modification requests endpoint for simplicity. It makes use of bugs 19410 and 19686 and their dependencies to deal with parameters handling, query building and pagination. Tests are adapted. To test: - Apply this patches and the dependencies - Run: $ kshell k$ prove t/db_dependent/api/v1/patrons.t => SUCCESS: Tests pass! - Sign off :-D Sponsored-by: ByWater Solutions Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
5 years ago |
|
7b8909cb90 |
Bug 16330: Add routes to add, update and delete patrons
This patch adds support for add, edit and delete patrons via REST API. GET /api/v1/patrons Get patron list from params GET /api/v1/patrons/<borrowernumber> Get single patron POST /api/v1/patrons Create a new patron PUT /api/v1/patrons/<borrowernumber> Update data about patron DEL /api/v1/patrons/<borrowernumber> Delete a patron Revised Test plan: 1) Apply this patch 2) Run tests perl t/db_dependent/api/v1/patrons.t 3) Add a user with proper rights to use the REST API 4) play with your favourite REST client (curl/httpie, etc.): Authenticate with the user created above and get a CGISESSION id. Use the CGISESSION to add, edit and delete patrons via the API. 5) Use PUT /patrons/<borrowernumber> for a patron without borrowers flag. This should go into pending patron modification status and needs to be accepted by a librarian. Please note there is no validation of body input in PUT/POST other than branchcode,category,userid,cardnumber. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
7 years ago |
|
5c8365e4a7 |
Bug 18403: REST API - patrons endpoint
There is something wrond here, the userenv is no set and so we cannot user search_limited. Should we set the userenv or filter on the libraries using libraries_where_can_see_patrons? WAITING FOR FEEDBACK HERE. Signed-off-by: Signed-off-by: Jon McGowan <jon.mcgowan@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
6 years ago |
|
915963ba7f |
Bug 18137: Make /patrons Mojolicious::Plugin::OpenAPI compatible
Also: - adding some missing and new response definitions into Swagger spec. - fixing failing test due to Bug 17932's change of boolean values To test: 1. prove t/db_dependent/api/v1/patrons.t Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> |
6 years ago |
|
00a50a9400 |
Bug 14868: Use x-koha-authorization in current routes
To test: 1. Run t/db_dependent/api/v1/holds.t 2. Run t/db_dependent/api/v1/patrons.t Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> |
7 years ago |
|
7b8c7b038f |
Bug 16699: Move Swagger-related files to api/v1/swagger
This patch separates Swagger-specifications and the minifySwagger.pl from other api-files by moving specifications & minifier into api/v1/swagger. Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi> My name is Olli-Antti Kivilahti and I approve this commit. We have been using the Swagger2.0-driven REST API on Mojolicious for 1 year now in production and I am certain we have a pretty good idea on how to work with the limitations of Swagger2.0 We participated in the development of the Mojolicious::Plugin::Swagger and know it well. We have made an extension to the plugin to provide full CORS support and have been building all our in-house features on the new REST API. Signed-off-by: Johanna Raisa <johanna.raisa@gmail.com> My name is Johanna Räisä and I approve this commit. We have been using Swagger2.0-driven REST API in production successfully. Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> |
7 years ago |
|
0eaf72ab26 |
Bug 16699: Split parameters and paths in Swagger
Parameters and paths should be split in our Swagger specification, because otherwise swagger.json would become messy with all the paths and their further specification in the same file. Also parameters should be split for the same reason. Instead of using index.json for definitions, parameters and paths, we define new files "definitions.json", "parameters.json" and "paths.json" in order to simplify the references. If we kept using index.json and try to reference "/definitions/error.json" from "/paths/holds.json", reference would be "../definitions/index.json#/error" instead of now simplified version, "../definitions.json#/error". Here is the proposed structure: . ├── swagger.json ├── definitions.json ├── paths.json ├── parameters.json ├── definitions │ └── error.json │ └── patron.json ├── parameters │ └── patron.json ├── paths │ └── patrons.json ├── minifySwagger.pl └── swagger.min.js The swagger.json paths, definitions and parameters will look as follows: ... "paths": { "$ref": "paths.json" }, "definitions": { "$ref": "definitions.json" }, "parameters": { "$ref": "parameters.json" } ... A problem with splitting specification into multiple files directly from swagger.json (e.g. "paths": { "$ref": "paths.json" }) is that it is not following the Swagger specification and an error will be thrown by the Swagger-UI default validator (online.swagger.io/validator). To overcome this problem, we use the minifySwagger.pl script from Buug 16212. This allows the developers to work with the structure introduced in this patch thus allowing developers to split the specification nicely, and still have a valid Swagger specification in the minified swagger.min.json. To test: -2: Apply the minifier-patch in Buug 16212. -1: Make sure you can validate your specification with Swagger2 validator at online.swagger.io/validator/debug?url=url_to_swaggerjson, or install it locally from https://github.com/swagger-api/validator-badge. 1. Don't apply this patch yet, but first validate swagger.json with swagger.io-validator (or your local version, if you installed it) 2. Observe that validation errors are given 3. Run minifySwagger.pl 4. Validate swagger.min.json with the validator you used in step 1 5. Observe that validation passes and we overcame the invalid specification problem in swagger.min.json 6. Apply this patch 7. Run minifySwagger.pl 8. Repeat step 4 9. Observe that validation passes with new structure 10. Run REST tests at t/db_dependents/api/v1 (11. Study the new structure of our Swagger specifications :)) Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi> My name is Olli-Antti Kivilahti and I approve this commit. We have been using the Swagger2.0-driven REST API on Mojolicious for 1 year now in production and I am certain we have a pretty good idea on how to work with the limitations of Swagger2.0 We participated in the development of the Mojolicious::Plugin::Swagger and know it well. We have made an extension to the plugin to provide full CORS support and have been building all our in-house features on the new REST API. Signed-off-by: Johanna Raisa <johanna.raisa@gmail.com> My name is Johanna Räisä and I approve this commit. We have been using Swagger2.0-driven REST API in production successfully. Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> |
7 years ago |