/
ilyakos
/
ChatWithAI
Обзор
Документация
Войти
/
ilyakos
/
ChatWithAI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ChatWithAI_Server/Controllers/AuthController.cs
54 строки
2 KB
ilyakos
исправлен прикол от нейронки
15 июн 2026, 20:11
15 июн 2026, 20:11
84254b1
Код
Авторство
О чём код?
using ChatWithAI_Server.DTOs; using ChatWithAI_Server.Services; using Microsoft.AspNetCore.Mvc; namespace ChatWithAI_Server.Controllers; /// <summary> /// Контроллер аутентификации. /// Обрабатывает регистрацию и вход пользователей. /// </summary> [ApiController] [Route("api/[controller]")] public class AuthController(IAuthService authService) : ControllerBase { /// <summary> /// Регистрирует нового пользователя. /// </summary> /// <param name="dto">Данные для регистрации: имя, email, пароль.</param> /// <returns>JWT-токен и данные пользователя при успехе; 409 при конфликте.</returns> [HttpPost("register")] public async Task<ActionResult<AuthResponseDto>> Register( [FromBody] RegisterDto dto) { try { var result = await authService.RegisterAsync(dto); return Ok(result); } catch (InvalidOperationException ex) { return Conflict(new { message = ex.Message }); } } /// <summary> /// Выполняет вход пользователя по email и паролю. /// </summary> /// <param name="dto">Учётные данные: email и пароль.</param> /// <returns>JWT-токен и данные пользователя при успехе; 401 при неверных данных.</returns> [HttpPost("login")] public async Task<ActionResult<AuthResponseDto>> Login( [FromBody] LoginDto dto) { try { var result = await authService.LoginAsync(dto); return Ok(result); } catch (UnauthorizedAccessException) { return Unauthorized(new { message = "Неверный email или пароль." }); } } }