using System.Web.Http; using static Step.Utils.Constants; using Step.Database.Controllers; using System; using Step.Model.DatabaseModels; using System.Security.Claims; using System.Linq; namespace Step.Controllers.WebApi { [RoutePrefix("api/user")] public class UserController : ApiController { [Route("register"), HttpPost] public IHttpActionResult CreateUser(UserModel model) { UsersController users = new UsersController(); users.Create(model.Username, model.Password, model.FirstName, model.LastName, model.RoleId, model.Language); return Ok(); } [Route("info"), HttpGet] [WebApiAuthorize(FunctionAccess = "userData", Action = ACTIONS.READ)] public IHttpActionResult UserInfo() { var identity = User.Identity as ClaimsIdentity; var userId = identity.Claims.Where(c => c.Type == USER_ID_KEY).SingleOrDefault(); if (userId == null) return Unauthorized(); using (UsersController user = new UsersController()) { return Ok(user.GetUserInfo(Convert.ToInt32(userId.Value))); } } } }