1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-04-09 07:14:16 +02:00

B24: Каталог хранилища

This commit is contained in:
Anton Titovets 2024-06-19 13:09:14 +03:00
parent f07eb3154e
commit 8a2a5beb27
3 changed files with 3656 additions and 3530 deletions

File diff suppressed because it is too large Load Diff

View File

@ -849,19 +849,15 @@
Функция ЗагрузитьФайлВХранилище(Знач URL
, Знач Наименование
, Знач Файл
, Знач IDХранилища = ""
, Знач IDХранилища
, Знач Доступы = ""
, Знач Токен = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(IDХранилища);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
Если ЗначениеЗаполнено(IDХранилища) Тогда
Метод = "disk.storage.uploadfile";
Иначе
КонецЕсли;
Метод = "disk.storage.uploadfile";
ДанныеФайла = Новый Структура("NAME", Наименование);
СодержимоеФайла = Новый Соответствие();
СодержимоеФайла.Вставить(Наименование, Файл);
@ -884,6 +880,34 @@
КонецФункции
// Создать каталог в хранилище
// Создает пустой каталог в хранилище
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDХранилища - Строка - Идентификатор хранилища - storage
// Наименование - Строка - Имя каталога - title
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция СоздатьКаталогВХранилище(Знач URL, Знач IDХранилища, Знач Наименование, Знач Токен = "") Экспорт
OPI_ПреобразованиеТипов.ПолучитьСтроку(Наименование);
СтруктураПапки = Новый Структура("NAME", Наименование);
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.storage.addfolder");
OPI_Инструменты.ДобавитьПоле("id" , IDХранилища , "Строка" , Параметры);
OPI_Инструменты.ДобавитьПоле("data", СтруктураПапки, "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить файл
// Удаляет файл по ID
//
@ -896,15 +920,28 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
Функция УдалитьФайл(Знач URL, Знач IDФайла, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "disk.file.delete");
OPI_Инструменты.ДобавитьПоле("id", IDФайла, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
Ответ = УправлениеФайлом(URL, IDФайла, "disk.file.delete", Токен);
Возврат Ответ;
КонецФункции
// Удалить каталог
// Удаляет каталог с подкаталогами
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDКаталога - Строка, Число - Идентификатор удаляемого файла - folderid
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// HTTPОтвет - Удалить каталог
Функция УдалитьКаталог(Знач URL, Знач IDКаталога, Знач Токен = "") Экспорт
Ответ = УправлениеФайлом(URL, IDКаталога, "disk.folder.deletetree", Токен);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти
@ -998,4 +1035,15 @@
КонецФункции
Функция УправлениеФайлом(Знач URL, Знач IDФайла, Знач Метод, Знач Токен = "")
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
OPI_Инструменты.ДобавитьПоле("id", IDФайла, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти

View File

@ -3345,6 +3345,8 @@
Bitrix24_ПолучитьСписокХранилищ(ПараметрыТеста);
Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыТеста);
Bitrix24_УдалитьФайл(ПараметрыТеста);
Bitrix24_СоздатьКаталогВХранилище(ПараметрыТеста);
Bitrix24_УдалитьКаталог(ПараметрыТеста);
КонецПроцедуры
@ -6317,17 +6319,17 @@
Процедура Bitrix24_ЗагрузитьФайлВХранилище(ПараметрыФункции)
Наименование1 = Строка(Новый УникальныйИдентификатор) + ".jpg";
Наименование2 = Строка(Новый УникальныйИдентификатор) + ".jpg";
Наименование2 = "Картинка2.jpg";
Наименование = "Картинка1.jpg";
Картинка1 = ПараметрыФункции["Picture"];
Картинка2 = ПараметрыФункции["Picture2"];
Картинка2 = ПараметрыФункции["Picture"]; // Локальный путь, URL или Двоичные данные
Картинка = ПараметрыФункции["Picture2"]; // Локальный путь, URL или Двоичные данные
IDПриемника = 3;
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование1, Картинка1, IDПриемника);
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование2, Картинка2, IDПриемника);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлВХранилище (хук)", "Bitrix24");
@ -6340,7 +6342,7 @@
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование2, Картинка2, IDПриемника, , Токен);
Результат = OPI_Bitrix24.ЗагрузитьФайлВХранилище(URL, Наименование, Картинка, IDПриемника, , Токен);
// END
@ -6379,6 +6381,66 @@
КонецПроцедуры
Процедура Bitrix24_СоздатьКаталогВХранилище(ПараметрыФункции)
IDХранилища = 3;
Наименование = "Новый каталог";
Наименование2 = "Новый каталог 2";
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.СоздатьКаталогВХранилище(URL, IDХранилища, Наименование2);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКаталогВХранилище (хук)", "Bitrix24");
Проверка_БитриксФайл(Результат); // SKIP
IDКаталога = Результат["result"]["ID"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookFolderID", IDКаталога); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookFolderID", IDКаталога); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.СоздатьКаталогВХранилище(URL, IDХранилища, Наименование, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьКаталогВХранилище", "Bitrix24");
Проверка_БитриксФайл(Результат);
IDКаталога = Результат["result"]["ID"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_FolderID", IDКаталога); // SKIP
ПараметрыФункции.Вставить("Bitrix24_FolderID", IDКаталога); // SKIP
КонецПроцедуры
Процедура Bitrix24_УдалитьКаталог(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDКаталога = ПараметрыФункции["Bitrix24_HookFolderID"];
Результат = OPI_Bitrix24.УдалитьКаталог(URL, IDКаталога);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКаталог (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDКаталога = ПараметрыФункции["Bitrix24_FolderID"];
Результат = OPI_Bitrix24.УдалитьКаталог(URL, IDКаталога, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьКаталог", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
#КонецОбласти
#КонецОбласти