EmployeeToUpdate

message EmployeeToUpdate
{
    optional EmployeePermissionsPatch Permissions = 1;
    optional EmployeePositionPatch Position = 2;
    optional EmployeeCanBeInvitedForChatPatch CanBeInvitedForChat = 3;
}

Структура содержит информацию о данных сотрудника, которые необходимо изменить. Принимается методом UpdateEmployee.

  • Permissions - структура для изменения разрешений
  • Position - структура для изменения должности
  • CanBeInvitedForChat - структура для изменения необходимости отображать сотрудника в списке получателей Сообщений в веб-интерфейсе

Необходимо заполнить только те поля структуры, которые соотвествуют данным, требующим изменения.

EmployeePermissionsPatch

message EmployeePermissionsPatch
{
    optional EmployeeDepartmentPatch Department = 1;
    optional EmployeeIsAdministratorPatch IsAdministrator = 2;
    optional EmployeeDocumentAccessLevelPatch DocumentAccessLevel = 3;
    optional EmployeeSelectedDepartmentsPatch SelectedDepartments = 4;
    repeated EmployeeAction Actions = 5;
}

Структура содержит информацию о настройках разрешений сотрудника, которые необходимо изменить.

  • Department - структура для изменения подразделения
  • IsAdministrator - структура для изменения права администрировать организацию
  • DocumentAccessLevel - структура для изменения уровня доступа к документам
  • SelectedDepartments - структура для изменения списка подразделений, к которым имеет доступ сотрудник (играет роль только в случае DocumentAccessLevel = SelectedDepartments)
  • Actions - действия сотрудника, права на которые требуется добавить или убрать

Необходимо заполнить только те поля структуры, которые соотвествуют данным, требующим изменения.

EmployeeDepartmentPatch

message EmployeeDepartmentPatch
{
    required string DepartmentId = 1;
}

Структура для изменения подразделения сотрудника.

  • DepartmentId - идентификатор подразделения, в которое необходимо переместить сотрудника

EmployeeIsAdministratorPatch

message EmployeeDepartmentPatch
{
    required bool IsAdministrator = 1;
}

Структура для изменения права сотрудника администрировать организацию.

  • IsAdministrator - имеет ли право сотрудник администрировать организацию

EmployeeDocumentAccessLevelPatch

message EmployeeDocumentAccessLevelPatch
{
    required DocumentAccessLevel DocumentAccessLevel = 1;
}

Структура для изменения уровня доступа сотрудника к документам.

EmployeeSelectedDepartmentsPatch

message EmployeeSelectedDepartmentsPatch
{
    repeated string SelectedDepartmentIds = 1;
}

Структура для изменения списка подразделений, к которым имеет доступ сотрудник (играет роль только в случае DocumentAccessLevel = SelectedDepartments).

  • SelectedDepartmentIds - новый список подразделений, к которым имеет доступ сотрудник

EmployeePositionPatch

message EmployeePositionPatch
{
    optional string Position = 1;
}

Структура для изменения должности сотрудника.

  • Position - новая должность сотрудника

EmployeeCanBeInvitedForChatPatch

message EmployeeCanBeInvitedForChatPatch
{
    required bool CanBeInvitedForChat = 1;
}

Структура для изменения необходимости отображать сотрудника в списке получателей Сообщений в веб-интерфейсе.

  • CanBeInvitedForChat - нужно ли отображать сотрудника в списке получателей Сообщений в веб-интерфейсе