public async Task <IActionResult> IsUserFriendAsync([FromRoute] long id) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string username = UserObtainer.GetCurrentUserUsername(this.User.Claims); User currUser = await this._usersRepository.FindByUsernameAsync(username); return(Ok(await this._friendshipsRepository.IsFriendAsync(currUser.ID, id))); } catch (Exception ex) { //TODO: SaveException return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <IActionResult> GetCurrentUserAsync() { try { User user = await this._usersRepository.FindByUsernameAsync(UserObtainer.GetCurrentUserUsername(User.Claims)); if (user != null) { return(Ok(user)); } else { return(NotFound()); } } catch (Exception ex) { //TODO: SaveException return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public async Task <IActionResult> AcceptFriendshipAsync([FromRoute] Guid id) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Friendship friendship = await this._friendshipsRepository.FindAsync(id); if (friendship != null) { string username = UserObtainer.GetCurrentUserUsername(this.User.Claims); User user = await this._usersRepository.FindByUsernameAsync(username); if (user.ID == friendship.IDRecipient) { friendship.UTCAccepted = DateTime.UtcNow; await this._friendshipsRepository.UpdateAsync(friendship, true); } else { return(Unauthorized()); } } else { return(NotFound(id)); } return(NoContent()); } catch (Exception ex) { //TODO: SaveException return(StatusCode(StatusCodes.Status500InternalServerError)); } }