/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Gridient.Core/Controllers/UsersController.cs
69 строк
3 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
using Gridient.Core.Features.Users.Commands; using Gridient.Core.Features.Users.Queries; using Gridient.Core.Models; using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using UserModel = Gridient.Core.Models.User; namespace Gridient.Core.Controllers { [Route("api/[controller]")] [ApiController] [Authorize] public class UsersController(IMediator mediator) : ListsBaseController { private readonly IMediator _mediator = mediator; // Методы CreateUser и DeleteUser перенесены в Gridient.Infrastructure.Authentication.Local // Методы сброса пароля перенесены в Gridient.Infrastructure.Authentication.Local // Все методы этого контроллера мигрированы на MediatR [HttpPost] [Route(nameof(UpdateUser))] public async Task<IActionResult> UpdateUser(UpdateUserRequest user, CancellationToken cancellationToken) { var command = new UpdateUserCommand(user, CurrentUserLogin); await _mediator.Send(command, cancellationToken); return Ok(); } [HttpGet] [Route(nameof(GetUsers))] public async Task<IActionResult> GetUsers(CancellationToken cancellationToken) { var query = new GetUsersQuery(); var result = await _mediator.Send(query, cancellationToken); return Ok(result); } [HttpGet] [Route(nameof(GetUserById) + "/{userId:int}")] public async Task<IActionResult> GetUserById(int userId, CancellationToken cancellationToken) { var query = new GetUserByIdQuery(userId); var result = await _mediator.Send(query, cancellationToken); return Ok(result); } [HttpGet] [Route(nameof(GetCurrentUser))] public async Task<IActionResult> GetCurrentUser(CancellationToken cancellationToken) { var query = new GetCurrentUserQuery(CurrentUserLogin); var result = await _mediator.Send(query, cancellationToken); if (result == null) return NotFound("Пользователь не найден"); return Ok(result); } [HttpGet] [Route($"{nameof(GetEmployees)}")] public async Task<IActionResult> GetEmployees([FromQuery] string searchText, CancellationToken cancellationToken) { var query = new GetEmployeesQuery(searchText); var result = await _mediator.Send(query, cancellationToken); return Ok(result); } } }