salesforce-8.x-4.x-dev/modules/salesforce_push/salesforce_push.install
modules/salesforce_push/salesforce_push.install
<?php
/**
* @file
* Salesforce push install.
*/
use Drupal\salesforce_push\PushQueue;
/**
* Implements hook_install().
*/
function salesforce_push_install() {
\Drupal::state()->set('salesforce.push_queue_processor', PushQueue::DEFAULT_QUEUE_PROCESSOR);
\Drupal::state()->set('salesforce.push_queue_max_fails', PushQueue::DEFAULT_MAX_FAILS);
}
/**
* Implements hook_uninstall().
*/
function salesforce_push_uninstall() {
$delete = [
'salesforce.push_queue_processor',
'salesforce.push_queue_max_fails',
'salesforce.mapping_push_info',
];
\Drupal::state()->deleteMultiple($delete);
\Drupal::service('queue.salesforce_push')->deleteTable();
}
/**
* Set default variables for push queue.
*/
function salesforce_push_update_8001() {
if (\Drupal::state()->get('salesforce.push_queue_processor', FALSE) === FALSE) {
\Drupal::state()->set('salesforce.push_queue_processor', PushQueue::DEFAULT_QUEUE_PROCESSOR);
}
if (\Drupal::state()->get('salesforce.push_queue_max_fails', FALSE) === FALSE) {
\Drupal::state()->set('salesforce.push_queue_max_fails', PushQueue::DEFAULT_MAX_FAILS);
}
}
/**
* Create new variables for more granular push limits.
*/
function salesforce_push_update_8002() {
if (\Drupal::state()->get('salesforce.global_push_limit', FALSE) === FALSE) {
\Drupal::state()->set('salesforce.global_push_limit', PushQueue::DEFAULT_GLOBAL_LIMIT);
}
\Drupal::state()->delete('salesforce.push_limit');
}
/**
* Moves global push limit out of state into config.
*/
function salesforce_push_update_8003() {
$config = \Drupal::configFactory()->getEditable('salesforce.settings');
if ($config->get('global_push_limit') === NULL) {
$config
->set('global_push_limit', \Drupal::state()->get('salesforce.global_push_limit', PushQueue::DEFAULT_GLOBAL_LIMIT))
->save();
}
\Drupal::state()->delete('salesforce.global_push_limit');
}
/**
* Updates schema for push queue.
*/
function salesforce_push_update_8004() {
$schema = \Drupal::database()->schema();
$table_name = 'salesforce_push_queue';
if (!$schema->tableExists($table_name)) {
return;
}
$schema->addField($table_name, 'last_failure_message', [
'type' => 'text',
'not null' => FALSE,
'default' => NULL,
'description' => 'The last failure message for this queue item, if failed.',
]);
}
