Java-класс PersonDto
Пользователь системы, в том числе и вошедший в систему
Соответствует коллекции mybpm.Person
| Поле | Тип | Описание | 
|---|---|---|
| id | ObjectId | Первичный идентификатор персоны: пользователь, пользователь, контакт | 
| externalId | String | Внешний идентификатор используемый в кафка миграции | 
| companyId | ObjectId | Идентификатор компании, в которой данный пользователь находится | 
| parentDepartmentId | ObjectId | Идентификатор родительского департамента. Если null, то данный персон находится в корне компании | 
| workingTimePersonGroupId | ObjectId | Ссылка на группу пользователей, к которому относиться данный персон с целью наследовать расписание рабочего времени. (расписание наследуется если у этого персона нет собственного расписания). Эта ссылка меняется в следующих ситуациях:  1) Это последняя группа для персоны, в которую он вошёл Когда текущий персон убирают из этой группы, нужно выбрать предыдущую группу. Это нужно делать через поле PersonGroupLinkDto.lastModified с учётом поля PersonGroupLinkDto.actual  | 
| firstRoomPageId | ObjectId | Ссылка на первую страницу списка комнат для чата: ChatRoomPageDto | 
| String | Мыло и логин персона | |
| adGuid | String | Идентификатор пользователя из системы AD Данное поле заполнено только когда source == PersonSource.AD  | 
| adEmployeeId | String | Табельный номер пользователя из системы AD  Данное поле заполнено только когда source == PersonSource.AD  | 
| encryptedPassword | String | Зашифрованный пароль, под которым персон может зайти в систему | 
| surname | String | Фамилия персона | 
| name | String | Имя персона | 
| avatarFileId | String | ИД файла аватара | 
| positionOptionId | String | Должность пользователя | 
| accessLevel | PersonAccessLevel | Уровень доступа | 
| status | PersonStatus | Статус персона | 
| lastEnteredAt | Date | Когда последний раз персон входил в систему | 
| deviceLastEnteredAt | Date | Когда последний раз персон входил в систему через приложение | 
| lastActivityAt | Date | Когда последний раз когда персон работал в системе | 
| phone | String | Телефон персона | 
| isRoot | boolean | Показывает, что это супер пользователь | 
| isSystem | boolean | Показывает, что это системный пользователь | 
| isForMessenger | boolean | Показывает, что это пользователь для мессенджеров | 
| actual | boolean | Признак удаленности пользователя | 
| isArchived | boolean | Признак архивации пользователя | 
| dev | boolean | Признак тестовой инстанции бизнес-процесса | 
| workingTimeId | ObjectId | Идентификатор индивидуального расписания рабочего времени Ссылается на WorkingTimeDto  | 
| importDumpProcessId | String | Идентификатор процесса загрузки дампа, запущенного данным пользователем. Этот процесс может быть уже удалён, это надо учитывать. Ссылается на ProcessIndicatorDto  | 
| apiTokenId | ObjectId | Ссылка на текущий API-токен PersonApiTokenDto | 
| source | PersonSource | Признак того, из какой системы пришел пользователь. Дефолтно MYBPM | 
| language | MybpmLang | Пользователь выбрал этот язык | 
| emailVerifiedAt | Date | Дата и время последнего подтверждения почтового адреса пользователя | 
| isPhoneVerified | boolean | Отображает признак того, что пользователь подтвердил почтовый адрес | 
| passwordChangedAt | Date | Дата и время последнего изменения пароля пользователя  Должно быть заполнено только если .source == PersonSource.MYBPM Пользователи у которых .source == PersonSource.AD менять пароль не могут  | 
| tempBlockedUntil | Date | Дата и время до которого пользователь временно заблокирован. Временно заблокированным он может стать только по причинам не прохождения безопасности.  | 
| trustedUserAgent | String | UserAgent доверенного браузера пользователя | 
| invalidLoginAttempts | Map<String, Date> | Записи о неудачных попытках входа пользователя в систему Ключ - Id сгенерированный с помощью Ids#generateStr() Значение - время попытки входа в систему  | 
| trustedDeviceId | String | Уникальный идентификатор доверенного устройства пользователя (UUID мобильного телефона) | 
| phoneVerifiedAt | Date | Дата и время последнего подтверждения актуального номера телефона пользователя | 
| pushToken | String | Токен push-уведомлении (нужен для работы с Firebase Cloud Messaging) | 
| pushTokenSetAt | Date | Время, когда последний раз был проставлен токен push-уведомлении | 
| isExternal | String | Отображает признак того, что пользователь является внешним | 
| type | OrgUnitType | Тип организационной единицы | 
| internalNumber | String | Внутренний номер для звонков телефонии - необязателен | 
| showForms | List<ShowFormDto> | ??? | 
