MDL-63924 core_privacy: Add shared_userlist provider
authorAndrew Nicols <andrew@nicols.co.uk>
Thu, 8 Nov 2018 07:32:20 +0000 (15:32 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Thu, 8 Nov 2018 07:39:56 +0000 (15:39 +0800)
privacy/classes/local/request/core_userlist_provider.php
privacy/classes/local/request/shared_userlist_provider.php [new file with mode: 0644]
privacy/classes/local/request/userlist_provider.php [new file with mode: 0644]

index 735f03e..6ad9741 100644 (file)
@@ -33,7 +33,7 @@ defined('MOODLE_INTERNAL') || die();
  * @package     core_privacy
  * @copyright   2018 Andrew Nicols <andrew@nicols.co.uk>
  */
-interface core_userlist_provider {
+interface core_userlist_provider extends userlist_provider {
 
     /**
      * Get the list of users who have data within a context.
diff --git a/privacy/classes/local/request/shared_userlist_provider.php b/privacy/classes/local/request/shared_userlist_provider.php
new file mode 100644 (file)
index 0000000..36dbc59
--- /dev/null
@@ -0,0 +1,37 @@
+<?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/>.
+
+/**
+ * This file contains an interface to describe classes which provide user data in some form for shared providers.
+ *
+ * @package     core_privacy
+ * @copyright   2018 Andrew Nicols <andrew@nicols.co.uk>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace core_privacy\local\request;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * The interface is used to describe a provider which is capable of identifying the users who have data within it.
+ *
+ * It describes data how these requests are serviced in a specific format.
+ *
+ * @package     core_privacy
+ * @copyright   2018 Andrew Nicols <andrew@nicols.co.uk>
+ */
+interface shared_userlist_provider extends userlist_provider {
+}
diff --git a/privacy/classes/local/request/userlist_provider.php b/privacy/classes/local/request/userlist_provider.php
new file mode 100644 (file)
index 0000000..0b00e33
--- /dev/null
@@ -0,0 +1,37 @@
+<?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/>.
+
+/**
+ * This file contains an interface to describe classes which userlist support.
+ *
+ * @package     core_privacy
+ * @copyright   2018 Andrew Nicols <andrew@nicols.co.uk>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace core_privacy\local\request;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * The interface is used to describe a provider which is capable of identifying the users who have data within it.
+ *
+ * It describes data how these requests are serviced in a specific format.
+ *
+ * @package     core_privacy
+ * @copyright   2018 Andrew Nicols <andrew@nicols.co.uk>
+ */
+interface userlist_provider {
+}