Koha-clms/t/db_dependent/api/v1
Tomás Cohen Arazi caa52ddf91
Bug 22639: Add GET /config/search_mappings endpoint
This patch adds a new API endpoint to retrieve the search field
mappings configuration (search fields and their MARC mappings, grouped
by index).

The endpoint supports content negotiation:
- application/json (default)
- application/yaml (for export/import compatibility)

An optional 'type' query parameter allows filtering mappings by MARC
type (marc21 or unimarc).

Implementation notes:
- New controller: Koha::REST::V1::Config::SearchMappings
- Reuses Koha::SearchEngine::Elasticsearch::raw_elasticsearch_mappings
- Registers 'application/yaml' MIME type in Koha::REST::V1
- Permission: manage_search_engine_config

To test:
1. Apply this patch
2. Rebuild the API bundle:
   $ yarn api:bundle
3. Restart Plack
4. Run:
   $ prove t/db_dependent/api/v1/config_search_mappings.t
=> SUCCESS: Tests pass
5. Test manually:
   $ curl -u user:pass /api/v1/config/search_mappings
=> SUCCESS: Returns JSON with search field mappings
   $ curl -u user:pass -H 'Accept: application/yaml' \
     /api/v1/config/search_mappings
=> SUCCESS: Returns YAML output
   $ curl -u user:pass /api/v1/config/search_mappings?type=marc21
=> SUCCESS: Only marc21 mappings are returned
6. Sign off :-D

Signed-off-by: Laurence <laurence.rault@biblibre.com>
Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2026-04-15 11:37:17 -06:00
..
items Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
public Bug 38365: Make swagger-cli happy 2026-03-16 11:57:37 +01:00
acquisitions_baskets.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
acquisitions_funds.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
acquisitions_orders.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
acquisitions_vendor_issues.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
acquisitions_vendors.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
additional_contents.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
advanced_editor_macros.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
article_requests.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
auth.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
auth_authenticate_api_request.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
auth_basic.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
authorised_values.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
authorities.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
biblios.t Bug 35380: (QA follow-up) Minor code quality fixes 2026-03-26 09:50:53 +01:00
bookings.t Bug 40134: (RM follow-up) Tidy commit 2026-02-10 08:51:04 -07:00
cash_registers.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
cashups.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
checkouts.t Bug 23415: Add API tests for fine override on renewal 2026-03-22 23:27:17 +01:00
circulation_rules.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
cities.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
clubs_holds.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
config_search_mappings.t Bug 22639: Add GET /config/search_mappings endpoint 2026-04-15 11:37:17 -06:00
deleted_biblios.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
edifact_files.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_agreements.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_counter_files.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_counter_logs.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_counter_registries.t Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
erm_custom_reports.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_documents.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_eholdings_packages.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_eholdings_resources.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_eholdings_titles.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_licenses.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_sushi_services.t Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
erm_usage_data_providers.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_usage_titles.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
erm_users.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
extended_attribute_types.t Bug 39438: (RM follow-up): Fix failing test 2026-02-06 10:43:09 -07:00
file_transports.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
holds.t Bug 23269: (RM follow-up): Tidy 2026-03-21 20:28:15 +00:00
idp.t Bug 37711: API changes 2025-11-05 07:12:31 -07:00
ill_backends.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
ill_batches.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
ill_batchstatuses.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
ill_requests.t Bug 40105: Patrons cannot add notes when creating an ILL 2026-03-05 08:33:32 -07:00
ill_users.t Bug 40504: (QA follow-up) Tidy 2026-03-26 14:21:25 +01:00
import_batch_profiles.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
import_record_matches.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
item_groups.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
item_types.t Bug 38136: Refactor database translations (alternative) 2026-04-15 11:37:14 -06:00
items.t Bug 40154: prevent deletion of items with holds 2026-02-10 10:52:04 -07:00
jobs.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
libraries.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
oauth.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
pagination.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
password_validation.t Bug 40286: (follow-up) Fix password_validation.t for find_by_identifier behavior 2026-03-23 08:01:09 +01:00
patron_categories.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
patrons.t Bug 41733: Unit tests 2026-04-15 11:37:13 -06:00
patrons_accounts.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
patrons_checkouts.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
patrons_extended_attributes.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
patrons_hold_groups.t Bug 41849: Add tests 2026-04-10 09:48:05 -06:00
patrons_holds.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
patrons_password.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
patrons_password_expiration.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
patrons_recalls.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
preservation_Processings.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
preservation_Trains.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
preservation_WaitingList.t Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
provider.t Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
query.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
record_sources.t Bug 35380: Unit tests 2026-03-26 09:50:09 +01:00
responses.t Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
return_claims.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
search_filters.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
sip2_accounts.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
sip2_institutions.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
sip2_system_preference_overrides.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
smtp_servers.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
status.t Bug 41107: (QA follow-up) Tidy status.t 2026-03-23 09:33:54 +01:00
stockrotation_rotas.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
stockrotationstage.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
suggestions.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
sysprefs.t Bug 41994: Implement /sysprefs route to list system preferences 2026-04-15 11:37:05 -06:00
ticket_updates.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
tickets.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
transfer_limits.t Bug 41076: Adjust our perl tidiness for v20250105 2026-02-05 09:03:51 -07:00
two_factor_auth.t Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00
unhandled_exceptions.t Bug 40163: (follow-up) Fix wrong GNU links and update test 2025-09-24 09:25:04 -06:00