MDL-61903 webservice: Implement null privacy provider
authorMihail Geshoski <mihail@moodle.com>
Mon, 9 Apr 2018 08:36:53 +0000 (16:36 +0800)
committerMihail Geshoski <mihail@moodle.com>
Tue, 17 Apr 2018 01:19:59 +0000 (09:19 +0800)
Implement null privacy provider to rest, soap and xmlrpc webservice plugins.

webservice/rest/classes/privacy/provider.php [new file with mode: 0644]
webservice/rest/lang/en/webservice_rest.php
webservice/soap/classes/privacy/provider.php [new file with mode: 0644]
webservice/soap/lang/en/webservice_soap.php
webservice/xmlrpc/classes/privacy/provider.php [new file with mode: 0644]
webservice/xmlrpc/lang/en/webservice_xmlrpc.php

diff --git a/webservice/rest/classes/privacy/provider.php b/webservice/rest/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..efbe5c0
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Privacy provider implementation for webservice_rest.
+ *
+ * @package    webservice_rest
+ * @copyright  2018 Mihail Geshoski <mihail@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace webservice_rest\privacy;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Privacy provider implementation for webservice_rest.
+ *
+ * @copyright  2018 Mihail Geshoski <mihail@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class provider implements \core_privacy\local\metadata\null_provider {
+
+    /**
+     * Get the language string identifier with the component's language
+     * file to explain why this plugin stores no data.
+     *
+     * @return  string
+     */
+    public static function get_reason() : string {
+        return 'privacy:metadata';
+    }
+}
index dfe42f2..c8fcbfc 100644 (file)
@@ -25,4 +25,5 @@
  */
 
 $string['pluginname'] = 'REST protocol';
+$string['privacy:metadata'] = 'The REST protocol plugin does not store any personal data.';
 $string['rest:use'] = 'Use REST protocol';
diff --git a/webservice/soap/classes/privacy/provider.php b/webservice/soap/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..e27bbbc
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Privacy provider implementation for webservice_soap.
+ *
+ * @package    webservice_soap
+ * @copyright  2018 Mihail Geshoski <mihail@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace webservice_soap\privacy;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Privacy provider implementation for webservice_soap.
+ *
+ * @copyright  2018 Mihail Geshoski <mihail@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class provider implements \core_privacy\local\metadata\null_provider {
+
+    /**
+     * Get the language string identifier with the component's language
+     * file to explain why this plugin stores no data.
+     *
+     * @return  string
+     */
+    public static function get_reason() : string {
+        return 'privacy:metadata';
+    }
+}
index 403f6db..5a2ef9b 100644 (file)
@@ -25,4 +25,5 @@
  */
 
 $string['pluginname'] = 'SOAP protocol';
+$string['privacy:metadata'] = 'The SOAP protocol plugin does not store any personal data.';
 $string['soap:use'] = 'Use SOAP protocol';
diff --git a/webservice/xmlrpc/classes/privacy/provider.php b/webservice/xmlrpc/classes/privacy/provider.php
new file mode 100644 (file)
index 0000000..aeb67ad
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * Privacy provider implementation for webservice_xmlrpc.
+ *
+ * @package    webservice_xmlrpc
+ * @copyright  2018 Mihail Geshoski <mihail@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace webservice_xmlrpc\privacy;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Privacy provider implementation for webservice_xmlrpc.
+ *
+ * @copyright  2018 Mihail Geshoski <mihail@moodle.com>
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class provider implements \core_privacy\local\metadata\null_provider {
+
+    /**
+     * Get the language string identifier with the component's language
+     * file to explain why this plugin stores no data.
+     *
+     * @return  string
+     */
+    public static function get_reason() : string {
+        return 'privacy:metadata';
+    }
+}
index b5431ba..bd0fe74 100644 (file)
@@ -25,4 +25,5 @@
  */
 
 $string['pluginname'] = 'XML-RPC protocol';
+$string['privacy:metadata'] = 'The XML-RPC protocol plugin does not store any personal data.';
 $string['xmlrpc:use'] = 'Use XML-RPC protocol';