namespace AndroidApi.Controllers.Api { [RoutePrefix("v1/access")] public class TokenController : ApiController { private readonly ITokenRepository _repository; public TokenController(ITokenRepository repository) { _repository = repository; } [HttpPost] [Route("token")] public IHttpActionResult GetToken(AccountViewModel item) { try { TokenViewModel result = new TokenViewModel(); if (item == null || item.UserId == 0) return BadRequest("No user info"); result = _repository.GenerateToken(item); if (string.IsNullOrEmpty(result.Token) || result == null) return InternalServerError(); return Ok(result); } catch (Exception ex) { return InternalServerError(ex); } } [HttpGet] [Route("validtoken")] public IHttpActionResult ValidToken() { try { HttpContext httpContext = HttpContext.Current; string authToken = httpContext.Request.Headers["Authorization"]; AccountViewModel result = new AccountViewModel(); if (string.IsNullOrEmpty(authToken)) return BadRequest(); result = _repository.ValidToken(authToken); if (result.StatusCode == 200) return Ok(result); else return NotFound(); } catch (Exception ex) { return InternalServerError(ex); } } } }