54
Во-первых, пользователь, зарегистрировавшись в системе, может сам
отправить запрос на присоединение к команде, которая ему известна. Во-
вторых, руководитель команды может найти пользователя в системе и
отправить запрос на присоединение его к своей команде.
Разработка этого участка начинается с создания компонента
TeamsComponent, который, в зависимости от участия пользователя в
командах, представляет собой либо список этих команд, либо инструкцию
по возможностям присоединения к командам. Помимо этого, в
представлении имеются три кнопки: создания новой команды и поиска
пользователей для менеджеров проектов, и поиска существующих команд,
для прочих участников процесса разработки.
В случае поиска, команд или пользователей, наш функционал схож с
принципом работы в LoginComponent: здесь мы также меняем searchType,
в зависимости от значения которого отправляем запрос на сервер либо по
поиску пользователей (‘users’), либо команд (‘teams’). Представление поля
для ввода и кнопка «Искать» при этом совершенно идентичны. Чтобы
найти нужные сущности, пользователь должен получить информацию о
них через свои источники, никак не связанные с работой нашей системы.
Любым удобным способом либо менеджер может прислать разработчику
название команды, к которой нужно присоединиться пользователю, либо
сам разработчик отправляет менеджеру свой email, чтобы тот нашёл и
присоединил его к команде. При запросе поиска мы отправляем на сервер
GET-запрос с параметрами searchType и name. Получив в ответ от сервера
массив (состоящий, чаще всего, из одного элемента) пользователь может
отправить запрос на присоединение.
Так, если searchType равен ‘users’, то название кнопки действия
будет «Присоединить пользователя к команде», а если ‘teams’, то
«Присоединиться к команде». И в том, и в другом случае на сервер