/
kochkatech
/
Queue
Обзор
Документация
Войти
/
kochkatech
/
Queue
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
dev
src/Queue.Server/Endpoints/ReferenceEndpoints.cs
44 строки
2 KB
kochkareal
feat: табло очереди
24 июл 2026, 22:27
24 июл 2026, 22:27
2805d52
Код
Авторство
О чём код?
using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.EntityFrameworkCore; using Queue.Data; using Queue.Server.Dtos; namespace Queue.Server.Endpoints; // Только чтение: справочники услуг и окон для клиентов (Queue.OperatorApp и далее). // Изменение справочников остаётся в Queue.Admin (прямой доступ к БД). public static class ReferenceEndpoints { public static void MapReferenceEndpoints(this WebApplication app) { app.MapGet("/api/services", async (QueueDbContextFactory dbFactory) => { using var db = dbFactory.CreateDbContext(); var services = await db.Services .Where(s => s.IsActive) .OrderBy(s => s.SortOrder) .Select(s => new ServiceDto(s.Id, s.Name, s.Code, s.AverageDurationMinutes)) .ToListAsync(); return Results.Ok(services); }); app.MapGet("/api/windows", async (QueueDbContextFactory dbFactory) => { using var db = dbFactory.CreateDbContext(); var windows = await db.Windows .Include(w => w.Services) .Where(w => w.IsActive) .OrderBy(w => w.Name) .ToListAsync(); var result = windows .Select(w => new WindowDto(w.Id, w.Name, w.Services.Select(s => s.Id).ToList())) .ToList(); return Results.Ok(result); }); } }