acquia_commercemanager-8.x-1.122/modules/acm_customer/acm_customer.install

modules/acm_customer/acm_customer.install
<?php

/**
 * @file
 * Contains install, update, uninstall hooks.
 */

use Drupal\rest\Entity\RestResourceConfig;
use Drupal\rest\RestResourceConfigInterface;
use Drupal\user\Entity\Role;

/**
 * Implements hook_install().
 */
function acm_customer_install() {
  // Add permissions into ACM role.
  $role = Role::load('acm');
  if (!is_null($role)) {
    $permissions = [
      'restful post acm_customer_delete',
    ];

    foreach ($permissions as $permission) {
      $role->grantPermission($permission);
    }
    $role->save();
  }
}

/**
 * Implements hook_uninstall().
 */
function acm_customer_uninstall() {
  // Remove permissions from ACM role.
  $role = Role::load('acm');
  if (!is_null($role)) {
    $permissions = [
      'restful post acm_customer_delete',
    ];

    foreach ($permissions as $permission) {
      if ($role->hasPermission($permission)) {
        $role->revokePermission($permission);
      }
    }
    $role->save();
  }
}

/**
 * Implements hook_update_N().
 *
 * Enable the 'acm_customer_delete' rest resource.
 */
function acm_customer_update_8001() {
  // Creating and enabling 'customer delete' resource.
  $rest_config = [
    'id' => 'acm_customer_delete',
    'plugin_id' => 'acm_customer_delete',
    'status' => TRUE,
    'granularity' => RestResourceConfigInterface::METHOD_GRANULARITY,
    'configuration' => [
      'POST' => [
        'supported_formats' => ['json'],
        'supported_auth' => ['oauth2'],
      ],
    ],
    'dependencies' => [
      'module' => [
        'acm_customer',
        'serialization',
        'simple_oauth',
        'user',
      ],
    ],
  ];

  $rest_resource = new RestResourceConfig($rest_config, 'rest_resource_config');
  $rest_resource->save();
}

/**
 * Add customer-related permissions to ACM role.
 */
function acm_customer_update_8002() {
  // Add permissions into ACM role.
  $role = Role::load('acm');
  if (!is_null($role)) {
    $permissions = [
      'restful post acm_customer_delete',
    ];

    foreach ($permissions as $permission) {
      if (!$role->hasPermission($permission)) {
        $role->grantPermission($permission);
      }
    }
    $role->save();
  }
}

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

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