public async Task <IActionResult> AuthenticateAsync([FromBody] EstabelecimentoUser item) { if (item == null) { return(BadRequest(new { status = 400, message = "Objeto inválido." })); } if (ModelState.IsValid) { var user = await _estabelecimentoRepository.AuthenticateAsync(item); if (user == null) { return(BadRequest(new { status = 400, message = "Usuário e/ou senha incorreto(s)." })); } return(Ok(new { status = HttpContext.Response.StatusCode, message = "Autenticado com sucesso.", data = user.Id, token = TokenGenerator.BuildToken(user.Id, user.IsAdmin.Value) })); } else { return(BadRequest(new { status = 400, message = ModelState.Values.SelectMany(m => m.Errors) .Select(e => e.ErrorMessage) .ToList() })); } }