You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-06-23 00:38:51 +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