MDL-63554 cachestore_redis: Support for removal of context users

This issue is part of the MDL-62560 Epic.
This commit is contained in:
Shamim Rezaie 2018-10-05 23:08:29 +10:00 committed by David Monllao
parent 73a5fcacf6
commit 22b0849f45

View file

@ -18,6 +18,7 @@
* Privacy Subsystem implementation for cachestore_redis. * Privacy Subsystem implementation for cachestore_redis.
* *
* @package cachestore_redis * @package cachestore_redis
* @category privacy
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk> * @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/ */
@ -25,8 +26,10 @@
namespace cachestore_redis\privacy; namespace cachestore_redis\privacy;
use core_privacy\local\metadata\collection; 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_contextlist;
use core_privacy\local\request\approved_userlist;
use core_privacy\local\request\contextlist;
use core_privacy\local\request\userlist;
defined('MOODLE_INTERNAL') || die(); defined('MOODLE_INTERNAL') || die();
@ -36,7 +39,10 @@ defined('MOODLE_INTERNAL') || die();
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk> * @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/ */
class provider implements \core_privacy\local\metadata\provider, \core_privacy\local\request\plugin\provider { class provider implements
\core_privacy\local\metadata\provider,
\core_privacy\local\request\plugin\provider,
\core_privacy\local\request\core_userlist_provider {
/** /**
* Returns meta data about this system. * Returns meta data about this system.
@ -61,6 +67,14 @@ class provider implements \core_privacy\local\metadata\provider, \core_privacy\l
return new contextlist(); 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. * Export all user data for the specified user, in the specified contexts.
* *
@ -84,4 +98,12 @@ class provider implements \core_privacy\local\metadata\provider, \core_privacy\l
*/ */
public static function delete_data_for_user(approved_contextlist $contextlist) { 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) {
}
} }