19a46b0df8
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/18
20 lines
1.5 KiB
C#
20 lines
1.5 KiB
C#
using Tnsu.ApprovalRoute.Domain.Enums;
|
|
|
|
namespace Tnsu.ApprovalRoute.Infrastructure.TnsuPortal;
|
|
|
|
/// <param name="Id">
|
|
/// Guid сотрудника в справочнике api.tnsu.kz — один и тот же человек может иметь
|
|
/// несколько записей (см. массив в /Employee/ByEmail) и даже несколько разных
|
|
/// email, но Id у него один. Используется как надёжный ключ дедупликации
|
|
/// исполнителей при резолве маршрута (см. TemplateRouteService) — email для
|
|
/// этого не годится: один человек может фигурировать под разными адресами.
|
|
/// Nullable, потому что старые вызовы могли не запросить это поле явно (сейчас
|
|
/// всегда приходит) — на этот случай дедуп по Id тихо откатывается на email.
|
|
/// </param>
|
|
public sealed record EmployeeDirectoryInfo(Guid CompanyId, Guid? DepartmentId, string Company, string? Position, Guid? Id = null);
|
|
|
|
public sealed record ProjectExecutorInfo(ProjectRole ProjectRole, string Email);
|
|
|
|
/// <summary>Найден ли сотрудник вообще — отдельно от того, заполнен ли у него email в портале (это разные проблемы).</summary>
|
|
public sealed record EmployeeLookupResult(bool Found, string? Email, string? Fio);
|