2 Commits

Author SHA1 Message Date
gorbenko.pavel 5e5242942e переезд на новый метод
Tests / frontend-test (pull_request) Successful in 52s
Tests / backend-test (pull_request) Successful in 2m15s
2026-08-10 11:06:11 +05:00
gorbenko.pavel 3513816af2 убран лишний отступ 2026-08-10 10:26:06 +05:00
2 changed files with 12 additions and 10 deletions
@@ -9,7 +9,6 @@
"Postgres": "Host=db-master.tnsu.kz;Database=tnsu_approval_route;Username=dbuser;Password=p}{6{Pa]{JQwP1H" "Postgres": "Host=db-master.tnsu.kz;Database=tnsu_approval_route;Username=dbuser;Password=p}{6{Pa]{JQwP1H"
}, },
"Entra": { "Entra": {
"TenantId": "b4c2af35-bfd6-4cff-9af9-556efb53e65a", "TenantId": "b4c2af35-bfd6-4cff-9af9-556efb53e65a",
"Audience": "9232d9e2-9807-4753-808f-07250e5474b0" "Audience": "9232d9e2-9807-4753-808f-07250e5474b0"
}, },
@@ -56,15 +56,18 @@ public sealed class HttpTnsuPortalClient(
return executors; return executors;
} }
// STUB(department-head): в api.tnsu.kz пока нет эндпоинта «руководитель отдела // Ответ — {"managerEmail": "..."} (та же форма, что у /Employee/Manager),
// по Id отдела» — до его появления просто возвращаем захардкоженный email, // а НЕ форма сотрудника (EmployeeResponse) — проверено живым вызовом
// чтобы можно было отладить всю остальную логику HeadType.DepartmentHead // (GET /Employee/DepartmentHead?departmentId=... на отделе "АУП"/"ТОО
// (resolve, warning-и, UI) не дожидаясь портала. Когда эндпоинт появится — // Монтажник-Т" вернул именно managerEmail). 404 с телом {"error": "..."}
// заменить тело этого метода на реальный вызов через GetAsync<T> (по // на отделах без руководителя уже отфильтровывается общим GetAsync<T>.
// образцу остальных методов этого класса); сигнатуру и вызывающий код public async Task<string?> GetDepartmentHeadEmailAsync(Guid departmentId, CancellationToken cancellationToken)
// (TemplateRouteService.ResolveStepAsync) менять не придётся. {
public Task<string?> GetDepartmentHeadEmailAsync(Guid departmentId, CancellationToken cancellationToken) => var manager = await GetAsync<ManagerResponse>(
Task.FromResult<string?>("gorbenko.pavel@tnsu.kz"); $"/Employee/DepartmentHead?departmentId={Uri.EscapeDataString(departmentId.ToString())}", cancellationToken);
return manager?.ManagerEmail;
}
private async Task<T?> GetAsync<T>(string requestUri, CancellationToken cancellationToken) where T : class private async Task<T?> GetAsync<T>(string requestUri, CancellationToken cancellationToken) where T : class
{ {