/
kochkatech
/
Queue
Обзор
Документация
Войти
/
kochkatech
/
Queue
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
dev
src/Queue.Server/Endpoints/AuthEndpoints.cs
42 строки
1 KB
kochkareal
feat: табло очереди
24 июл 2026, 22:27
24 июл 2026, 22:27
2805d52
Код
Авторство
О чём код?
using System; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.EntityFrameworkCore; using Queue.Data; using Queue.Server.Dtos; namespace Queue.Server.Endpoints; public static class AuthEndpoints { public static void MapAuthEndpoints(this WebApplication app) { app.MapPost("/api/auth/login", async (LoginRequest request, QueueDbContextFactory dbFactory) => { using var db = dbFactory.CreateDbContext(); var hash = HashPassword(request.Password); var employee = await db.Employees.FirstOrDefaultAsync(e => e.Login == request.Login && e.PasswordHash == hash && e.IsActive); if (employee is null) { return Results.Unauthorized(); } return Results.Ok(new LoginResponse( employee.Id, employee.FullName, employee.Role.ToString(), employee.CurrentWindowId)); }); } // Совпадает с EmployeesViewModel.HashPassword в Queue.Admin — тот же алгоритм // (SHA-256 без соли, заглушка для MVP, см. README). private static string HashPassword(string password) { var bytes = Encoding.UTF8.GetBytes(password); var hash = SHA256.HashData(bytes); return Convert.ToHexString(hash); } }