public async Task <IActionResult> Register([FromBody] RegisterPayload registerPayload) { try { var existingUserWithMail = _db.Users .Any(u => u.Email == registerPayload.Email); if (existingUserWithMail) { return(BadRequest(new { status = false, message = "Email already exists" })); } var userToCreate = new User { Email = registerPayload.Email, FirstName = registerPayload.FirstName, LastName = registerPayload.LastName, Gender = registerPayload.Gender, PasswordHash = BC.HashPassword(registerPayload.Password), Role = "SimpleUser", }; _db.Users.Add(userToCreate); _db.SaveChanges(); return(Ok(new { status = true, user = userToCreate })); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public ActionResult FollowUser(int id1, int id2) { var token = HttpContext.Request.Headers["token"].ToString(); var validation = ValidateJwtToken(token); if (validation != null) { if (id1 != validation) { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } try { var followQuery = _db.Follows.Where(follow => id1 == follow.User && id2 == follow.Follows); if (!followQuery.Any()) { var followToAdd = new Follow { User = id1, Follows = id2 }; _db.Follows.Add(followToAdd); _db.SaveChanges(); return(Ok(new { message = "isFollowed" })); } else { _db.Follows.Remove(followQuery.Single()); _db.SaveChanges(); return(Ok(new { message = "isNotFollowed" })); } } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } } else { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } }
public ActionResult <User> Create([FromBody] UserPayload payload) { try { var userToAdd = new User { FirstName = payload.FirstName, LastName = payload.LastName, Email = payload.Email, Gender = payload.Gender }; _db.Users.Add(userToAdd); _db.SaveChanges(); return(Ok(userToAdd)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public ActionResult <Post> AddPost([FromBody] PostPayload payload) { var token = HttpContext.Request.Headers["token"].ToString(); var validation = ValidateJwtToken(token); if (validation != null) { if (payload.UserId != validation) { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } try { var postToAdd = new Post { Title = payload.Title, Text = payload.Text, Username = payload.Username, UserId = payload.UserId, ImgUrl = payload.ImgUrl, }; _db.Posts.Add(postToAdd); _db.SaveChanges(); return(Ok(postToAdd)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } } else { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } }
public ActionResult <Comment> AddComment([FromBody] CommentPayload payload) { var token = HttpContext.Request.Headers["token"].ToString(); var validation = ValidateJwtToken(token); if (validation != null) { if (payload.UserId != validation) { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } try { var commentToAdd = new Comment { UserId = payload.UserId, Text = payload.Text, PostId = payload.PostId, Username = payload.Username, }; _db.Comments.Add(commentToAdd); _db.SaveChanges(); return(Ok(commentToAdd)); } catch (Exception) { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } } else { return(new StatusCodeResult(StatusCodes.Status401Unauthorized)); } }