- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/rest/baseservice.php
- Класс: BitrixSaleDeliveryRestBaseService
- Вызов: BaseService::onRestAppDelete
static function onRestAppDelete(array $fields): void
{
if (!MainLoader::includeModule('rest'))
{
return;
}
if (empty($fields['APP_ID']) || empty($fields['CLEAN']) || $fields['CLEAN'] !== true)
{
return;
}
$app = RestAppTable::getByClientId($fields['APP_ID']);
if (!$app)
{
return;
}
$restHandlerResult = InternalsDeliveryRestHandlerTable::getList([
'select' => ['ID', 'CODE'],
'filter' => [
'=APP_ID' => $app['CLIENT_ID'],
],
]);
while ($restHandler = $restHandlerResult->fetch())
{
$deliveryResult = SaleDeliveryServicesManager::getList([
'select' => ['ID', 'CONFIG'],
'filter' => [
'@CLASS_NAME' => self::ALLOW_HANDLERS,
],
]);
while ($delivery = $deliveryResult->fetch())
{
$handlerCode = self::getRestCodeFromConfig($delivery['CONFIG']);
if ($handlerCode === $restHandler['CODE'])
{
SaleDeliveryServicesManager::delete($delivery['ID'], false);
}
}
SaleDeliveryRestInternalsDeliveryRestHandlerTable::delete($restHandler['ID']);
}
}