mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-05 13:25:25 +02:00
B24: Доступы к задачам
This commit is contained in:
parent
e3e35d10ee
commit
725471d5cb
File diff suppressed because it is too large
Load Diff
@ -757,6 +757,29 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Проверить доступ к задаче
|
||||||
|
// Проверяет доступность задачи для пользователей
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDЗадачи - Число,Строка - ID задачи - task
|
||||||
|
// Пользователи - Массив из Строка - ID пользователей для проверки доступа - users
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПроверитьДоступКЗадаче(Знач URL, Знач IDЗадачи, Знач Пользователи = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getaccess");
|
||||||
|
OPI_Инструменты.ДобавитьПоле("taskId", IDЗадачи , "Строка" , Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("users" , Пользователи, "Массив", Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Получить структуру фильтра задач
|
// Получить структуру фильтра задач
|
||||||
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
||||||
//
|
//
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
<package-def>
|
<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_Airtable" file="core/Modules/OPI_Airtable.os"/>
|
||||||
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.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_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_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_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_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
|
||||||
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.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>
|
</package-def>
|
||||||
|
@ -2909,6 +2909,7 @@
|
|||||||
Bitrix24_ПриостановитьЗадачу(ПараметрыТеста);
|
Bitrix24_ПриостановитьЗадачу(ПараметрыТеста);
|
||||||
Bitrix24_ПолучитьИсториюЗадачи(ПараметрыТеста);
|
Bitrix24_ПолучитьИсториюЗадачи(ПараметрыТеста);
|
||||||
Bitrix24_ПолучитьСписокЗадач(ПараметрыТеста);
|
Bitrix24_ПолучитьСписокЗадач(ПараметрыТеста);
|
||||||
|
Bitrix24_ПроверитьДоступКЗадаче(ПараметрыТеста);
|
||||||
|
|
||||||
Наименование = "Картинка задачи.jpg";
|
Наименование = "Картинка задачи.jpg";
|
||||||
Картинка = ПараметрыТеста["Picture"];
|
Картинка = ПараметрыТеста["Picture"];
|
||||||
@ -3584,6 +3585,16 @@
|
|||||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_БитриксДоступныеДействия(Знач Результат, Знач Количество)
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||||
|
|
||||||
|
Действия = Результат["result"]["allowedActions"];
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Действия).ИмеетТип("Соответствие");
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Действия.Количество()).Равно(Количество);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область АтомарныеТесты
|
#Область АтомарныеТесты
|
||||||
@ -7515,6 +7526,35 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПроверитьДоступКЗадаче(ПараметрыФункции)
|
||||||
|
|
||||||
|
МассивПользователей = Новый Массив;
|
||||||
|
МассивПользователей.Добавить("1");
|
||||||
|
МассивПользователей.Добавить("10");
|
||||||
|
|
||||||
|
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПроверитьДоступКЗадаче(URL, IDЗадачи, МассивПользователей);
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступКЗадаче (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксДоступныеДействия(Результат, МассивПользователей.Количество()); // SKIP
|
||||||
|
|
||||||
|
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDЗадачи = ПараметрыФункции["Bitrix24_TaskID"];
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПроверитьДоступКЗадаче(URL, IDЗадачи, МассивПользователей, Токен);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступКЗадаче", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксДоступныеДействия(Результат, МассивПользователей.Количество());
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область YandexDisk
|
#Область YandexDisk
|
||||||
|
@ -757,6 +757,29 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Проверить доступ к задаче
|
||||||
|
// Проверяет доступность задачи для пользователей
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
|
||||||
|
// IDЗадачи - Число,Строка - ID задачи - task
|
||||||
|
// Пользователи - Массив из Строка - ID пользователей для проверки доступа - users
|
||||||
|
// Токен - Строка - Токен авторизации, если используется не вебхук - token
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrxi24
|
||||||
|
Функция ПроверитьДоступКЗадаче(Знач URL, Знач IDЗадачи, Знач Пользователи = "", Знач Токен = "") Экспорт
|
||||||
|
|
||||||
|
Параметры = НормализоватьАвторизацию(URL, Токен, "tasks.task.getaccess");
|
||||||
|
OPI_Инструменты.ДобавитьПоле("taskId", IDЗадачи , "Строка" , Параметры);
|
||||||
|
OPI_Инструменты.ДобавитьПоле("users" , Пользователи, "Массив", Параметры);
|
||||||
|
|
||||||
|
Ответ = OPI_Инструменты.Post(URL, Параметры);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Получить структуру фильтра задач
|
// Получить структуру фильтра задач
|
||||||
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
// Возвращает структуру полей для фильтрации задач в методе ПолучитьСписокЗадач
|
||||||
//
|
//
|
||||||
|
@ -2909,6 +2909,7 @@
|
|||||||
Bitrix24_ПриостановитьЗадачу(ПараметрыТеста);
|
Bitrix24_ПриостановитьЗадачу(ПараметрыТеста);
|
||||||
Bitrix24_ПолучитьИсториюЗадачи(ПараметрыТеста);
|
Bitrix24_ПолучитьИсториюЗадачи(ПараметрыТеста);
|
||||||
Bitrix24_ПолучитьСписокЗадач(ПараметрыТеста);
|
Bitrix24_ПолучитьСписокЗадач(ПараметрыТеста);
|
||||||
|
Bitrix24_ПроверитьДоступКЗадаче(ПараметрыТеста);
|
||||||
|
|
||||||
Наименование = "Картинка задачи.jpg";
|
Наименование = "Картинка задачи.jpg";
|
||||||
Картинка = ПараметрыТеста["Picture"];
|
Картинка = ПараметрыТеста["Picture"];
|
||||||
@ -3584,6 +3585,16 @@
|
|||||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["attachmentId"]).Заполнено();
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Проверка_БитриксДоступныеДействия(Знач Результат, Знач Количество)
|
||||||
|
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
|
||||||
|
|
||||||
|
Действия = Результат["result"]["allowedActions"];
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Действия).ИмеетТип("Соответствие");
|
||||||
|
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Действия.Количество()).Равно(Количество);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область АтомарныеТесты
|
#Область АтомарныеТесты
|
||||||
@ -7515,6 +7526,35 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Bitrix24_ПроверитьДоступКЗадаче(ПараметрыФункции)
|
||||||
|
|
||||||
|
МассивПользователей = Новый Массив;
|
||||||
|
МассивПользователей.Добавить("1");
|
||||||
|
МассивПользователей.Добавить("10");
|
||||||
|
|
||||||
|
URL = ПараметрыФункции["Bitrix24_URL"];
|
||||||
|
IDЗадачи = ПараметрыФункции["Bitrix24_HookTaskID"];
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПроверитьДоступКЗадаче(URL, IDЗадачи, МассивПользователей);
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступКЗадаче (хук)", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксДоступныеДействия(Результат, МассивПользователей.Количество()); // SKIP
|
||||||
|
|
||||||
|
URL = ПараметрыФункции["Bitrix24_Domain"];
|
||||||
|
Токен = ПараметрыФункции["Bitrix24_Token"];
|
||||||
|
IDЗадачи = ПараметрыФункции["Bitrix24_TaskID"];
|
||||||
|
|
||||||
|
Результат = OPI_Bitrix24.ПроверитьДоступКЗадаче(URL, IDЗадачи, МассивПользователей, Токен);
|
||||||
|
|
||||||
|
// END
|
||||||
|
|
||||||
|
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПроверитьДоступКЗадаче", "Bitrix24");
|
||||||
|
|
||||||
|
Проверка_БитриксДоступныеДействия(Результат, МассивПользователей.Количество());
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область YandexDisk
|
#Область YandexDisk
|
||||||
|
Loading…
x
Reference in New Issue
Block a user