You've already forked OpenIntegrations
							
							
				mirror of
				https://github.com/Bayselonarrend/OpenIntegrations.git
				synced 2025-10-30 23:47:46 +02:00 
			
		
		
		
	Main build (Jenkins)
This commit is contained in:
		
							
								
								
									
										62
									
								
								.github/workflows/oint_test_full_en.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								.github/workflows/oint_test_full_en.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1405,9 +1405,51 @@ jobs: | ||||
|           key: logs-TCP | ||||
|           path: ./docs/en/results/TCP | ||||
|  | ||||
|  | ||||
|   Testing-Proxy: | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [Decode, Build] | ||||
|     steps: | ||||
|  | ||||
|       - uses: actions/checkout@v2  | ||||
|       - uses: otymko/setup-onescript@v1.4 | ||||
|         with: | ||||
|           version: 1.9.1 | ||||
|        | ||||
|       - name: Получить тестовые данные из кэша | ||||
|         uses: actions/cache/restore@v3 | ||||
|         with: | ||||
|           key: test-data | ||||
|           path: ./data.json | ||||
|        | ||||
|       - name: Установить asserts и 1testrunner | ||||
|         run: | | ||||
|           opm install asserts | ||||
|           opm install 1testrunner | ||||
|  | ||||
|       - name: Установить OInt | ||||
|         run: | | ||||
|           TEMP_DEB="$(mktemp)" && | ||||
|           wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.18.0/oint_1.18.0_all_en.deb' && | ||||
|           sudo dpkg -i "$TEMP_DEB" | ||||
|           rm -f "$TEMP_DEB" | ||||
|  | ||||
|  | ||||
|  | ||||
|       - name: Project setup | ||||
|         if: ${{ cancelled() }} == false | ||||
|         run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os "CLI_Proxy_ProjectSetup" | ||||
|  | ||||
|       - name: Записать логи | ||||
|         if: ${{ cancelled() }} == false | ||||
|         uses: actions/cache/save@v3 | ||||
|         with: | ||||
|           key: logs-Proxy | ||||
|           path: ./docs/en/results/Proxy | ||||
|  | ||||
|   Encode: | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-SQLite,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-TCP] | ||||
|     needs: [Testing-Telegram,Testing-VK,Testing-Viber,Testing-Twitter,Testing-SQLite,Testing-YandexDisk,Testing-GoogleWorkspace,Testing-GoogleCalendar,Testing-GoogleDrive,Testing-GoogleSheets,Testing-Notion,Testing-Slack,Testing-Airtable,Testing-Dropbox,Testing-Bitrix24,Testing-VkTeams,Testing-Ozon,Testing-Neocities,Testing-CDEK,Testing-YandexMetrika,Testing-S3,Testing-TCP,Testing-Proxy] | ||||
|     if: ${{ always() }} | ||||
|     permissions: | ||||
|       contents: write | ||||
| @@ -1787,6 +1829,22 @@ jobs: | ||||
|           -H "X-GitHub-Api-Version: 2022-11-28" \ | ||||
|           "https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-TCP" | ||||
|  | ||||
|       - name: Получить логи Proxy | ||||
|         uses: actions/cache/restore@v3 | ||||
|         with: | ||||
|           key: logs-Proxy | ||||
|           path: ./docs/en/results/Proxy | ||||
|  | ||||
|  | ||||
|       - name: Очистка логов Proxy | ||||
|         run: | | ||||
|           curl -L \ | ||||
|           -X DELETE \ | ||||
|           -H "Accept: application/vnd.github+json" \ | ||||
|           -H "Authorization: Bearer ${{ secrets.TOKEN }}" \ | ||||
|           -H "X-GitHub-Api-Version: 2022-11-28" \ | ||||
|           "https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=logs-Proxy" | ||||
|  | ||||
|  | ||||
|       - name: Записать данные     | ||||
|         uses: stefanzweifel/git-auto-commit-action@v5    | ||||
| @@ -1799,7 +1857,7 @@ jobs: | ||||
|  | ||||
|   Clear-Cache: | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-SQLite, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-TCP, Encode] | ||||
|     needs: [Testing-Telegram, Testing-VK, Testing-Viber, Testing-Twitter, Testing-SQLite, Testing-YandexDisk, Testing-GoogleWorkspace, Testing-GoogleCalendar, Testing-GoogleDrive, Testing-GoogleSheets, Testing-Notion, Testing-Slack, Testing-Airtable, Testing-Dropbox, Testing-Bitrix24, Testing-VkTeams, Testing-Ozon, Testing-Neocities, Testing-CDEK, Testing-YandexMetrika, Testing-S3, Testing-TCP, Testing-Proxy, Encode] | ||||
|     if: ${{ always() }} | ||||
|     steps: | ||||
|       - name: Очистка основного кэша | ||||
|   | ||||
							
								
								
									
										11
									
								
								ci/cli_ostesten
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								ci/cli_ostesten
									
									
									
									
										vendored
									
									
								
							| @@ -694,6 +694,17 @@ pipeline { | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|         stage('Testing-Proxy') { | ||||
| 			steps { | ||||
| 					 | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_TestsCLI.os" "CLI_Proxy_ProjectSetup"' | ||||
|                } | ||||
|  | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|    } | ||||
|       post{ | ||||
|          always{ | ||||
|   | ||||
							
								
								
									
										10
									
								
								ci/clitesten
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								ci/clitesten
									
									
									
									
										vendored
									
									
								
							| @@ -1426,7 +1426,15 @@ def test_proxy(){ | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy AddRequestsHandler --proj "test" --name "test" --secret "test" --method "test" --debug --test ' | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy AddRequestsHandler --proj "test" --func "test" --method "test" --debug --test ' | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy GetRequestHandlersList --proj "test" --debug --test ' | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy DeleteRequestHandler --proj "test" --handler "test" --debug --test ' | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
|   | ||||
							
								
								
									
										10
									
								
								ci/clitestru
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								ci/clitestru
									
									
									
									
										vendored
									
									
								
							| @@ -2864,7 +2864,15 @@ def test_proxy(){ | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy ДобавитьОбработчикЗапросов --proj "test" --name "test" --secret "test" --method "test" --debug --test ' | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy ДобавитьОбработчикЗапросов --proj "test" --func "test" --method "test" --debug --test ' | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy ПолучитьСписокОбработчиковЗапросов --proj "test" --debug --test ' | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'./oint.exe proxy УдалитьОбработчикЗапросов --proj "test" --handler "test" --debug --test ' | ||||
|                } | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
|   | ||||
							
								
								
									
										11
									
								
								ci/ostesten
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								ci/ostesten
									
									
									
									
										vendored
									
									
								
							| @@ -694,6 +694,17 @@ pipeline { | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|         stage('Testing-Proxy') { | ||||
| 			steps { | ||||
| 					 | ||||
|  | ||||
|                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {    | ||||
| 					powershell encoding: 'UTF-8', script:'1testrunner -run "./src/en/OInt/tests/Modules/internal/OPI_Tests.os" "Proxy_ProjectSetup"' | ||||
|                } | ||||
|  | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|    } | ||||
|       post{ | ||||
|          always{ | ||||
|   | ||||
| @@ -10,17 +10,16 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|  | ||||
|  | ||||
| `Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = "GET") Export` | ||||
| `Function AddRequestsHandler(Val Project, Val OintFunction, Val Method = "GET") Export` | ||||
|  | ||||
|   | Parameter | CLI option | Type | Required | Description | | ||||
|   |-|-|-|-|-| | ||||
|   | Project | --proj | String | ✔ | Project filepath | | ||||
|   | Name | --name | String | ✔ | Name of the new handler | | ||||
|   | SecretKey | --secret | String | ✔ | Secret key for URL handler | | ||||
|   | OintFunction | --func | String | ✔ | OpenIntegrations function name | | ||||
|   | Method | --method | String | ✖ | HTTP method that will process the handler: GET, POST, MULTIPART | | ||||
|  | ||||
|    | ||||
|   Returns:  Structure Of KeyAndValue - result of adding a handler | ||||
|   Returns:  Structure Of KeyAndValue - Result of handler creation | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|   | ||||
| @@ -17,7 +17,7 @@ import TabItem from '@theme/TabItem'; | ||||
|   | Path | --path | String | ✔ | Project filepath | | ||||
|  | ||||
|    | ||||
|   Returns:  Structure Of KeyAndValue - creation result | ||||
|   Returns:  Structure Of KeyAndValue - Creation result | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|   | ||||
							
								
								
									
										35
									
								
								docs/en/md/Integration_proxy_methods/Project-setup/Delete-request-handler.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								docs/en/md/Integration_proxy_methods/Project-setup/Delete-request-handler.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| --- | ||||
| sidebar_position: 4 | ||||
| --- | ||||
|  | ||||
| import Tabs from '@theme/Tabs'; | ||||
| import TabItem from '@theme/TabItem'; | ||||
|  | ||||
| # Delete request handler | ||||
|  Removes the request handler from the project | ||||
|  | ||||
|  | ||||
|  | ||||
| `Function DeleteRequestHandler(Val Project, Val HandlerKey) Export` | ||||
|  | ||||
|   | Parameter | CLI option | Type | Required | Description | | ||||
|   |-|-|-|-|-| | ||||
|   | Project | --proj | String | ✔ | Project filepath | | ||||
|   | HandlerKey | --handler | String | ✔ | Handler key | | ||||
|  | ||||
|    | ||||
|   Returns:  Structure Of KeyAndValue - Deletion result | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```bsl title="1C:Enterprise/OneScript code example" | ||||
|  | ||||
| ``` | ||||
|   | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										34
									
								
								docs/en/md/Integration_proxy_methods/Project-setup/Get-request-handlers-list.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								docs/en/md/Integration_proxy_methods/Project-setup/Get-request-handlers-list.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| --- | ||||
| sidebar_position: 3 | ||||
| --- | ||||
|  | ||||
| import Tabs from '@theme/Tabs'; | ||||
| import TabItem from '@theme/TabItem'; | ||||
|  | ||||
| # Get the list of request handlers | ||||
|  Gets the list of handlers in the project | ||||
|  | ||||
|  | ||||
|  | ||||
| `Function GetRequestHandlersList(Val Project) Export` | ||||
|  | ||||
|   | Parameter | CLI option | Type | Required | Description | | ||||
|   |-|-|-|-|-| | ||||
|   | Project | --proj | String | ✔ | Project filepath | | ||||
|  | ||||
|    | ||||
|   Returns:  Structure Of KeyAndValue - Handlers list | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```bsl title="1C:Enterprise/OneScript code example" | ||||
|  | ||||
| ``` | ||||
|   | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -1,5 +1,5 @@ | ||||
| --- | ||||
| sidebar_position: 3 | ||||
| sidebar_position: 5 | ||||
| --- | ||||
|  | ||||
| import Tabs from '@theme/Tabs'; | ||||
| @@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem'; | ||||
|   | Project | --proj | String | ✔ | Project filepath | | ||||
|  | ||||
|    | ||||
|   Returns:  Structure Of KeyAndValue - server shutdown result | ||||
|   Returns:  Structure Of KeyAndValue - Result of server shutdown | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|   | ||||
| @@ -10,17 +10,16 @@ import TabItem from '@theme/TabItem'; | ||||
|  | ||||
|  | ||||
|  | ||||
| `Функция ДобавитьОбработчикЗапросов(Знач Проект, Знач Имя, Знач СекретныйКлюч, Знач Метод = "GET") Экспорт` | ||||
| `Функция ДобавитьОбработчикЗапросов(Знач Проект, Знач ФункцияОПИ, Знач Метод = "GET") Экспорт` | ||||
|  | ||||
|   | Параметр | CLI опция | Тип | Обяз. | Назначение | | ||||
|   |-|-|-|-|-| | ||||
|   | Проект | --proj | Строка | ✔ | Путь к файлу проекта | | ||||
|   | Имя | --name | Строка | ✔ | Имя нового обработчика | | ||||
|   | СекретныйКлюч | --secret | Строка | ✔ | Секретный ключ для URL обработчика | | ||||
|   | ФункцияОПИ | --func | Строка | ✔ | Имя функции Открытого пакета интеграций | | ||||
|   | Метод | --method | Строка | ✖ | HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART | | ||||
|  | ||||
|    | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - результат добавления обработчика | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - Результат добавления обработчика | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|   | ||||
| @@ -17,7 +17,7 @@ import TabItem from '@theme/TabItem'; | ||||
|   | Путь | --path | Строка | ✔ | Путь к файлу проекта | | ||||
|  | ||||
|    | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - результат создания | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - Результат создания | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|   | ||||
							
								
								
									
										35
									
								
								docs/ru/md/Методы_прокси_интеграций/Project-setup/Delete-request-handler.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								docs/ru/md/Методы_прокси_интеграций/Project-setup/Delete-request-handler.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| --- | ||||
| sidebar_position: 4 | ||||
| --- | ||||
|  | ||||
| import Tabs from '@theme/Tabs'; | ||||
| import TabItem from '@theme/TabItem'; | ||||
|  | ||||
| # Удалить обработчик запросов | ||||
|  Удаляет обработчик запросов из проекта | ||||
|  | ||||
|  | ||||
|  | ||||
| `Функция УдалитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика) Экспорт` | ||||
|  | ||||
|   | Параметр | CLI опция | Тип | Обяз. | Назначение | | ||||
|   |-|-|-|-|-| | ||||
|   | Проект | --proj | Строка | ✔ | Путь к файлу проекта | | ||||
|   | КлючОбработчика | --handler | Строка | ✔ | Ключ обработчика | | ||||
|  | ||||
|    | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - Результат удаления | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```bsl title="Пример использования для 1С:Предприятие/OneScript" | ||||
|  | ||||
| ``` | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										34
									
								
								docs/ru/md/Методы_прокси_интеграций/Project-setup/Get-request-handlers-list.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								docs/ru/md/Методы_прокси_интеграций/Project-setup/Get-request-handlers-list.mdx
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| --- | ||||
| sidebar_position: 3 | ||||
| --- | ||||
|  | ||||
| import Tabs from '@theme/Tabs'; | ||||
| import TabItem from '@theme/TabItem'; | ||||
|  | ||||
| # Получить список обработчиков запросов | ||||
|  Получает список обработчиков в проекте | ||||
|  | ||||
|  | ||||
|  | ||||
| `Функция ПолучитьСписокОбработчиковЗапросов(Знач Проект) Экспорт` | ||||
|  | ||||
|   | Параметр | CLI опция | Тип | Обяз. | Назначение | | ||||
|   |-|-|-|-|-| | ||||
|   | Проект | --proj | Строка | ✔ | Путь к файлу проекта | | ||||
|  | ||||
|    | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - Список обработчиков | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| ```bsl title="Пример использования для 1С:Предприятие/OneScript" | ||||
|  | ||||
| ``` | ||||
|      | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -1,5 +1,5 @@ | ||||
| --- | ||||
| sidebar_position: 3 | ||||
| sidebar_position: 5 | ||||
| --- | ||||
|  | ||||
| import Tabs from '@theme/Tabs'; | ||||
| @@ -18,7 +18,7 @@ import TabItem from '@theme/TabItem'; | ||||
|   | Проект | --proj | Строка | ✔ | Путь к файлу проекта | | ||||
|  | ||||
|    | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - результат остановки сервера | ||||
|   Возвращаемое значение:   Структура Из КлючИЗначение - Результат остановки сервера | ||||
|  | ||||
| <br/> | ||||
|  | ||||
|   | ||||
							
								
								
									
										12504
									
								
								service/dictionaries/en.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12504
									
								
								service/dictionaries/en.json
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										134
									
								
								src/en/OInt/core/Modules/OPI_IntegrationProxy.os
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										134
									
								
								src/en/OInt/core/Modules/OPI_IntegrationProxy.os
									
									
									
									
										vendored
									
									
								
							| @@ -53,7 +53,7 @@ | ||||
| // Path - String - Project filepath - path | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - creation result | ||||
| // Structure Of KeyAndValue - Creation result | ||||
| Function CreateProject(Val Path) Export | ||||
|  | ||||
|     Return NormalizeProject(Path); | ||||
| @@ -65,16 +65,14 @@ EndFunction | ||||
| // | ||||
| // Parameters: | ||||
| // Project - String - Project filepath - proj | ||||
| // Name - String - Name of the new handler - name | ||||
| // SecretKey - String - Secret key for URL handler - secret | ||||
| // OintFunction - String - OpenIntegrations function name - func | ||||
| // Method - String - HTTP method that will process the handler: GET, POST, MULTIPART - method | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - result of adding a handler | ||||
| Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = "GET") Export | ||||
| // Structure Of KeyAndValue - Result of handler creation | ||||
| Function AddRequestsHandler(Val Project, Val OintFunction, Val Method = "GET") Export | ||||
|  | ||||
|     OPI_TypeConversion.GetLine(Name); | ||||
|     OPI_TypeConversion.GetLine(SecretKey); | ||||
|     OPI_TypeConversion.GetLine(OintFunction); | ||||
|     OPI_TypeConversion.GetLine(Method); | ||||
|  | ||||
|     Result = CheckProjectExistence(Project); | ||||
| @@ -85,11 +83,77 @@ Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = " | ||||
|         Project = Result["path"]; | ||||
|     EndIf; | ||||
|  | ||||
|     DataArray = New Array; | ||||
|     DataArray.Add(New Structure("name,secret,method", Name, SecretKey, Method)); | ||||
|     SecretKey = GetHandlerUniqueKey(Project); | ||||
|  | ||||
|     If TypeOf(SecretKey) = Type("Structure") Then | ||||
|         SecretKey.Insert("message", "Failed to generate a handler UID. Try again"); | ||||
|         Return SecretKey; | ||||
|     EndIf; | ||||
|  | ||||
|     RecordStructure = New Structure; | ||||
|     RecordStructure.Insert("function", OintFunction); | ||||
|     RecordStructure.Insert("id"      , SecretKey); | ||||
|     RecordStructure.Insert("method"  , Method); | ||||
|     RecordStructure.Insert("active"  , True); | ||||
|  | ||||
|     HandlersTableName = ConstantValue("HandlersTable"); | ||||
|     Result            = OPI_SQLite.AddRecords(HandlersTableName, DataArray, , Project); | ||||
|     Result            = OPI_SQLite.AddRecords(HandlersTableName, RecordStructure, False, Project); | ||||
|  | ||||
|     If Result["result"] Then | ||||
|  | ||||
|           Result = New Structure; | ||||
|           Result.Insert("result"     , True); | ||||
|           Result.Insert("key"        , SecretKey); | ||||
|           Result.Insert("url_example", "localhost:port/" + SecretKey); | ||||
|  | ||||
|     EndIf; | ||||
|  | ||||
|     Return Result; | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| // Get the list of request handlers | ||||
| // Gets the list of handlers in the project | ||||
| // | ||||
| // Parameters: | ||||
| // Project - String - Project filepath - proj | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - Handlers list | ||||
| Function GetRequestHandlersList(Val Project) Export | ||||
|  | ||||
|     OPI_TypeConversion.GetLine(Project); | ||||
|  | ||||
|     Table  = ConstantValue("HandlersTable"); | ||||
|     Result = OPI_SQLite.GetRecords(Table, , , , , Project); | ||||
|  | ||||
|     Return Result; | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| // Delete request handler | ||||
| // Removes the request handler from the project | ||||
| // | ||||
| // Parameters: | ||||
| // Project - String - Project filepath - proj | ||||
| // HandlerKey - String - Handler key - handler | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - Deletion result | ||||
| Function DeleteRequestHandler(Val Project, Val HandlerKey) Export | ||||
|  | ||||
|     OPI_TypeConversion.GetLine(HandlerKey); | ||||
|  | ||||
|     Table = ConstantValue("HandlersTable"); | ||||
|  | ||||
|     FilterStructure = New Structure; | ||||
|  | ||||
|     FilterStructure.Insert("field", "id"); | ||||
|     FilterStructure.Insert("type" , "="); | ||||
|     FilterStructure.Insert("value", HandlerKey); | ||||
|     FilterStructure.Insert("raw"  , False); | ||||
|  | ||||
|     Result = OPI_SQLite.DeletePosts(Table, FilterStructure, Project); | ||||
|  | ||||
|     Return Result; | ||||
|  | ||||
| @@ -102,7 +166,7 @@ EndFunction | ||||
| // Port - Number - Servers port - port | ||||
| // Project - String - Project filepath - proj | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - server shutdown result | ||||
| // Structure Of KeyAndValue - Result of server shutdown | ||||
| Function Start(Val Port, Val Project) Export | ||||
|  | ||||
|     OPI_TypeConversion.GetNumber(Port); | ||||
| @@ -228,6 +292,7 @@ Function CreateNewProject(Path) | ||||
|  | ||||
|     If Not Result["result"] Then | ||||
|         DeleteFiles(Path); | ||||
|         Return Result; | ||||
|     EndIf; | ||||
|  | ||||
|     Return Result; | ||||
| @@ -237,10 +302,10 @@ EndFunction | ||||
| Function CreateHandlersTable(Path) | ||||
|  | ||||
|     TableStructure = New Structure(); | ||||
|     TableStructure.Insert("id"    , "INTEGER PRIMARY KEY"); | ||||
|     TableStructure.Insert("name"  , "TEXT"); | ||||
|     TableStructure.Insert("secret", "TEXT"); | ||||
|     TableStructure.Insert("method", "TEXT"); | ||||
|     TableStructure.Insert("id"      , "TEXT PRIMARY KEY NOT NULL UNIQUE"); | ||||
|     TableStructure.Insert("function", "TEXT"); | ||||
|     TableStructure.Insert("method"  , "TEXT"); | ||||
|     TableStructure.Insert("active"  , "BOOLEAN"); | ||||
|  | ||||
|     HandlersTableName = ConstantValue("HandlersTable"); | ||||
|     Result            = OPI_SQLite.CreateTable(HandlersTableName, TableStructure, Path); | ||||
| @@ -249,6 +314,45 @@ Function CreateHandlersTable(Path) | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| Function GetHandlerUniqueKey(Path) | ||||
|  | ||||
|     SecretKey = GetUUID(9); | ||||
|     Table     = ConstantValue("HandlersTable"); | ||||
|  | ||||
|     FilterStructure = New Structure; | ||||
|  | ||||
|     FilterStructure.Insert("field", "id"); | ||||
|     FilterStructure.Insert("type" , "="); | ||||
|     FilterStructure.Insert("value", SecretKey); | ||||
|     FilterStructure.Insert("raw"  , False); | ||||
|  | ||||
|     Result = OPI_SQLite.GetRecords(Table, , FilterStructure, , , Path); | ||||
|  | ||||
|     If Not Result["result"] Then | ||||
|         Return Result; | ||||
|     EndIf; | ||||
|  | ||||
|     While Result["data"].Count() > 0 Do | ||||
|  | ||||
|         SecretKey                = GetUUID(9); | ||||
|         FilterStructure["value"] = SecretKey; | ||||
|  | ||||
|         Result = OPI_SQLite.GetRecords(Table, , FilterStructure, , , Path); | ||||
|  | ||||
|         If Not Result["result"] Then | ||||
|             Return Result; | ||||
|         EndIf; | ||||
|  | ||||
|     EndDo; | ||||
|  | ||||
|     Return SecretKey; | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| Function GetUUID(Val Length) | ||||
|     Return Left(StrReplace(String(New UUID), "-", ""), Length); | ||||
| EndFunction | ||||
|  | ||||
| #EndRegion | ||||
|  | ||||
| #Region Handlers | ||||
|   | ||||
| @@ -53,7 +53,7 @@ | ||||
| // Path - String - Project filepath - path | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - creation result | ||||
| // Structure Of KeyAndValue - Creation result | ||||
| Function CreateProject(Val Path) Export | ||||
|  | ||||
|     Return NormalizeProject(Path); | ||||
| @@ -65,16 +65,14 @@ EndFunction | ||||
| // | ||||
| // Parameters: | ||||
| // Project - String - Project filepath - proj | ||||
| // Name - String - Name of the new handler - name | ||||
| // SecretKey - String - Secret key for URL handler - secret | ||||
| // OintFunction - String - OpenIntegrations function name - func | ||||
| // Method - String - HTTP method that will process the handler: GET, POST, MULTIPART - method | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - result of adding a handler | ||||
| Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = "GET") Export | ||||
| // Structure Of KeyAndValue - Result of handler creation | ||||
| Function AddRequestsHandler(Val Project, Val OintFunction, Val Method = "GET") Export | ||||
|  | ||||
|     OPI_TypeConversion.GetLine(Name); | ||||
|     OPI_TypeConversion.GetLine(SecretKey); | ||||
|     OPI_TypeConversion.GetLine(OintFunction); | ||||
|     OPI_TypeConversion.GetLine(Method); | ||||
|  | ||||
|     Result = CheckProjectExistence(Project); | ||||
| @@ -85,11 +83,77 @@ Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = " | ||||
|         Project = Result["path"]; | ||||
|     EndIf; | ||||
|  | ||||
|     DataArray = New Array; | ||||
|     DataArray.Add(New Structure("name,secret,method", Name, SecretKey, Method)); | ||||
|     SecretKey = GetHandlerUniqueKey(Project); | ||||
|  | ||||
|     If TypeOf(SecretKey) = Type("Structure") Then | ||||
|         SecretKey.Insert("message", "Failed to generate a handler UID. Try again"); | ||||
|         Return SecretKey; | ||||
|     EndIf; | ||||
|  | ||||
|     RecordStructure = New Structure; | ||||
|     RecordStructure.Insert("function", OintFunction); | ||||
|     RecordStructure.Insert("id"      , SecretKey); | ||||
|     RecordStructure.Insert("method"  , Method); | ||||
|     RecordStructure.Insert("active"  , True); | ||||
|  | ||||
|     HandlersTableName = ConstantValue("HandlersTable"); | ||||
|     Result            = OPI_SQLite.AddRecords(HandlersTableName, DataArray, , Project); | ||||
|     Result            = OPI_SQLite.AddRecords(HandlersTableName, RecordStructure, False, Project); | ||||
|  | ||||
|     If Result["result"] Then | ||||
|  | ||||
|           Result = New Structure; | ||||
|           Result.Insert("result"     , True); | ||||
|           Result.Insert("key"        , SecretKey); | ||||
|           Result.Insert("url_example", "localhost:port/" + SecretKey); | ||||
|  | ||||
|     EndIf; | ||||
|  | ||||
|     Return Result; | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| // Get the list of request handlers | ||||
| // Gets the list of handlers in the project | ||||
| // | ||||
| // Parameters: | ||||
| // Project - String - Project filepath - proj | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - Handlers list | ||||
| Function GetRequestHandlersList(Val Project) Export | ||||
|  | ||||
|     OPI_TypeConversion.GetLine(Project); | ||||
|  | ||||
|     Table  = ConstantValue("HandlersTable"); | ||||
|     Result = OPI_SQLite.GetRecords(Table, , , , , Project); | ||||
|  | ||||
|     Return Result; | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| // Delete request handler | ||||
| // Removes the request handler from the project | ||||
| // | ||||
| // Parameters: | ||||
| // Project - String - Project filepath - proj | ||||
| // HandlerKey - String - Handler key - handler | ||||
| // | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - Deletion result | ||||
| Function DeleteRequestHandler(Val Project, Val HandlerKey) Export | ||||
|  | ||||
|     OPI_TypeConversion.GetLine(HandlerKey); | ||||
|  | ||||
|     Table = ConstantValue("HandlersTable"); | ||||
|  | ||||
|     FilterStructure = New Structure; | ||||
|  | ||||
|     FilterStructure.Insert("field", "id"); | ||||
|     FilterStructure.Insert("type" , "="); | ||||
|     FilterStructure.Insert("value", HandlerKey); | ||||
|     FilterStructure.Insert("raw"  , False); | ||||
|  | ||||
|     Result = OPI_SQLite.DeletePosts(Table, FilterStructure, Project); | ||||
|  | ||||
|     Return Result; | ||||
|  | ||||
| @@ -102,7 +166,7 @@ EndFunction | ||||
| // Port - Number - Servers port - port | ||||
| // Project - String - Project filepath - proj | ||||
| // Returns: | ||||
| // Structure Of KeyAndValue - server shutdown result | ||||
| // Structure Of KeyAndValue - Result of server shutdown | ||||
| Function Start(Val Port, Val Project) Export | ||||
|  | ||||
|     OPI_TypeConversion.GetNumber(Port); | ||||
| @@ -228,6 +292,7 @@ Function CreateNewProject(Path) | ||||
|  | ||||
|     If Not Result["result"] Then | ||||
|         DeleteFiles(Path); | ||||
|         Return Result; | ||||
|     EndIf; | ||||
|  | ||||
|     Return Result; | ||||
| @@ -237,10 +302,10 @@ EndFunction | ||||
| Function CreateHandlersTable(Path) | ||||
|  | ||||
|     TableStructure = New Structure(); | ||||
|     TableStructure.Insert("id"    , "INTEGER PRIMARY KEY"); | ||||
|     TableStructure.Insert("name"  , "TEXT"); | ||||
|     TableStructure.Insert("secret", "TEXT"); | ||||
|     TableStructure.Insert("method", "TEXT"); | ||||
|     TableStructure.Insert("id"      , "TEXT PRIMARY KEY NOT NULL UNIQUE"); | ||||
|     TableStructure.Insert("function", "TEXT"); | ||||
|     TableStructure.Insert("method"  , "TEXT"); | ||||
|     TableStructure.Insert("active"  , "BOOLEAN"); | ||||
|  | ||||
|     HandlersTableName = ConstantValue("HandlersTable"); | ||||
|     Result            = OPI_SQLite.CreateTable(HandlersTableName, TableStructure, Path); | ||||
| @@ -249,6 +314,45 @@ Function CreateHandlersTable(Path) | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| Function GetHandlerUniqueKey(Path) | ||||
|  | ||||
|     SecretKey = GetUUID(9); | ||||
|     Table     = ConstantValue("HandlersTable"); | ||||
|  | ||||
|     FilterStructure = New Structure; | ||||
|  | ||||
|     FilterStructure.Insert("field", "id"); | ||||
|     FilterStructure.Insert("type" , "="); | ||||
|     FilterStructure.Insert("value", SecretKey); | ||||
|     FilterStructure.Insert("raw"  , False); | ||||
|  | ||||
|     Result = OPI_SQLite.GetRecords(Table, , FilterStructure, , , Path); | ||||
|  | ||||
|     If Not Result["result"] Then | ||||
|         Return Result; | ||||
|     EndIf; | ||||
|  | ||||
|     While Result["data"].Count() > 0 Do | ||||
|  | ||||
|         SecretKey                = GetUUID(9); | ||||
|         FilterStructure["value"] = SecretKey; | ||||
|  | ||||
|         Result = OPI_SQLite.GetRecords(Table, , FilterStructure, , , Path); | ||||
|  | ||||
|         If Not Result["result"] Then | ||||
|             Return Result; | ||||
|         EndIf; | ||||
|  | ||||
|     EndDo; | ||||
|  | ||||
|     Return SecretKey; | ||||
|  | ||||
| EndFunction | ||||
|  | ||||
| Function GetUUID(Val Length) | ||||
|     Return Left(StrReplace(String(New UUID), "-", ""), Length); | ||||
| EndFunction | ||||
|  | ||||
| #EndRegion | ||||
|  | ||||
| #Region Handlers | ||||
|   | ||||
| @@ -37,18 +37,8 @@ | ||||
|     NewLine.Модуль      = "OPI_IntegrationProxy"; | ||||
|     NewLine.Метод       = "AddRequestsHandler"; | ||||
|     NewLine.МетодПоиска = "ADDREQUESTSHANDLER"; | ||||
|     NewLine.Параметр    = "--name"; | ||||
|     NewLine.Описание    = "Name of the new handler"; | ||||
|     NewLine.Область     = "Project setup"; | ||||
|  | ||||
|  | ||||
|     NewLine = CompositionTable.Add(); | ||||
|     NewLine.Библиотека  = "proxy"; | ||||
|     NewLine.Модуль      = "OPI_IntegrationProxy"; | ||||
|     NewLine.Метод       = "AddRequestsHandler"; | ||||
|     NewLine.МетодПоиска = "ADDREQUESTSHANDLER"; | ||||
|     NewLine.Параметр    = "--secret"; | ||||
|     NewLine.Описание    = "Secret key for URL handler"; | ||||
|     NewLine.Параметр    = "--func"; | ||||
|     NewLine.Описание    = "OpenIntegrations function name"; | ||||
|     NewLine.Область     = "Project setup"; | ||||
|  | ||||
|  | ||||
| @@ -62,6 +52,38 @@ | ||||
|     NewLine.Область     = "Project setup"; | ||||
|  | ||||
|  | ||||
|     NewLine = CompositionTable.Add(); | ||||
|     NewLine.Библиотека  = "proxy"; | ||||
|     NewLine.Модуль      = "OPI_IntegrationProxy"; | ||||
|     NewLine.Метод       = "GetRequestHandlersList"; | ||||
|     NewLine.МетодПоиска = "GETREQUESTHANDLERSLIST"; | ||||
|     NewLine.Параметр    = "--proj"; | ||||
|     NewLine.Описание    = "Project filepath"; | ||||
|     NewLine.Область     = "Project setup"; | ||||
|     NewLine.ОписаниеМетода   = "Gets the list of handlers in the project"; | ||||
|  | ||||
|  | ||||
|     NewLine = CompositionTable.Add(); | ||||
|     NewLine.Библиотека  = "proxy"; | ||||
|     NewLine.Модуль      = "OPI_IntegrationProxy"; | ||||
|     NewLine.Метод       = "DeleteRequestHandler"; | ||||
|     NewLine.МетодПоиска = "DELETEREQUESTHANDLER"; | ||||
|     NewLine.Параметр    = "--proj"; | ||||
|     NewLine.Описание    = "Project filepath"; | ||||
|     NewLine.Область     = "Project setup"; | ||||
|     NewLine.ОписаниеМетода   = "Removes the request handler from the project"; | ||||
|  | ||||
|  | ||||
|     NewLine = CompositionTable.Add(); | ||||
|     NewLine.Библиотека  = "proxy"; | ||||
|     NewLine.Модуль      = "OPI_IntegrationProxy"; | ||||
|     NewLine.Метод       = "DeleteRequestHandler"; | ||||
|     NewLine.МетодПоиска = "DELETEREQUESTHANDLER"; | ||||
|     NewLine.Параметр    = "--handler"; | ||||
|     NewLine.Описание    = "Handler key"; | ||||
|     NewLine.Область     = "Project setup"; | ||||
|  | ||||
|  | ||||
|     NewLine = CompositionTable.Add(); | ||||
|     NewLine.Библиотека  = "proxy"; | ||||
|     NewLine.Модуль      = "OPI_IntegrationProxy"; | ||||
|   | ||||
							
								
								
									
										64
									
								
								src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										64
									
								
								src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
									
									
									
									
										vendored
									
									
								
							| @@ -84,12 +84,12 @@ | ||||
|     КонецЕсли; | ||||
|  | ||||
|     СекретныйКлюч = ПолучитьУникальныйКлючОбработчика(Проект); | ||||
|      | ||||
|  | ||||
|     Если ТипЗнч(СекретныйКлюч) = Тип("Структура") Тогда | ||||
|         СекретныйКлюч.Вставить("message", "Не удалось сформировать UID обработчика. Попробуйте еще раз"); | ||||
|         Возврат СекретныйКлюч; | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     СтруктураЗаписи = Новый Структура; | ||||
|     СтруктураЗаписи.Вставить("function", ФункцияОПИ); | ||||
|     СтруктураЗаписи.Вставить("id"      , СекретныйКлюч); | ||||
| @@ -100,63 +100,63 @@ | ||||
|     Результат              = OPI_SQLite.ДобавитьЗаписи(ИмяТаблицыОбработчиков, СтруктураЗаписи, Ложь, Проект); | ||||
|  | ||||
|     Если Результат["result"] Тогда | ||||
|          | ||||
|  | ||||
|           Результат = Новый Структура; | ||||
|           Результат.Вставить("result"     , Истина); | ||||
|           Результат.Вставить("key"        , СекретныйКлюч); | ||||
|           Результат.Вставить("url_example", "localhost:port/" + СекретныйКлюч); | ||||
|            | ||||
|  | ||||
|     КонецЕсли; | ||||
|          | ||||
|  | ||||
|     Возврат Результат; | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Получить список обработчиков запросов | ||||
| // Получает список обработчиков в проекте | ||||
| //  | ||||
| // | ||||
| // Параметры: | ||||
| //  Проект - Строка  - Путь к файлу проекта - proj | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Список обработчиков | ||||
| Функция ПолучитьСписокОбработчиковЗапросов(Знач Проект) Экспорт | ||||
|      | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект); | ||||
|      | ||||
|  | ||||
|     Таблица   = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|     Результат = OPI_SQLite.ПолучитьЗаписи(Таблица, , , , , Проект); | ||||
|      | ||||
|  | ||||
|     Возврат Результат; | ||||
|      | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Удалить обработчик запросов | ||||
| // Удаляет обработчик запросов из базы | ||||
| //  | ||||
| // Удаляет обработчик запросов из проекта | ||||
| // | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика     - handler | ||||
| //  | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат удаления | ||||
| Функция УдалитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика) Экспорт | ||||
|      | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика); | ||||
|      | ||||
|  | ||||
|     Таблица = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|      | ||||
|  | ||||
|     СтруктураФильтра = Новый Структура; | ||||
|         | ||||
|  | ||||
|     СтруктураФильтра.Вставить("field", "id"); | ||||
|     СтруктураФильтра.Вставить("type" , "="); | ||||
|     СтруктураФильтра.Вставить("value", КлючОбработчика); | ||||
|     СтруктураФильтра.Вставить("raw"  , Ложь); | ||||
|      | ||||
|  | ||||
|     Результат = OPI_SQLite.УдалитьЗаписи(Таблица, СтруктураФильтра, Проект); | ||||
|  | ||||
|     Возврат Результат; | ||||
|      | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Запустить | ||||
| @@ -305,7 +305,7 @@ | ||||
|     СтруктураТаблицы.Вставить("id"      , "TEXT PRIMARY KEY NOT NULL UNIQUE"); | ||||
|     СтруктураТаблицы.Вставить("function", "TEXT"); | ||||
|     СтруктураТаблицы.Вставить("method"  , "TEXT"); | ||||
|     СтруктураТаблицы.Вставить("active"  , "BOOLEAN");   | ||||
|     СтруктураТаблицы.Вставить("active"  , "BOOLEAN"); | ||||
|  | ||||
|     ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|     Результат              = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыОбработчиков, СтруктураТаблицы, Путь); | ||||
| @@ -318,39 +318,39 @@ | ||||
|  | ||||
|     СекретныйКлюч = ПолучитьUUID(9); | ||||
|     Таблица       = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|      | ||||
|  | ||||
|     СтруктураФильтра = Новый Структура; | ||||
|  | ||||
|     СтруктураФильтра.Вставить("field", "id"); | ||||
|     СтруктураФильтра.Вставить("type" , "="); | ||||
|     СтруктураФильтра.Вставить("value", СекретныйКлюч); | ||||
|     СтруктураФильтра.Вставить("raw"  , Ложь); | ||||
|      | ||||
|  | ||||
|     Результат = OPI_SQLite.ПолучитьЗаписи(Таблица, , СтруктураФильтра, , , Путь); | ||||
|      | ||||
|  | ||||
|     Если Не Результат["result"] Тогда | ||||
|         Возврат Результат; | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     Пока Результат["data"].Количество() > 0 Цикл | ||||
|              | ||||
|         СекретныйКлюч = ПолучитьUUID(9); | ||||
|  | ||||
|         СекретныйКлюч             = ПолучитьUUID(9); | ||||
|         СтруктураФильтра["value"] = СекретныйКлюч; | ||||
|          | ||||
|  | ||||
|         Результат = OPI_SQLite.ПолучитьЗаписи(Таблица, , СтруктураФильтра, , , Путь); | ||||
|          | ||||
|  | ||||
|         Если Не Результат["result"] Тогда | ||||
|             Возврат Результат; | ||||
|         КонецЕсли; | ||||
|          | ||||
|  | ||||
|     КонецЦикла; | ||||
|      | ||||
|  | ||||
|     Возврат СекретныйКлюч; | ||||
|          | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПолучитьUUID(Знач Длина) | ||||
|     Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина);     | ||||
|     Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина); | ||||
| КонецФункции | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
| @@ -2149,9 +2149,9 @@ | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПолучитьОбщийМодуль(Знач Имя) | ||||
|      | ||||
|  | ||||
|     Модуль = Вычислить(Имя); | ||||
|      | ||||
|  | ||||
|     Возврат Модуль; | ||||
| КонецФункции | ||||
|  | ||||
|   | ||||
| @@ -84,12 +84,12 @@ | ||||
|     КонецЕсли; | ||||
|  | ||||
|     СекретныйКлюч = ПолучитьУникальныйКлючОбработчика(Проект); | ||||
|      | ||||
|  | ||||
|     Если ТипЗнч(СекретныйКлюч) = Тип("Структура") Тогда | ||||
|         СекретныйКлюч.Вставить("message", "Не удалось сформировать UID обработчика. Попробуйте еще раз"); | ||||
|         Возврат СекретныйКлюч; | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     СтруктураЗаписи = Новый Структура; | ||||
|     СтруктураЗаписи.Вставить("function", ФункцияОПИ); | ||||
|     СтруктураЗаписи.Вставить("id"      , СекретныйКлюч); | ||||
| @@ -100,63 +100,63 @@ | ||||
|     Результат              = OPI_SQLite.ДобавитьЗаписи(ИмяТаблицыОбработчиков, СтруктураЗаписи, Ложь, Проект); | ||||
|  | ||||
|     Если Результат["result"] Тогда | ||||
|          | ||||
|  | ||||
|           Результат = Новый Структура; | ||||
|           Результат.Вставить("result"     , Истина); | ||||
|           Результат.Вставить("key"        , СекретныйКлюч); | ||||
|           Результат.Вставить("url_example", "localhost:port/" + СекретныйКлюч); | ||||
|            | ||||
|  | ||||
|     КонецЕсли; | ||||
|          | ||||
|  | ||||
|     Возврат Результат; | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Получить список обработчиков запросов | ||||
| // Получает список обработчиков в проекте | ||||
| //  | ||||
| // | ||||
| // Параметры: | ||||
| //  Проект - Строка  - Путь к файлу проекта - proj | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Список обработчиков | ||||
| Функция ПолучитьСписокОбработчиковЗапросов(Знач Проект) Экспорт | ||||
|      | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект); | ||||
|      | ||||
|  | ||||
|     Таблица   = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|     Результат = OPI_SQLite.ПолучитьЗаписи(Таблица, , , , , Проект); | ||||
|      | ||||
|  | ||||
|     Возврат Результат; | ||||
|      | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Удалить обработчик запросов | ||||
| // Удаляет обработчик запросов из проекта | ||||
| //  | ||||
| // | ||||
| // Параметры: | ||||
| //  Проект          - Строка - Путь к файлу проекта - proj | ||||
| //  КлючОбработчика - Строка - Ключ обработчика     - handler | ||||
| //  | ||||
| // | ||||
| // Возвращаемое значение: | ||||
| //  Структура Из КлючИЗначение - Результат удаления | ||||
| Функция УдалитьОбработчикЗапросов(Знач Проект, Знач КлючОбработчика) Экспорт | ||||
|      | ||||
|  | ||||
|     OPI_ПреобразованиеТипов.ПолучитьСтроку(КлючОбработчика); | ||||
|      | ||||
|  | ||||
|     Таблица = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|      | ||||
|  | ||||
|     СтруктураФильтра = Новый Структура; | ||||
|         | ||||
|  | ||||
|     СтруктураФильтра.Вставить("field", "id"); | ||||
|     СтруктураФильтра.Вставить("type" , "="); | ||||
|     СтруктураФильтра.Вставить("value", КлючОбработчика); | ||||
|     СтруктураФильтра.Вставить("raw"  , Ложь); | ||||
|      | ||||
|  | ||||
|     Результат = OPI_SQLite.УдалитьЗаписи(Таблица, СтруктураФильтра, Проект); | ||||
|  | ||||
|     Возврат Результат; | ||||
|      | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| // Запустить | ||||
| @@ -305,7 +305,7 @@ | ||||
|     СтруктураТаблицы.Вставить("id"      , "TEXT PRIMARY KEY NOT NULL UNIQUE"); | ||||
|     СтруктураТаблицы.Вставить("function", "TEXT"); | ||||
|     СтруктураТаблицы.Вставить("method"  , "TEXT"); | ||||
|     СтруктураТаблицы.Вставить("active"  , "BOOLEAN");   | ||||
|     СтруктураТаблицы.Вставить("active"  , "BOOLEAN"); | ||||
|  | ||||
|     ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|     Результат              = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыОбработчиков, СтруктураТаблицы, Путь); | ||||
| @@ -318,39 +318,39 @@ | ||||
|  | ||||
|     СекретныйКлюч = ПолучитьUUID(9); | ||||
|     Таблица       = КонстантноеЗначение("ТаблицаОбработчиков"); | ||||
|      | ||||
|  | ||||
|     СтруктураФильтра = Новый Структура; | ||||
|  | ||||
|     СтруктураФильтра.Вставить("field", "id"); | ||||
|     СтруктураФильтра.Вставить("type" , "="); | ||||
|     СтруктураФильтра.Вставить("value", СекретныйКлюч); | ||||
|     СтруктураФильтра.Вставить("raw"  , Ложь); | ||||
|      | ||||
|  | ||||
|     Результат = OPI_SQLite.ПолучитьЗаписи(Таблица, , СтруктураФильтра, , , Путь); | ||||
|      | ||||
|  | ||||
|     Если Не Результат["result"] Тогда | ||||
|         Возврат Результат; | ||||
|     КонецЕсли; | ||||
|      | ||||
|  | ||||
|     Пока Результат["data"].Количество() > 0 Цикл | ||||
|              | ||||
|         СекретныйКлюч = ПолучитьUUID(9); | ||||
|  | ||||
|         СекретныйКлюч             = ПолучитьUUID(9); | ||||
|         СтруктураФильтра["value"] = СекретныйКлюч; | ||||
|          | ||||
|  | ||||
|         Результат = OPI_SQLite.ПолучитьЗаписи(Таблица, , СтруктураФильтра, , , Путь); | ||||
|          | ||||
|  | ||||
|         Если Не Результат["result"] Тогда | ||||
|             Возврат Результат; | ||||
|         КонецЕсли; | ||||
|          | ||||
|  | ||||
|     КонецЦикла; | ||||
|      | ||||
|  | ||||
|     Возврат СекретныйКлюч; | ||||
|          | ||||
|  | ||||
| КонецФункции | ||||
|  | ||||
| Функция ПолучитьUUID(Знач Длина) | ||||
|     Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина);     | ||||
|     Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина); | ||||
| КонецФункции | ||||
|  | ||||
| #КонецОбласти | ||||
|   | ||||
| @@ -37,18 +37,8 @@ | ||||
|     НоваяСтрока.Модуль      = "OPI_ПроксиИнтеграций"; | ||||
|     НоваяСтрока.Метод       = "ДобавитьОбработчикЗапросов"; | ||||
|     НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБРАБОТЧИКЗАПРОСОВ"; | ||||
|     НоваяСтрока.Параметр    = "--name"; | ||||
|     НоваяСтрока.Описание    = "Имя нового обработчика"; | ||||
|     НоваяСтрока.Область     = "Настройка проектов"; | ||||
|  | ||||
|  | ||||
|     НоваяСтрока = ТаблицаСостава.Добавить(); | ||||
|     НоваяСтрока.Библиотека  = "proxy"; | ||||
|     НоваяСтрока.Модуль      = "OPI_ПроксиИнтеграций"; | ||||
|     НоваяСтрока.Метод       = "ДобавитьОбработчикЗапросов"; | ||||
|     НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБРАБОТЧИКЗАПРОСОВ"; | ||||
|     НоваяСтрока.Параметр    = "--secret"; | ||||
|     НоваяСтрока.Описание    = "Секретный ключ для URL обработчика"; | ||||
|     НоваяСтрока.Параметр    = "--func"; | ||||
|     НоваяСтрока.Описание    = "Имя функции Открытого пакета интеграций"; | ||||
|     НоваяСтрока.Область     = "Настройка проектов"; | ||||
|  | ||||
|  | ||||
| @@ -62,6 +52,38 @@ | ||||
|     НоваяСтрока.Область     = "Настройка проектов"; | ||||
|  | ||||
|  | ||||
|     НоваяСтрока = ТаблицаСостава.Добавить(); | ||||
|     НоваяСтрока.Библиотека  = "proxy"; | ||||
|     НоваяСтрока.Модуль      = "OPI_ПроксиИнтеграций"; | ||||
|     НоваяСтрока.Метод       = "ПолучитьСписокОбработчиковЗапросов"; | ||||
|     НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКОБРАБОТЧИКОВЗАПРОСОВ"; | ||||
|     НоваяСтрока.Параметр    = "--proj"; | ||||
|     НоваяСтрока.Описание    = "Путь к файлу проекта"; | ||||
|     НоваяСтрока.Область     = "Настройка проектов"; | ||||
|     НоваяСтрока.ОписаниеМетода   = "Получает список обработчиков в проекте"; | ||||
|  | ||||
|  | ||||
|     НоваяСтрока = ТаблицаСостава.Добавить(); | ||||
|     НоваяСтрока.Библиотека  = "proxy"; | ||||
|     НоваяСтрока.Модуль      = "OPI_ПроксиИнтеграций"; | ||||
|     НоваяСтрока.Метод       = "УдалитьОбработчикЗапросов"; | ||||
|     НоваяСтрока.МетодПоиска = "УДАЛИТЬОБРАБОТЧИКЗАПРОСОВ"; | ||||
|     НоваяСтрока.Параметр    = "--proj"; | ||||
|     НоваяСтрока.Описание    = "Путь к файлу проекта"; | ||||
|     НоваяСтрока.Область     = "Настройка проектов"; | ||||
|     НоваяСтрока.ОписаниеМетода   = "Удаляет обработчик запросов из проекта"; | ||||
|  | ||||
|  | ||||
|     НоваяСтрока = ТаблицаСостава.Добавить(); | ||||
|     НоваяСтрока.Библиотека  = "proxy"; | ||||
|     НоваяСтрока.Модуль      = "OPI_ПроксиИнтеграций"; | ||||
|     НоваяСтрока.Метод       = "УдалитьОбработчикЗапросов"; | ||||
|     НоваяСтрока.МетодПоиска = "УДАЛИТЬОБРАБОТЧИКЗАПРОСОВ"; | ||||
|     НоваяСтрока.Параметр    = "--handler"; | ||||
|     НоваяСтрока.Описание    = "Ключ обработчика"; | ||||
|     НоваяСтрока.Область     = "Настройка проектов"; | ||||
|  | ||||
|  | ||||
|     НоваяСтрока = ТаблицаСостава.Добавить(); | ||||
|     НоваяСтрока.Библиотека  = "proxy"; | ||||
|     НоваяСтрока.Модуль      = "OPI_ПроксиИнтеграций"; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user