   defp process(%{"@odata.nextLink" => next_link, "value" => items},
                %{drive: drive, access_token: access_token} = state)
   do
-    with {:ok, items} <- Api.Files.get_items(items, drive, access_token: access_token),
+    with items = filter_items(items),
+      {:ok, items} <- Api.Files.get_items(items, drive, access_token: access_token),
       :ok <- process_items(items, drive)
     do
       %{state | next_link: next_link, delta_link: nil}

    Logger.debug("processing #{length(infos)} items for drive #{drive.id}")
    Sharepoint.upsert_or_delete_remote_items(infos, drive: drive)
  end
end

  defp process(%{"@odata.deltaLink" => delta_link, "value" => items},
               %{drive: drive, access_token: access_token} = state)
  do
    with items = filter_items(items),
      {:ok, items} <- Api.Files.get_items(items, drive, access_token: access_token),
      :ok <- process_items(items, drive),
      {:ok, drive} <- Sharepoint.update_drive(drive, delta_link: delta_link)
    do
