MDL-62217 search_solr: Plugin provider fake implementation
authorDavid Monllao <davidm@moodle.com>
Wed, 9 May 2018 08:56:01 +0000 (10:56 +0200)
committerDavid Monllao <davidm@moodle.com>
Wed, 9 May 2018 08:57:14 +0000 (10:57 +0200)
search/engine/solr/classes/privacy/provider.php

index 547e51f..f2208ce 100644 (file)
@@ -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) {
+    }
 }