From 4e9ae44b20af952be60a328e7802824340aeda20 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 2 Jan 2019 15:05:10 -0300 Subject: [PATCH] Bug 22061: Add RESTPublicAPI syspref Signed-off-by: Josef Moravec --- .../data/mysql/atomicupdate/bug_22061_public_api.perl | 14 ++++++++++++++ installer/data/mysql/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/web_services.pref | 6 ++++++ 3 files changed, 21 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_22061_public_api.perl diff --git a/installer/data/mysql/atomicupdate/bug_22061_public_api.perl b/installer/data/mysql/atomicupdate/bug_22061_public_api.perl new file mode 100644 index 0000000..8187eaa --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_22061_public_api.perl @@ -0,0 +1,14 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + + $dbh->do(q{ + INSERT IGNORE INTO systempreferences + ( variable, value, options, explanation, type ) + VALUES + ('RESTPublicAPI','1',NULL,'If enabled, the REST API will expose the /public endpoints.','YesNo') + }); + + # Always end with this (adjust the bug info) + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 22061 - Add a /public namespace that can be switched on/off)\n"; +} diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 6298acd..2102db0 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -487,6 +487,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('ReservesNeedReturns','1','','If ON, a hold placed on an item available in this library must be checked-in, otherwise, a hold on a specific item, that is in the library & available is considered available','YesNo'), ('RESTdefaultPageSize','20','','Default page size for endpoints listing objects','Integer'), ('RESTOAuth2ClientCredentials','0',NULL,'If enabled, the OAuth2 client credentials flow is enabled for the REST API.','YesNo'), +('RESTPublicAPI','1',NULL,'If enabled, the REST API will expose the /public endpoints.','YesNo'), ('RestrictedPageLocalIPs','',NULL,'Beginning of IP addresses considered as local (comma separated ex: "127.0.0,127.0.2")','Free'), ('RestrictedPageContent','',NULL,'HTML content of the restricted page','TextArea'), ('RestrictedPageTitle','',NULL,'Title of the restricted page (breadcrumb and header)','Free'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref index 6b415f2..928a0b7 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref @@ -11,6 +11,12 @@ Web services: yes: Enable no: "Disable" - "the OAuth2 client credentials grant for the REST API. Requires Net::OAuth2::AuthorizationServer installed. [EXPERIMENTAL]" + - + - pref: RESTPublicAPI + choices: + yes: Enable + no: "Disable" + - "the /public namespace of the API." OAI-PMH: - - pref: OAI-PMH -- 2.1.4