* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\Webservice\CommandHandler; use PrestaShop\PrestaShop\Adapter\Domain\AbstractObjectModelHandler; use Tools; use WebserviceKey; /** * Encapsulates common legacy behavior for adding/editing WebserviceKey * * @internal */ abstract class AbstractWebserviceKeyHandler extends AbstractObjectModelHandler { /** * @param WebserviceKey $webserviceKey * @param array $permissions */ protected function setPermissionsForWebserviceKey(WebserviceKey $webserviceKey, array $permissions) { Tools::generateHtaccess(); $legacyPermissionsStructure = []; foreach ($permissions as $permission => $resources) { foreach ($resources as $resource) { $legacyPermissionsStructure[$resource][$permission] = 'on'; } } WebserviceKey::setPermissionForAccount($webserviceKey->id, $legacyPermissionsStructure); } }