From 94522f8dd07c5556a97f5e0fb206618870403cc9 Mon Sep 17 00:00:00 2001 From: David Monllao Date: Wed, 9 May 2018 10:56:01 +0200 Subject: [PATCH] MDL-62217 search_solr: Plugin provider fake implementation --- .../engine/solr/classes/privacy/provider.php | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/search/engine/solr/classes/privacy/provider.php b/search/engine/solr/classes/privacy/provider.php index 547e51f4eb2..f2208cef249 100644 --- a/search/engine/solr/classes/privacy/provider.php +++ b/search/engine/solr/classes/privacy/provider.php @@ -26,6 +26,8 @@ namespace search_solr\privacy; defined('MOODLE_INTERNAL') || die(); use core_privacy\local\metadata\collection; +use core_privacy\local\request\contextlist; +use core_privacy\local\request\approved_contextlist; /** * Provider for the search_solr plugin. @@ -36,7 +38,7 @@ use core_privacy\local\metadata\collection; 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\metadata\provider, \core_privacy\local\request\plugin\provider { /** * Returns meta data about this system. @@ -48,4 +50,38 @@ class provider implements return $collection->add_external_location_link('solr', ['data' => 'privacy:metadata:data'], 'privacy:metadata'); } + + /** + * Get the list of contexts that contain user information for the specified user. + * + * @param int $userid The user to search. + * @return contextlist $contextlist The contextlist containing the list of contexts used in this plugin. + */ + public static function get_contexts_for_userid(int $userid) : contextlist { + return new contextlist(); + } + + /** + * Export all user data for the specified user, in the specified contexts. + * + * @param approved_contextlist $contextlist The approved contexts to export information for. + */ + public static function export_user_data(approved_contextlist $contextlist) { + } + + /** + * Delete all data for all users in the specified context. + * + * @param context $context The specific context to delete data for. + */ + public static function delete_data_for_all_users_in_context(\context $context) { + } + + /** + * Delete all user data for the specified user, in the specified contexts. + * + * @param approved_contextlist $contextlist The approved contexts and user information to delete information for. + */ + public static function delete_data_for_user(approved_contextlist $contextlist) { + } }