quickbooks_api-8.x-1.0-beta4/quickbooks_api.install

quickbooks_api.install
<?php

/**
 * @file
 * Handles installation and update functions.
 */

use Drupal\quickbooks_api\QuickbooksService;

/**
 * Move quickbooks tokens from config to State API.
 */
function quickbooks_api_uninstall() {
  /** @var \Drupal\Core\Config\Config $config */
  $config = \Drupal::service('config.factory')->getEditable(QuickbooksService::CONFIG_KEY);
  $config->delete();

  $states = [
    QuickbooksService::STATE_ACCESS_TOKEN,
    QuickbooksService::STATE_ACCESS_TOKEN_EXPIRY,
    QuickbooksService::STATE_REFRESH_TOKEN,
    QuickbooksService::STATE_REFRESH_EXPIRY,
    QuickbooksService::STATE_OAUTH_SECURITY,
  ];

  \Drupal::state()->deleteMultiple($states);
}

/**
 * Move token data to state API.
 */
function quickbooks_api_update_8101() {

  // Get config values, move them to the State API, delete the config values.
  $config = \Drupal::service('config.factory')->getEditable('quickbooks_api.adminsettings');

  \Drupal::state()->set('quickbooks_api.access_token', $config->get('access_token'));
  \Drupal::state()->set('quickbooks_api.refresh_token', $config->get('refresh_token'));
  \Drupal::state()->set('quickbooks_api.access_token_expiry', $config->get('access_token_expiry'));
  \Drupal::state()->set('quickbooks_api.refresh_token_expiry', $config->get('refresh_token_expiry'));

  // Delete from config.
  $config->clear('access_token');
  $config->clear('refresh_token');
  $config->clear('access_token_expiry');
  $config->clear('refresh_token_expiry');
  $config->save();
}

/**
 * Upgrade to 2.0.x configuration schema.
 */
function quickbooks_api_update_9000(&$sandbox) {
  /** @var \Drupal\Core\Config\Config $old_config */
  $old_config = \Drupal::service('config.factory')->getEditable('quickbooks_api.adminsettings');

  /** @var \Drupal\Core\Config\Config $new_config */
  $new_config = \Drupal::service('config.factory')->getEditable(QuickbooksService::CONFIG_KEY);
  $new_config->set('company_id', $old_config->get('company_id'));
  $new_config->set('client_id', $old_config->get('client_id'));
  $new_config->set('client_secret', $old_config->get('client_secret'));
  $new_config->set('environment', $old_config->get('production') == '3' ? 'Development' : 'Production');
  $new_config->save();

  // Delete the old configuration.
  $old_config->delete();
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc