class privacy_repository extends abstract_repository implements privacy_repository_interface

internal  
 

Concrete Privacy Repository implementation.

Acts directly on the database to extract and anonymize massive amounts of user data fulfilling GDPR/LGPD requirements.

Methods

void
add_contexts_for_userid(int $userid, contextlist $contextlist)

Appends all contexts where the user has data to the given contextlist.

void
export_user_data(approved_contextlist $contextlist)

Exports the user data under the contexts specified.

void
delete_data_for_all_users_in_context(context $context)

Deletes all data for all users in a specific context.

void
delete_data_for_user(approved_contextlist $contextlist)

Deletes data for a specific user across one or more contexts.

Details

at line 41
void add_contexts_for_userid(int $userid, contextlist $contextlist)

Appends all contexts where the user has data to the given contextlist.

Parameters

int $userid

User ID

contextlist $contextlist

Moodle context list

Return Value

void

at line 69
void export_user_data(approved_contextlist $contextlist)

Exports the user data under the contexts specified.

Must write to core_privacy\local\request\writer.

Parameters

approved_contextlist $contextlist

Return Value

void

at line 117
void delete_data_for_all_users_in_context(context $context)

Deletes all data for all users in a specific context.

Parameters

context $context

The context representing the boundary

Return Value

void

at line 132
void delete_data_for_user(approved_contextlist $contextlist)

Deletes data for a specific user across one or more contexts.

Parameters

approved_contextlist $contextlist

List of contexts where data should be deleted

Return Value

void