using iknow_api.DTOs; using iknow_api.Services; using Microsoft.AspNetCore.Mvc; namespace iknow_api.Controllers { [ApiController] [Route("api/[controller]")] public class AuthController : ControllerBase { private readonly IAuthService _authService; public AuthController(IAuthService authService) { _authService = authService; } [HttpGet("testdb")] public async Task TestDb() { try { var count = await _authService.GetUsersCountAsync(); return Ok(new { message = "DB connection works!", usersCount = count }); } catch (Exception ex) { return BadRequest(new { message = "DB connection failed", error = ex.Message }); } } [HttpPost("register")] public async Task Register([FromBody] RegisterDto request) { var result = await _authService.RegisterAsync(request); if (!result) return BadRequest("User already exists"); return Ok("User registered successfully"); } [HttpPost("login")] public async Task Login([FromBody] LoginDto request) { var token = await _authService.LoginAsync(request); if (token == null) return Unauthorized("Invalid credentials"); return Ok(new { Token = token }); } } }