Skip to content
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

Merged
merged 34 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
361a49e
Исправлены пути к данным реквизитов формы
thvvmas Sep 17, 2024
e81f901
Merge branch 'develop' of https://github.com/firstBitSportivnaya/PSSL…
thvvmas Sep 20, 2024
7cbb1df
Добавление в документацию ER-модели новой архитектуры подсистемы упра…
thvvmas Sep 20, 2024
8abea8b
Добавил тип диграммы
thvvmas Sep 20, 2024
20010c8
Update ERДиаграммаПодсистемыУправленияИнтеграциями.md
thvvmas Sep 20, 2024
aa2f205
Убрал код mermaid
thvvmas Sep 20, 2024
e027269
Merge branch 'create-workflow-for-generate-puml' of https://github.co…
thvvmas Sep 20, 2024
f177e20
Смержил
thvvmas Sep 20, 2024
6361e31
Добавлена папка out
thvvmas Sep 20, 2024
cf34ecd
Убран воркфлоу созданный из гита
thvvmas Sep 20, 2024
4800331
Попробовал увеличить fetch-depth
thvvmas Sep 20, 2024
421142e
Изменил путь к папке out
thvvmas Sep 20, 2024
ccba0b1
Перемещен файл генерации puml
thvvmas Sep 20, 2024
b70dc54
Изменен поставщик генерации файла
thvvmas Sep 20, 2024
ef06919
1
thvvmas Sep 20, 2024
63c3fd9
2
thvvmas Sep 20, 2024
0e04ba5
3
thvvmas Sep 20, 2024
5f2cf60
3
thvvmas Sep 20, 2024
2f453e9
4
thvvmas Sep 20, 2024
8513158
5
thvvmas Sep 20, 2024
75608b4
6
thvvmas Sep 20, 2024
ce20d83
6
thvvmas Sep 20, 2024
32b8f10
7
thvvmas Sep 20, 2024
afe8afd
Удалены тестовые папки репозитория, изменен путь выхода изображений г…
thvvmas Sep 23, 2024
5bf4acd
Попробовал поменять на другой релиз
thvvmas Sep 23, 2024
f2fe7bb
8
thvvmas Sep 23, 2024
dc689cd
Добавлены права на запись workflow
thvvmas Sep 23, 2024
ef389df
9
thvvmas Sep 23, 2024
66e7fe2
Изменен вывод .md-файла er-диаграммы
thvvmas Sep 23, 2024
6567b0c
Render PlantUML files
github-actions[bot] Sep 23, 2024
4bdc892
Merge branch 'create-workflow-for-generate-puml' of https://github.co…
thvvmas Sep 23, 2024
6cb7b72
10
thvvmas Sep 23, 2024
faee764
11
thvvmas Sep 23, 2024
b3c462f
12
thvvmas Sep 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/generate-puml-svg.yml
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
Comment on lines +4 to +9
Copy link

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:

permissions:
  contents: write

This should be sufficient for committing the generated SVG files. The pull-requests and repository-projects permissions may not be necessary unless there are specific requirements not evident from the current workflow.

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)
1 change: 1 addition & 0 deletions docs/images/ERArchitectureIntegrationsSubsystem.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
210 changes: 210 additions & 0 deletions docs/puml/ERArchitectureIntegrationsSubsystem.puml
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 {
Copy link

Choose a reason for hiding this comment

The 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

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
enum "Перечисление: Форматы интеграции" as eIntFormates {
enum "Перечисление: Форматы интеграции" as eIntFormats {

+ 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 : ФорматИнтеграции
Copy link

Choose a reason for hiding this comment

The 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

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
eIntHistory --> eIntFormates : ФорматИнтеграции
eIntHistory --> eIntFormats : ФорматИнтеграции

eIntHistory --> eIntFlows : ИнтреграционныйПоток
Copy link

Choose a reason for hiding this comment

The 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

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
eIntHistory --> eIntFlows : ИнтреграционныйПоток
eIntHistory --> eIntFlows : ИнтеграционныйПоток

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
Loading