You've already forked OpenIntegrations
							
							
				mirror of
				https://github.com/Bayselonarrend/OpenIntegrations.git
				synced 2025-10-30 23:47:46 +02:00 
			
		
		
		
	PXY: Изменение обработчиков
This commit is contained in:
		
							
								
								
									
										12601
									
								
								service/dictionaries/en.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12601
									
								
								service/dictionaries/en.json
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										139
									
								
								src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										139
									
								
								src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
									
									
									
									
										vendored
									
									
								
							| @@ -60,7 +60,7 @@ | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Запустить | ||||
| // Запустить проект | ||||
| // Запускает прокси сервер интеграций | ||||
| // | ||||
| // Параметры: | ||||
| @@ -68,7 +68,7 @@ | ||||
| //  Проект - Строка  - Путь к файлу проекта - proj | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат остановки сервера | ||||
| Функция Запустить(Знач Порт, Знач Проект) Экспорт | ||||
| Функция ЗапуститьПроект(Знач Порт, Знач Проект) Экспорт | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт); | ||||
|  | ||||
| @@ -179,7 +179,7 @@ | ||||
| КонецФункции | ||||
|  | ||||
| // Получить обработчик запросов | ||||
| // Получает информацию об обработчике по ID | ||||
| // Получает информацию об обработчике по ключу | ||||
| // | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| @@ -285,19 +285,100 @@ | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Изменить обработчик запросов | ||||
| // Изменяет значения полей обработчика запросов | ||||
| //  | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта                                                    - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика                                                        - handler | ||||
| //  БиблиотекаОПИ   - Строка - Имя библиотеки в CLI формате                                            - lib | ||||
| //  ФункцияОПИ      - Строка - Имя функции Открытого пакета интеграций                                 - func | ||||
| //  Метод           - Строка - HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART - method | ||||
| //  | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат изменения обработчика | ||||
| Функция ИзменитьОбработчикЗапросов(Знач Проект | ||||
|     , Знач КлючОбработчика | ||||
|     , Знач БиблиотекаОПИ = "" | ||||
|     , Знач ФункцияОПИ = "" | ||||
|     , Знач Метод = "") Экспорт | ||||
|      | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(БиблиотекаОПИ); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(ФункцияОПИ); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика); | ||||
|  | ||||
|     Результат = ПроверитьСуществованиеПроекта(Проект); | ||||
|  | ||||
|     Если Не Результат["result"] Тогда | ||||
|         Возврат Результат; | ||||
|     Иначе | ||||
|         Проект = Результат["path"]; | ||||
|     КонецЕсли; | ||||
|  | ||||
|     СтруктураЗаписи = Новый Структура; | ||||
|      | ||||
|     Если ЗначениеЗаполнено(БиблиотекаОПИ) Тогда | ||||
|         СтруктураЗаписи.Вставить("library" , БиблиотекаОПИ); | ||||
|     КонецЕсли; | ||||
|      | ||||
|     Если ЗначениеЗаполнено(ФункцияОПИ) Тогда | ||||
|         СтруктураЗаписи.Вставить("function", ФункцияОПИ); | ||||
|     КонецЕсли; | ||||
|      | ||||
|     Если ЗначениеЗаполнено(Метод) Тогда | ||||
|         СтруктураЗаписи.Вставить("method"  , Метод); | ||||
|     КонецЕсли; | ||||
|  | ||||
|     Результат = ИзменитьПоляОбработчика(Проект, КлючОбработчика, СтруктураЗаписи); | ||||
|      | ||||
|     Возврат Результат; | ||||
|          | ||||
| КонецФункции | ||||
|  | ||||
| // Отключить обработчик запросов | ||||
| // Отключает обработчик по ключу | ||||
| //  | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика     - handler | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат переключения | ||||
| Функция ОтключитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика) Экспорт | ||||
|      | ||||
|     Возврат ПереключитьОбработчикЗапросов(Проект, КлючОбработчика, Ложь); | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| // Включить обработчик запросов | ||||
| // Включает обработчик по ключу | ||||
| //  | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика     - handler | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат переключения | ||||
| Функция ВключитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика) Экспорт | ||||
|      | ||||
|     Возврат ПереключитьОбработчикЗапросов(Проект, КлючОбработчика, Истина); | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| #КонецОбласти | ||||
|  | ||||
| #Область УстановкаАргументов | ||||
|  | ||||
| // Установить аргумент обработчика | ||||
| // Устанавливает аргумент для функции установщика, позволяя не указывать его при вызове | ||||
| // Устанавливает аргумент для функции обработчика, позволяя не указывать его при вызове | ||||
| //  | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта                                           - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика                                               - handler | ||||
| //  Аргумент        - Строка - CLI аргумент (опция) для функции обработчика                   - arg | ||||
| //  Значение        - Строка - Строковое значение аргумента                                   - value | ||||
| //  Строгий         - Булево - Истина > аргумент не может быть перезаписан параметром запроса - strict | ||||
| //  Строгий         - Булево - Истина > аргумент не может быть перезаписан данными из запроса - strict | ||||
| //  | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат установки | ||||
| @@ -598,7 +679,53 @@ | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПолучитьUUID(Знач Длина) | ||||
|     Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина); | ||||
|     Возврат вРег(Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина)); | ||||
| КонецФункции | ||||
|  | ||||
| Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи) | ||||
|  | ||||
|     Если СтруктураЗаписи.Количество() > 0 Тогда | ||||
|          | ||||
|         СтруктураФильтра = Новый Структура; | ||||
|      | ||||
|         СтруктураФильтра.Вставить("field", "key"); | ||||
|         СтруктураФильтра.Вставить("type" , "="); | ||||
|         СтруктураФильтра.Вставить("value", КлючОбработчика); | ||||
|         СтруктураФильтра.Вставить("raw"  , Ложь); | ||||
|          | ||||
|         ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|          | ||||
|         Результат  = OPI_SQLite.ОбновитьЗаписи(ИмяТаблицыОбработчиков | ||||
|             , СтруктураЗаписи | ||||
|             , СтруктураФильтра | ||||
|             , Проект); | ||||
|      | ||||
|     Иначе | ||||
|         Результат = СформироватьОтвет(Ложь, "Nothing to change"); | ||||
|     КонецЕсли; | ||||
|          | ||||
|     Возврат Результат; | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПереключитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика, Знач Активность) | ||||
|      | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьБулево(Активность); | ||||
|  | ||||
|     Результат = ПроверитьСуществованиеПроекта(Проект); | ||||
|  | ||||
|     Если Не Результат["result"] Тогда | ||||
|         Возврат Результат; | ||||
|     Иначе | ||||
|         Проект = Результат["path"]; | ||||
|     КонецЕсли; | ||||
|      | ||||
|     СтруктураЗаписи = Новый Структура("active", Активность); | ||||
|     Результат       = ИзменитьПоляОбработчика(Проект, КлючОбработчика, СтруктураЗаписи); | ||||
|      | ||||
|     Возврат Результат; | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
							
								
								
									
										75
									
								
								src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										75
									
								
								src/ru/OInt/tests/Modules/internal/OPI_Тесты.os
									
									
									
									
										vendored
									
									
								
							| @@ -47,6 +47,7 @@ | ||||
| //@skip-check undefined-function-or-procedure | ||||
| //@skip-check wrong-string-literal-content | ||||
| //@skip-check module-unused-local-variable | ||||
| //@skip-check use-non-recommended-method | ||||
|  | ||||
| // Раскомментировать, если выполняется OneScript | ||||
| #Использовать "../../../tools" | ||||
| @@ -2324,9 +2325,16 @@ | ||||
|     ПроксиИнтеграций_ДобавитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ПолучитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ПолучитьСписокОбработчиковЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ИзменитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ОтключитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ВключитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_УдалитьОбработчикЗапросов(ПараметрыТеста); | ||||
|  | ||||
|     УдалитьФайлы(ПутьФайл); | ||||
|     Попытка | ||||
|         УдалитьФайлы(ПутьФайл);     | ||||
|     Исключение | ||||
|         Сообщить("Не удалось удалить временный файл"); | ||||
|     КонецПопытки; | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| @@ -17184,7 +17192,11 @@ | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПроект (каталог)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ФайлСуществует(ПутьПроекта); | ||||
|  | ||||
|     УдалитьФайлы(ПутьПроекта); | ||||
|     Попытка | ||||
|         УдалитьФайлы(ПутьПроекта); | ||||
|     Исключение | ||||
|         Сообщить("Не удалось удалить временный файл"); | ||||
|     КонецПопытки; | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| @@ -17258,6 +17270,65 @@ | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ПроксиИнтеграций_ИзменитьОбработчикЗапросов(ПараметрыФункции) | ||||
|  | ||||
|     Проект          = ПараметрыФункции["Proxy_ProjectPath"]; | ||||
|     КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"]; | ||||
|     БиблиотекаОПИ   = "dropbox"; | ||||
|     ФункцияОПИ      = "СоздатьПапку"; | ||||
|  | ||||
|     Результат = OPI_ПроксиИнтеграций.ИзменитьОбработчикЗапросов(Проект, КлючОбработчика, БиблиотекаОПИ, ФункцияОПИ); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьОбработчикЗапросов", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); | ||||
|      | ||||
|     Результат = OPI_ПроксиИнтеграций.ПолучитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьОбработчикЗапросов (проверка)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ПроксиОбработчик(Результат, БиблиотекаОПИ, ФункцияОПИ); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ПроксиИнтеграций_ОтключитьОбработчикЗапросов(ПараметрыФункции) | ||||
|  | ||||
|     Проект          = ПараметрыФункции["Proxy_ProjectPath"]; | ||||
|     КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"]; | ||||
|  | ||||
|     Результат = OPI_ПроксиИнтеграций.ОтключитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьОбработчикЗапросов", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); | ||||
|      | ||||
|     Результат = OPI_ПроксиИнтеграций.ПолучитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьОбработчикЗапросов (проверка)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ПроксиПереключение(Результат, Ложь); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ПроксиИнтеграций_ВключитьОбработчикЗапросов(ПараметрыФункции) | ||||
|  | ||||
|     Проект          = ПараметрыФункции["Proxy_ProjectPath"]; | ||||
|     КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"]; | ||||
|  | ||||
|     Результат = OPI_ПроксиИнтеграций.ВключитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьОбработчикЗапросов", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); | ||||
|      | ||||
|     Результат = OPI_ПроксиИнтеграций.ПолучитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьОбработчикЗапросов (проверка)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ПроксиПереключение(Результат, Истина); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| #КонецОбласти | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
| @@ -2119,6 +2119,20 @@ | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура Проверка_ПроксиОбработчик(Знач Результат, Знач БиблиотекаОПИ, Знач ФункцияОПИ) Экспорт | ||||
|      | ||||
|     ОжидаетЧто(Результат["data"]["library"]).Равно(БиблиотекаОПИ); | ||||
|     ОжидаетЧто(Результат["data"]["function"]).Равно(ФункцияОПИ); | ||||
|      | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура Проверка_ПроксиПереключение(Знач Результат, Знач Активен) Экспорт | ||||
|      | ||||
|     Активен = ?(Активен, 1, 0); | ||||
|     ОжидаетЧто(Результат["data"]["active"]).Равно(Активен); | ||||
|      | ||||
| КонецПроцедуры | ||||
|  | ||||
| #КонецОбласти | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
| @@ -2119,6 +2119,20 @@ | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура Проверка_ПроксиОбработчик(Знач Результат, Знач БиблиотекаОПИ, Знач ФункцияОПИ) Экспорт | ||||
|      | ||||
|     ОжидаетЧто(Результат["data"]["library"]).Равно(БиблиотекаОПИ); | ||||
|     ОжидаетЧто(Результат["data"]["function"]).Равно(ФункцияОПИ); | ||||
|      | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура Проверка_ПроксиПереключение(Знач Результат, Знач Активен) Экспорт | ||||
|      | ||||
|     Активен = ?(Активен, 1, 0); | ||||
|     ОжидаетЧто(Результат["data"]["active"]).Равно(Активен); | ||||
|      | ||||
| КонецПроцедуры | ||||
|  | ||||
| #КонецОбласти | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
| @@ -60,7 +60,7 @@ | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Запустить | ||||
| // Запустить проект | ||||
| // Запускает прокси сервер интеграций | ||||
| // | ||||
| // Параметры: | ||||
| @@ -68,7 +68,7 @@ | ||||
| //  Проект - Строка  - Путь к файлу проекта - proj | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат остановки сервера | ||||
| Функция Запустить(Знач Порт, Знач Проект) Экспорт | ||||
| Функция ЗапуститьПроект(Знач Порт, Знач Проект) Экспорт | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт); | ||||
|  | ||||
| @@ -179,7 +179,7 @@ | ||||
| КонецФункции | ||||
|  | ||||
| // Получить обработчик запросов | ||||
| // Получает информацию об обработчике по ID | ||||
| // Получает информацию об обработчике по ключу | ||||
| // | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| @@ -285,6 +285,87 @@ | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Изменить обработчик запросов | ||||
| // Изменяет значения полей обработчика запросов | ||||
| //  | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта                                                    - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика                                                        - handler | ||||
| //  БиблиотекаОПИ   - Строка - Имя библиотеки в CLI формате                                            - lib | ||||
| //  ФункцияОПИ      - Строка - Имя функции Открытого пакета интеграций                                 - func | ||||
| //  Метод           - Строка - HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART - method | ||||
| //  | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат изменения обработчика | ||||
| Функция ИзменитьОбработчикЗапросов(Знач Проект | ||||
|     , Знач КлючОбработчика | ||||
|     , Знач БиблиотекаОПИ = "" | ||||
|     , Знач ФункцияОПИ = "" | ||||
|     , Знач Метод = "") Экспорт | ||||
|      | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(БиблиотекаОПИ); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(ФункцияОПИ); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика); | ||||
|  | ||||
|     Результат = ПроверитьСуществованиеПроекта(Проект); | ||||
|  | ||||
|     Если Не Результат["result"] Тогда | ||||
|         Возврат Результат; | ||||
|     Иначе | ||||
|         Проект = Результат["path"]; | ||||
|     КонецЕсли; | ||||
|  | ||||
|     СтруктураЗаписи = Новый Структура; | ||||
|      | ||||
|     Если ЗначениеЗаполнено(БиблиотекаОПИ) Тогда | ||||
|         СтруктураЗаписи.Вставить("library" , БиблиотекаОПИ); | ||||
|     КонецЕсли; | ||||
|      | ||||
|     Если ЗначениеЗаполнено(ФункцияОПИ) Тогда | ||||
|         СтруктураЗаписи.Вставить("function", ФункцияОПИ); | ||||
|     КонецЕсли; | ||||
|      | ||||
|     Если ЗначениеЗаполнено(Метод) Тогда | ||||
|         СтруктураЗаписи.Вставить("method"  , Метод); | ||||
|     КонецЕсли; | ||||
|  | ||||
|     Результат = ИзменитьПоляОбработчика(Проект, КлючОбработчика, СтруктураЗаписи); | ||||
|      | ||||
|     Возврат Результат; | ||||
|          | ||||
| КонецФункции | ||||
|  | ||||
| // Отключить обработчик запросов | ||||
| // Отключает обработчик по ключу | ||||
| //  | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика     - handler | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат переключения | ||||
| Функция ОтключитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика) Экспорт | ||||
|      | ||||
|     Возврат ПереключитьОбработчикЗапросов(Проект, КлючОбработчика, Ложь); | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| // Включить обработчик запросов | ||||
| // Включает обработчик по ключу | ||||
| //  | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика     - handler | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат переключения | ||||
| Функция ВключитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика) Экспорт | ||||
|      | ||||
|     Возврат ПереключитьОбработчикЗапросов(Проект, КлючОбработчика, Истина); | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| #КонецОбласти | ||||
|  | ||||
| #Область УстановкаАргументов | ||||
| @@ -598,7 +679,53 @@ | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПолучитьUUID(Знач Длина) | ||||
|     Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина); | ||||
|     Возврат вРег(Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина)); | ||||
| КонецФункции | ||||
|  | ||||
| Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи) | ||||
|  | ||||
|     Если СтруктураЗаписи.Количество() > 0 Тогда | ||||
|          | ||||
|         СтруктураФильтра = Новый Структура; | ||||
|      | ||||
|         СтруктураФильтра.Вставить("field", "key"); | ||||
|         СтруктураФильтра.Вставить("type" , "="); | ||||
|         СтруктураФильтра.Вставить("value", КлючОбработчика); | ||||
|         СтруктураФильтра.Вставить("raw"  , Ложь); | ||||
|          | ||||
|         ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|          | ||||
|         Результат  = OPI_SQLite.ОбновитьЗаписи(ИмяТаблицыОбработчиков | ||||
|             , СтруктураЗаписи | ||||
|             , СтруктураФильтра | ||||
|             , Проект); | ||||
|      | ||||
|     Иначе | ||||
|         Результат = СформироватьОтвет(Ложь, "Nothing to change"); | ||||
|     КонецЕсли; | ||||
|          | ||||
|     Возврат Результат; | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПереключитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика, Знач Активность) | ||||
|      | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика); | ||||
|     OPI_ПреобразованиеТипов.ПолучитьБулево(Активность); | ||||
|  | ||||
|     Результат = ПроверитьСуществованиеПроекта(Проект); | ||||
|  | ||||
|     Если Не Результат["result"] Тогда | ||||
|         Возврат Результат; | ||||
|     Иначе | ||||
|         Проект = Результат["path"]; | ||||
|     КонецЕсли; | ||||
|      | ||||
|     СтруктураЗаписи = Новый Структура("active", Активность); | ||||
|     Результат       = ИзменитьПоляОбработчика(Проект, КлючОбработчика, СтруктураЗаписи); | ||||
|      | ||||
|     Возврат Результат; | ||||
|      | ||||
| КонецФункции | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
| @@ -47,6 +47,7 @@ | ||||
| //@skip-check undefined-function-or-procedure | ||||
| //@skip-check wrong-string-literal-content | ||||
| //@skip-check module-unused-local-variable | ||||
| //@skip-check use-non-recommended-method | ||||
|  | ||||
| // Раскомментировать, если выполняется OneScript | ||||
| // #Использовать "../../../tools" | ||||
| @@ -2324,9 +2325,16 @@ | ||||
|     ПроксиИнтеграций_ДобавитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ПолучитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ПолучитьСписокОбработчиковЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ИзменитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ОтключитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_ВключитьОбработчикЗапросов(ПараметрыТеста); | ||||
|     ПроксиИнтеграций_УдалитьОбработчикЗапросов(ПараметрыТеста); | ||||
|  | ||||
|     УдалитьФайлы(ПутьФайл); | ||||
|     Попытка | ||||
|         УдалитьФайлы(ПутьФайл);     | ||||
|     Исключение | ||||
|         Сообщить("Не удалось удалить временный файл"); | ||||
|     КонецПопытки; | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| @@ -17184,7 +17192,11 @@ | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьПроект (каталог)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ФайлСуществует(ПутьПроекта); | ||||
|  | ||||
|     УдалитьФайлы(ПутьПроекта); | ||||
|     Попытка | ||||
|         УдалитьФайлы(ПутьПроекта); | ||||
|     Исключение | ||||
|         Сообщить("Не удалось удалить временный файл"); | ||||
|     КонецПопытки; | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| @@ -17258,6 +17270,65 @@ | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ПроксиИнтеграций_ИзменитьОбработчикЗапросов(ПараметрыФункции) | ||||
|  | ||||
|     Проект          = ПараметрыФункции["Proxy_ProjectPath"]; | ||||
|     КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"]; | ||||
|     БиблиотекаОПИ   = "dropbox"; | ||||
|     ФункцияОПИ      = "СоздатьПапку"; | ||||
|  | ||||
|     Результат = OPI_ПроксиИнтеграций.ИзменитьОбработчикЗапросов(Проект, КлючОбработчика, БиблиотекаОПИ, ФункцияОПИ); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьОбработчикЗапросов", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); | ||||
|      | ||||
|     Результат = OPI_ПроксиИнтеграций.ПолучитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьОбработчикЗапросов (проверка)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ПроксиОбработчик(Результат, БиблиотекаОПИ, ФункцияОПИ); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ПроксиИнтеграций_ОтключитьОбработчикЗапросов(ПараметрыФункции) | ||||
|  | ||||
|     Проект          = ПараметрыФункции["Proxy_ProjectPath"]; | ||||
|     КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"]; | ||||
|  | ||||
|     Результат = OPI_ПроксиИнтеграций.ОтключитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьОбработчикЗапросов", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); | ||||
|      | ||||
|     Результат = OPI_ПроксиИнтеграций.ПолучитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ОтключитьОбработчикЗапросов (проверка)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ПроксиПереключение(Результат, Ложь); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| Процедура ПроксиИнтеграций_ВключитьОбработчикЗапросов(ПараметрыФункции) | ||||
|  | ||||
|     Проект          = ПараметрыФункции["Proxy_ProjectPath"]; | ||||
|     КлючОбработчика = ПараметрыФункции["Proxy_HandlerKey"]; | ||||
|  | ||||
|     Результат = OPI_ПроксиИнтеграций.ВключитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     // END | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьОбработчикЗапросов", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_РезультатИстина(Результат); | ||||
|      | ||||
|     Результат = OPI_ПроксиИнтеграций.ПолучитьОбработчикЗапросов(Проект, КлючОбработчика); | ||||
|  | ||||
|     OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВключитьОбработчикЗапросов (проверка)", "ПроксиИнтеграций"); | ||||
|     OPI_ПолучениеДанныхТестов.Проверка_ПроксиПереключение(Результат, Истина); | ||||
|  | ||||
| КонецПроцедуры | ||||
|  | ||||
| #КонецОбласти | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
		Reference in New Issue
	
	Block a user