Скачиваний:
7
Добавлен:
15.05.2024
Размер:
15.38 Mб
Скачать

Глава 3. Разработка

3.1 Создание и регистрация Hiring фрагмента

Был создан новый Angular-проект и произведены базовые действия, конфигурирующие его: стандартный реестр пакетного менеджера npm был изменен на корпоративный, были установлены необходимые для дальнейшей разработки зависимости, созданы файл дескриптора сборки, исполняемый файл distrib.sh, реализующий создание артефакта сборки, сконфигурированы настройки для компилятора TypeScript, собран Gulpfile.js, отредактирован angular.json, а также в pom.xml был сконфигурирован процесс сборки приложения и публикации его артефактов, после чего в config.xml, являющемся конфигурационным файлом Jenkins, был прописан путь до проекта для получения возможности дальнейшей сборки веток проекта в Jenkins. Также согласно диаграмме, изображённой на рисунке 9, были созданы и помещены в пакет models модели данных и создан пакет services с сервисами, реализующими методы необходимых CRUD-операций для тех моделей данных, бизнес-логика которых этого требовала. Завершающим этапом первого шага разработки была регистрация фрагмента в MUI Platform: после сборки фрагмента в Jenkins был скачан артефакт сборки, для которого для всех окружений был выполнен предоставляемый MUI Platform REST API POST запрос, позволяющий зарегистрировать фрагмент в MUI Platform. В ходе дальнейшей разработки для деплоя фрагмента будет проделываться тот же алгоритм с выполнением PUT запроса к MUI Platform.

Для локальной разработки Hiring был обновлен конфигурационный файл локально сконфигурированного в качестве обратного-прокси до удаленного сервера Nginx.

3.2. Создание пользовательской роли hr Hiring

В интерфейсе Identity Provider для существующих Realm’ов была создана и выдана тестовым пользователям новая пользовательская роль HR Hiring, которая также была добавлена в enum ролей библиотеки Core.

3.3. Маршрутизация

3.3.1 Hiring в глобальном меню Host Application

На рисунке 11 продемонстрировано, что в модуле, отвечающем за маршрутизацию в Host Application, был добавлен маршрут до Hiring, для которого в качестве дочернего маршрута был выбран предварительно доработанный компонент FragmentsLauncherComponent, инициирующий запуск MUI Platform, создание фрагментов и логику выбора текущего открытого меню. Ограничение доступа было описано в классе FragmentAuthGuard, реализующем библиотечный Angular интерфейс авторизации навигации, в котором предварительно пользователю с ролью HR Hiring был выдан доступ на навигацию до стартовой страницы приложения и Hiring фрагмента. В классе, реализующем меню Host-Application и логику навигации между его пунктами, был добавлен пункт меню Hiring.

Рисунок 11 – app-routing.module

3.3.2 Маршрутизация в Hiring

В Host Application был создан Angular компонент, реализующий меню Hiring. При навигации между пунктами меню Hiring в классе Host Application FragmentsLauncherComponent (рисунок 11) генерируется событие, на которое подписан инициирующий маршрутизацию класс в Hiring. На рисунке 12 продемонстрирован этап инициализации компонента Hiring, в котором осуществлена подписка:

Рисунок 12 – FactoryComponent

В Hiring были созданы компоненты Archive, Requests in Progress и Reports, для которых были определены маршруты для навигации между пунктами меню Hiring, а также были реализованы компоненты, к котором будет осуществляться навигация при перехвате ошибок доступа и другие компоненты, для которых было необходимо определить маршрутизацию.

На рисунках 13 и 14 продемонстрированы Hiring меню и глобальное меню Host Application в свернутом и развернутом видах.

Рисунок 13 – Развернутый вид меню Рисунок 14 – Свернутый вид меню