You are here

function salesforce_pull_update_8002 in Salesforce Suite 8.4

Same name and namespace in other branches
  1. 8.3 modules/salesforce_pull/salesforce_pull.install \salesforce_pull_update_8002()
  2. 5.0.x modules/salesforce_pull/salesforce_pull.install \salesforce_pull_update_8002()

Convert per-object pull timestamp key-values into one big array.

File

modules/salesforce_pull/salesforce_pull.install, line 21
Install/uninstall tasks for the Salesforce Pull module.

Code

function salesforce_pull_update_8002() {
  $pull_info = [];
  $delete = [];
  $objects = \Drupal::service('salesforce.client')
    ->objects();
  foreach ($objects as $type) {
    $last_del = \Drupal::state()
      ->get('salesforce_pull_last_delete_' . $type);
    $last_pull = \Drupal::state()
      ->get('salesforce_pull_last_sync_' . $type);
    $delete[] = 'salesforce_pull_last_delete_' . $type;
    $delete[] = 'salesforce_pull_last_sync_' . $type;
    if (!empty($last_del)) {
      $pull_info[$type]['last_delete_timestamp'] = $last_del;
    }
    if (!empty($last_pull)) {
      $pull_info[$type]['last_pull_timestamp'] = $last_pull;
    }
  }
  \Drupal::state()
    ->set('salesforce.sobject_pull_info', $pull_info);
  \Drupal::state()
    ->deleteMultiple($delete);
}