/**
* Implements hook_views_query_alter().
*/
function mymodule_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
if ($view->id() === 'media_library') {
$user = \Drupal::currentUser();
$user_roles = $user->getRoles();
// Check if the user has "View all media" permission.
if (in_array('administrator', $user_roles, TRUE) || $user->hasPermission('View all media')) {
return;
}
$query->addWhereExpression('AND', 'media_field_data.uid = :current_user_id', [':current_user_id' => $user->id()]);
}
}