-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create workflow for generate puml #109
Changes from all commits
361a49e
e81f901
7cbb1df
8abea8b
20010c8
aa2f205
e027269
f177e20
6361e31
cf34ecd
4800331
421142e
ccba0b1
b70dc54
ef06919
63c3fd9
0e04ba5
5f2cf60
2f453e9
8513158
75608b4
ce20d83
32b8f10
afe8afd
5bf4acd
f2fe7bb
dc689cd
ef389df
66e7fe2
6567b0c
4bdc892
6cb7b72
faee764
b3c462f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: generate plantuml | ||
on: push | ||
jobs: | ||
generate_plantuml: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
repository-projects: write | ||
name: plantuml | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 1 | ||
- name: plantuml | ||
id: plantuml | ||
uses: grassedge/[email protected] | ||
with: | ||
message: "Render PlantUML files" | ||
path: docs/images | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# ER-диаграмма подсистемы управление интеграциями | ||
|
||
![image](images/ERArchitectureIntegrationsSubsystem.svg) |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,210 @@ | ||||||
@startuml integrations_subsystem | ||||||
|
||||||
title ER-Diagram integrations subsystem | ||||||
|
||||||
entity "Справочник: Интегрируемые системы" as eSysInt { | ||||||
*УникальныйИдентификатор : uuid <<generated>> | ||||||
-- | ||||||
*Код : строка (9) | ||||||
*Наименование : строка (100) | ||||||
Родитель (иерархия групп) : uuid <<FK>> | ||||||
ИдентификаторНастройки : строка (100) | ||||||
} | ||||||
|
||||||
entity "Справочник: Настройки интеграции" as eIntSettings { | ||||||
*УникальныйИдентификатор : uuid <<generated>> | ||||||
-- | ||||||
*Код : строка (9) | ||||||
*Наименование : строка (100) | ||||||
Родитель (иерархия групп) : uuid <<FK>> | ||||||
ИнтегрируемаяСистема : uuid <<FK>> | ||||||
ТипИнтеграции : uuid <<FK>> | ||||||
СтрокаПодключения : строка (100) | ||||||
Порт : строка (7) | ||||||
ВнешняяКомпонента : хранилище значений | ||||||
УчетнаяЗапись : uuid <<FK>> | ||||||
ТипАвторизации : uuid <<FK>> | ||||||
ИдентификаторНастройки : строка (100) | ||||||
ИспользоватьПользовательскиеФункции : булево | ||||||
Имя объекта : строка (100) | ||||||
ИзмененВручную : булево | ||||||
ИмяФайлаВнешнейКомпоненты : строка (100) | ||||||
} | ||||||
|
||||||
entity "Безопасное хранилище" as eSecureStorage { | ||||||
*Ссылка : uuid <<FK>> | ||||||
*Ключ : строка : "Логин", "Пароль", "Токен" | ||||||
Значение : строка | ||||||
} | ||||||
|
||||||
entity "Справочник: Типы интеграций" as eIntTypes { | ||||||
*УникальныйИдентификатор : uuid <<generated>> | ||||||
-- | ||||||
*Код : строка (9) | ||||||
*Наименование : строка (100) | ||||||
Родитель (иерархия элементов) : uuid <<FK>> | ||||||
} | ||||||
|
||||||
enum "Справочник: Типы интеграций - предопределенные элементы" as eIntTypes_predetermined { | ||||||
+ Файловые обмены: | ||||||
- Каталог | ||||||
- FTP-ресурсы | ||||||
- Почтовый клиент | ||||||
+ Прямое подключение к БД: | ||||||
- - | ||||||
+ Вызов внешней процедуры: | ||||||
- SOAP | ||||||
- REST API | ||||||
- COM | ||||||
- Внешняя компонента | ||||||
- Командная строка | ||||||
+ Брокеры сообщений: | ||||||
- RabbitMq | ||||||
- Kafka | ||||||
} | ||||||
|
||||||
entity "Справочник БСП: Учетные записи электронной почты" as eEmailAccounts { | ||||||
УникальныйИдентификатор : uuid <<generated>> | ||||||
} | ||||||
|
||||||
enum "Перечисление: Типы авторизации" as eAuthorizationTypes { | ||||||
+ Базовая | ||||||
+ Токен | ||||||
} | ||||||
|
||||||
entity "Справочник: Интеграционные потоки" as eIntFlows { | ||||||
*УникальныйИдентификатор : uuid <<generated>> | ||||||
-- | ||||||
*Код : строка (9) | ||||||
*Наименование : строка (100) | ||||||
Родитель (иерархия элементов) : uuid <<FK>> | ||||||
ИдентификаторНастройки : строка (100) | ||||||
НастройкаИнтеграции : uuid <<FK>> | ||||||
ТочкаВхода : строка (неогр) | ||||||
ПользовательскаяФункция : uuid <<FK>> | ||||||
ИзмененВручную : булево | ||||||
-- | ||||||
Параметры входа | ||||||
-- | ||||||
- НомерСтроки | ||||||
- Имя : строка (неогр) | ||||||
- Тип : uuid <<FK>> | ||||||
- ПараметрURL : булево | ||||||
- ЗначениеПоУмолчанию : булево, строка, число, дата, любая ссылка | ||||||
- ПолеОбъекта : строка (100) | ||||||
} | ||||||
|
||||||
enum "Перечисление: Методы запроса REST" as eRestMethodTypes { | ||||||
+ GET | ||||||
+ POST | ||||||
+ PUT | ||||||
+ PATCH | ||||||
+ DELETE | ||||||
} | ||||||
|
||||||
entity "Справочник: Пользовательские функции" as eUserFunctions { | ||||||
УникальныйИдентификатор : uuid <<generated>> | ||||||
} | ||||||
|
||||||
enum "Перечисление: Типы параметров интеграций" as eIntParamsTypes { | ||||||
+ Строка | ||||||
+ Число | ||||||
+ Булево | ||||||
+ Null | ||||||
+ Массив | ||||||
+ Объект | ||||||
+ Дата | ||||||
} | ||||||
|
||||||
entity "Справочник: История интеграции" as eIntHistory { | ||||||
*УникальныйИдентификатор : uuid <<generated>> | ||||||
-- | ||||||
*Код : строка (36) | ||||||
ДатаИнтеграции : дата и время | ||||||
ДатаИнтеграцииВМиллисекундах : число (20, 0) | ||||||
ИнтегрируемаяСистема : uuid <<FK>> | ||||||
Статус : uuid <<FK>> | ||||||
ФорматИнтеграции : uuid <<FK>> | ||||||
ИсходящееСообщение : строка (неогр) | ||||||
ВходящееСообщение : строка (неогр) | ||||||
ОписаниеОшибки : строка (неогр) | ||||||
ПротоколОбмена : строка (неогр) | ||||||
ИнтеграционныйПоток : uuid <<FK>> | ||||||
Ошибка : булево | ||||||
Пользователь : uuid <<FK>> | ||||||
ДлительностьОбмена : число (5, 0) | ||||||
ДлительностьВызова : число (5, 0) | ||||||
-- | ||||||
Объекты интеграции | ||||||
-- | ||||||
- НомерСтроки | ||||||
- ОбъектИнтеграции : любая ссылка | ||||||
- СозданОбновлен : uuid <<FK>> | ||||||
} | ||||||
|
||||||
enum "Перечисление: Статусы интеграции" as eIntStatuses { | ||||||
+ Выгружено | ||||||
+ Загружено | ||||||
+ ОшибкаВыгрузки | ||||||
+ ОшибкаЗагрузки | ||||||
} | ||||||
|
||||||
enum "Перечисление: Форматы интеграции" as eIntFormates { | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Correct the enumeration alias from "eIntFormates" to "eIntFormats". The alias "eIntFormates" on line 152 appears to be misspelled. It should be "eIntFormats" to correctly reflect the term "Formats" and maintain consistency in naming conventions. Apply the following diff to correct the alias: -enum "Перечисление: Форматы интеграции" as eIntFormates {
+enum "Перечисление: Форматы интеграции" as eIntFormats { Also, please update all references to "eIntFormates" accordingly. Committable suggestion
Suggested change
|
||||||
+ XML | ||||||
+ JSON | ||||||
+ DBF | ||||||
+ CSV | ||||||
+ TXT | ||||||
+ XLS / XLSX | ||||||
+ BAT / SH | ||||||
+ DLL | ||||||
+ HTML | ||||||
+ ПроизвольныйФормат | ||||||
} | ||||||
|
||||||
entity "Справочник БСП: Пользователи" as eUsers { | ||||||
УникальныйИдентификатор : uuid <<generated>> | ||||||
} | ||||||
|
||||||
enum "Перечисление: Создан обновлен" as eCreatedUpdated { | ||||||
+ Создан | ||||||
+ Обновлен | ||||||
} | ||||||
|
||||||
|
||||||
|
||||||
eSysInt <- eSysInt : Родитель | ||||||
|
||||||
eIntSettings <- eIntSettings : Родитель | ||||||
eIntSettings ---> eSysInt : ИнтегрируемаяСистема | ||||||
eIntSettings ---> eIntTypes : ТипИнтеграции | ||||||
eIntSettings ..> eSecureStorage : Хранение параметров подключения | ||||||
eIntSettings ---> eEmailAccounts : УчетнаяЗапись | ||||||
eIntSettings ---> eAuthorizationTypes : ТипАвторизации | ||||||
eIntSettings .. eIntTypes_predetermined | ||||||
|
||||||
eIntFlows <- eIntFlows : Родитель | ||||||
eIntFlows --> eIntSettings : НастройкаИнтеграции | ||||||
eIntFlows --> eUserFunctions : ПользовательскаяФункция | ||||||
eIntFlows --> eIntParamsTypes : Тип (параметры входа) | ||||||
|
||||||
eIntHistory --> eSysInt : ИнтегрируемаяСистема | ||||||
eIntHistory --> eIntStatuses : Статус | ||||||
eIntHistory --> eIntFormates : ФорматИнтеграции | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update the relationship to use the corrected enumeration alias "eIntFormats". Following the correction of the alias, please update the relationship on line 193 to reference "eIntFormats". Apply the following diff: -eIntHistory --> eIntFormates : ФорматИнтеграции
+eIntHistory --> eIntFormats : ФорматИнтеграции Committable suggestion
Suggested change
|
||||||
eIntHistory --> eIntFlows : ИнтреграционныйПоток | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix the typo in the relationship label "ИнтреграционныйПоток". There is a typo in the relationship label on line 194. "ИнтреграционныйПоток" should be "ИнтеграционныйПоток" to match the correct spelling. Apply the following diff to fix the typo: -eIntHistory --> eIntFlows : ИнтреграционныйПоток
+eIntHistory --> eIntFlows : ИнтеграционныйПоток Committable suggestion
Suggested change
|
||||||
eIntHistory --> eUsers : Пользователь | ||||||
eIntHistory -> eCreatedUpdated : СозданОбновлен (объекты интеграции) | ||||||
|
||||||
|
||||||
newpage | ||||||
|
||||||
|
||||||
note as eIntSettings_predetermined | ||||||
Справочник: Настройки интеграции - предопределенные элементы | ||||||
<#lightblue,#black>|= Код |= Наименование |= Родитель |= ИнтегрируемаяСистема |= ТипИнтеграции |= СтрокаПодключения |= Порт |= ВнешняяКомпонента |= УчетнаяЗапись |= ТипАвторизации |= ИдентификаторНастройки |= ИспользоватьПользовательскиеФункции |= Имя COM-объекта |= ИзмененВручную | | ||||||
<#white>| 000000001 | RabbitMQ | <пустая ссылка> | RabbitMQ | RabbitMQ | <путь к серверу> | <порт сервера> | - | <пустая ссылка> | "базовая" по умолчанию | <идентификатор> | Ложь | - | Ложь | | ||||||
<#white>| 000000002 | Kafka | <пустая ссылка> | Kafka | Kafka | <путь к серверу> | <порт сервера> | - | <пустая ссылка> | "базовая" по умолчанию | <идентификатор> | Ложь | - | Ложь | | ||||||
<#white>| 000000003 | ActiveDirectory | <пустая ссылка> | ActiveDirectory | COM | Provider="ADsDSOObject" | - | - | <пустая ссылка> | "базовая" по умолчанию | <идентификатор> | Ложь | ADODB.Connection | Ложь | | ||||||
end note | ||||||
|
||||||
@enduml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider reviewing and limiting permissions.
The job configuration looks good overall, with a clear name and appropriate runner. However, the current permissions seem broader than necessary for generating PlantUML diagrams.
Consider limiting the permissions to only what's required for this specific task. For example:
This should be sufficient for committing the generated SVG files. The
pull-requests
andrepository-projects
permissions may not be necessary unless there are specific requirements not evident from the current workflow.