1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-13 20:05:19 +02:00

B24: Методы диска

This commit is contained in:
Anton Titovets
2024-06-27 09:53:52 +03:00
parent c9fe6251a2
commit c15e1deeb6
6 changed files with 4093 additions and 3754 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1087,6 +1087,82 @@
КонецФункции
// Получить внешнюю ссылку каталога
// Получает внешнюю ссылку для доступа к каталогу
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьВнешнююСсылкуКаталога(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
Ответ = УправлениеФайлом(URL, IDКаталога, "disk.folder.getExternalLink", Токен);
Возврат Ответ;
КонецФункции
// Получить дочерние элементы каталога
// Получает дочерние элементы каталога
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
// Фильтр - Структура из КлючИЗначение - Отбор элементов (См. ПолучитьСтруктуруФильтраКаталога) - filter
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьДочерниеЭлементыКаталога(Знач URL, Знач IDКаталога, Знач Фильтр = "", Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.getchildren");
OPI_Инструменты.ДобавитьПоле("id" , IDКаталога, "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("filter", Фильтр , "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру фильтра каталога
// Возвращает структуру полей для фильтрации дочерних элементов каталога
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания типов полей - empty
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраКаталога(Знач URL, Знач Пустая = Ложь, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.getfields");
Фильтр = Новый Структура;
Ответ = OPI_Инструменты.Post(URL, Параметры);
Поля = Ответ["result"];
Для Каждого Поле Из Поля Цикл
Имя = Поле.Ключ;
Описание = Поле.Значение;
Если Описание["USE_IN_FILTER"] Тогда
ТипДанных = ?(Пустая, "", Описание["TYPE"]);
Фильтр.Вставить(Имя, ТипДанных);
КонецЕсли;
КонецЦикла;
Возврат Фильтр;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@@ -1,21 +1,21 @@
<package-def>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
</package-def>

View File

@@ -2930,8 +2930,11 @@
Bitrix24_УдалитьФайл(ПараметрыТеста);
Bitrix24_СоздатьКаталогВХранилище(ПараметрыТеста);
Bitrix24_ПолучитьКаталог(ПараметрыТеста);
Bitrix24_ПолучитьВнешнююСсылкуКаталога(ПараметрыТеста);
Bitrix24_СоздатьПодкаталог(ПараметрыТеста);
Bitrix24_КопироватьКаталог(ПараметрыТеста);
Bitrix24_ПолучитьСтруктуруФильтраКаталога(ПараметрыТеста);
Bitrix24_ПолучитьДочерниеЭлементыКаталога(ПараметрыТеста);
Bitrix24_УдалитьКаталог(ПараметрыТеста);
КонецПроцедуры
@@ -3015,10 +3018,16 @@
Процедура Проверка_Соответствие(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
КонецПроцедуры
Процедура Проверка_Структура(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Структура").Заполнено();
КонецПроцедуры
Процедура Проверка_ТелеграмИстина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
@@ -3495,6 +3504,10 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Булево").Равно(Истина);
КонецПроцедуры
Процедура Проверка_БитриксСтрока(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксМассив(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры
@@ -7054,6 +7067,77 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьВнешнююСсылкуКаталога(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];
Результат = OPI_Bitrix24.ПолучитьВнешнююСсылкуКаталога(URL, IDКаталога);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуКаталога (хук)", "Bitrix24");
Проверка_БитриксСтрока(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьВнешнююСсылкуКаталога(URL, IDКаталога, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуКаталога", "Bitrix24");
Проверка_БитриксСтрока(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтруктуруФильтраКаталога(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраКаталога(URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраКаталога (хук)", "Bitrix24");
Проверка_Структура(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраКаталога(URL, Истина, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраКаталога", "Bitrix24");
Проверка_Структура(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьДочерниеЭлементыКаталога(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];
Результат = OPI_Bitrix24.ПолучитьДочерниеЭлементыКаталога(URL, IDКаталога);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДочерниеЭлементыКаталога (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьДочерниеЭлементыКаталога(URL, IDКаталога, ,Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДочерниеЭлементыКаталога", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

@@ -1087,6 +1087,82 @@
КонецФункции
// Получить внешнюю ссылку каталога
// Получает внешнюю ссылку для доступа к каталогу
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьВнешнююСсылкуКаталога(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
Ответ = УправлениеФайлом(URL, IDКаталога, "disk.folder.getExternalLink", Токен);
Возврат Ответ;
КонецФункции
// Получить дочерние элементы каталога
// Получает дочерние элементы каталога
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDКаталога - Строка, Число - Идентификатор каталога - folderid
// Фильтр - Структура из КлючИЗначение - Отбор элементов (См. ПолучитьСтруктуруФильтраКаталога) - filter
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция ПолучитьДочерниеЭлементыКаталога(Знач URL, Знач IDКаталога, Знач Фильтр = "", Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.getchildren");
OPI_Инструменты.ДобавитьПоле("id" , IDКаталога, "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("filter", Фильтр , "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру фильтра каталога
// Возвращает структуру полей для фильтрации дочерних элементов каталога
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания типов полей - empty
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраКаталога(Знач URL, Знач Пустая = Ложь, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.folder.getfields");
Фильтр = Новый Структура;
Ответ = OPI_Инструменты.Post(URL, Параметры);
Поля = Ответ["result"];
Для Каждого Поле Из Поля Цикл
Имя = Поле.Ключ;
Описание = Поле.Значение;
Если Описание["USE_IN_FILTER"] Тогда
ТипДанных = ?(Пустая, "", Описание["TYPE"]);
Фильтр.Вставить(Имя, ТипДанных);
КонецЕсли;
КонецЦикла;
Возврат Фильтр;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@@ -2930,8 +2930,11 @@
Bitrix24_УдалитьФайл(ПараметрыТеста);
Bitrix24_СоздатьКаталогВХранилище(ПараметрыТеста);
Bitrix24_ПолучитьКаталог(ПараметрыТеста);
Bitrix24_ПолучитьВнешнююСсылкуКаталога(ПараметрыТеста);
Bitrix24_СоздатьПодкаталог(ПараметрыТеста);
Bitrix24_КопироватьКаталог(ПараметрыТеста);
Bitrix24_ПолучитьСтруктуруФильтраКаталога(ПараметрыТеста);
Bitrix24_ПолучитьДочерниеЭлементыКаталога(ПараметрыТеста);
Bitrix24_УдалитьКаталог(ПараметрыТеста);
КонецПроцедуры
@@ -3015,10 +3018,16 @@
Процедура Проверка_Соответствие(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат) .ИмеетТип("Соответствие").Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
КонецПроцедуры
Процедура Проверка_Структура(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Структура").Заполнено();
КонецПроцедуры
Процедура Проверка_ТелеграмИстина(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("Соответствие").Заполнено();
@@ -3495,6 +3504,10 @@
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Булево").Равно(Истина);
КонецПроцедуры
Процедура Проверка_БитриксСтрока(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Строка").Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксМассив(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Массив");
КонецПроцедуры
@@ -7054,6 +7067,77 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьВнешнююСсылкуКаталога(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];
Результат = OPI_Bitrix24.ПолучитьВнешнююСсылкуКаталога(URL, IDКаталога);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуКаталога (хук)", "Bitrix24");
Проверка_БитриксСтрока(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьВнешнююСсылкуКаталога(URL, IDКаталога, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьВнешнююСсылкуКаталога", "Bitrix24");
Проверка_БитриксСтрока(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтруктуруФильтраКаталога(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраКаталога(URL);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраКаталога (хук)", "Bitrix24");
Проверка_Структура(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраКаталога(URL, Истина, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраКаталога", "Bitrix24");
Проверка_Структура(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьДочерниеЭлементыКаталога(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];
Результат = OPI_Bitrix24.ПолучитьДочерниеЭлементыКаталога(URL, IDКаталога);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДочерниеЭлементыКаталога (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьДочерниеЭлементыКаталога(URL, IDКаталога, ,Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьДочерниеЭлементыКаталога", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk