From d22b87614d565d65192a6d67cc7df2e16ea92f91 Mon Sep 17 00:00:00 2001 From: Michael Hawkins Date: Thu, 25 Oct 2018 11:56:38 +0800 Subject: [PATCH] MDL-63552 search_solr: Add support for removal of context users This issue is a part of the MDL-62560 Epic. --- .../engine/solr/classes/privacy/provider.php | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/search/engine/solr/classes/privacy/provider.php b/search/engine/solr/classes/privacy/provider.php index f2208cef249..7475b9e4d08 100644 --- a/search/engine/solr/classes/privacy/provider.php +++ b/search/engine/solr/classes/privacy/provider.php @@ -28,6 +28,8 @@ defined('MOODLE_INTERNAL') || die(); use core_privacy\local\metadata\collection; use core_privacy\local\request\contextlist; use core_privacy\local\request\approved_contextlist; +use core_privacy\local\request\approved_userlist; +use core_privacy\local\request\userlist; /** * Provider for the search_solr plugin. @@ -36,9 +38,12 @@ use core_privacy\local\request\approved_contextlist; * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class provider implements - // This search engine plugin does not store any data itself. - // It has no database tables, and it purely acts as a conduit, sending data externally. - \core_privacy\local\metadata\provider, \core_privacy\local\request\plugin\provider { + // This search engine plugin does not store any data itself. + // It has no database tables, and it purely acts as a conduit, sending data externally. + // This plugin is capable of determining which users have data within it. + \core_privacy\local\metadata\provider, + \core_privacy\local\request\core_userlist_provider, + \core_privacy\local\request\plugin\provider { /** * Returns meta data about this system. @@ -61,6 +66,14 @@ class provider implements return new contextlist(); } + /** + * Get the list of users who have data within a context. + * + * @param userlist $userlist The userlist containing the list of users who have data in this context/plugin combination. + */ + public static function get_users_in_context(userlist $userlist) { + } + /** * Export all user data for the specified user, in the specified contexts. * @@ -84,4 +97,12 @@ class provider implements */ public static function delete_data_for_user(approved_contextlist $contextlist) { } + + /** + * Delete multiple users within a single context. + * + * @param approved_userlist $userlist The approved context and user information to delete information for. + */ + public static function delete_data_for_users(approved_userlist $userlist) { + } }