public async Task <IActionResult> Unfollow([FromBody] FollowUnfollowRequest request) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var currentUser = User.FindFirst(ClaimTypes.NameIdentifier).Value; var response = await _userService.UnFollowUser(currentUser, request.Username); if (!_userService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _userService.State.TypeOfError, _userService.State.ErrorMessage)); } return(Ok()); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> PostTweet([FromBody] CreateTweetRequest request) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; var serviceResponse = await _tweetsService.CreateTweet(userEmail, request); if (!_tweetsService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _tweetsService.State.TypeOfError, _tweetsService.State.ErrorMessage)); } return(Ok(serviceResponse)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> DeleteFile(Guid fileUniqId) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var callerEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; await _fileService.RemoveFileAsync(fileUniqId, callerEmail); if (!_fileService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _fileService.State.TypeOfError, _fileService.State.ErrorMessage)); } return(StatusCode(204)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> Upload(IFormFile file, [FromQuery] Guid?directoryUniqId = null) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var callerEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; var responseFromService = await _fileService.UploadAsync(file, directoryUniqId, callerEmail); if (!_fileService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _fileService.State.TypeOfError, _fileService.State.ErrorMessage)); } return(CreatedAtRoute("GetFile", new { fileUniqId = responseFromService.UniqueFileId }, responseFromService)); } catch (AzureException ex) { return(StatusCode(500, ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> GetListFolders() { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var callerEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; var folders = await _folderService.GetListFolder(callerEmail); if (!_folderService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _folderService.State.TypeOfError, _folderService.State.ErrorMessage)); } return(Ok(folders)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> RestoreFolder(Guid uniqFolderId) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var callerEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; var result = await _folderService.RestoreRemovedFolderAsync(uniqFolderId, callerEmail); if (!_folderService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _folderService.State.TypeOfError, _folderService.State.ErrorMessage)); } return(CreatedAtRoute("GetFolder", new { uniqFolderId = result.UniqueFolderId }, result)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> RenameFolder(Guid uniqFolderId, [FromBody] RenameRequest request) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var callerEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; await _folderService.RenameFolderAsync(uniqFolderId, request.NewName, callerEmail); if (!_folderService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _folderService.State.TypeOfError, _folderService.State.ErrorMessage)); } return(StatusCode(204)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> Get() { try { var userEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; var serviceResponse = await _tweetsService.GetReleatedTweets(userEmail); if (!_tweetsService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _tweetsService.State.TypeOfError, _tweetsService.State.ErrorMessage)); } return(Ok(serviceResponse)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> AllUsers() { try { var currentUser = User.FindFirst(ClaimTypes.NameIdentifier).Value; var serviceResponse = await _userService.AllUser(currentUser); if (!_userService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _userService.State.TypeOfError, _userService.State.ErrorMessage)); } return(Ok(serviceResponse)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> GetUserFiles() { try { var callerEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; var response = await _fileService.GetUserFilesAsync(callerEmail); if (!_fileService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _fileService.State.TypeOfError, _fileService.State.ErrorMessage)); } return(Ok(response)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public async Task <IActionResult> GetFile(Guid fileUniqId, [FromQuery] int?versionOfFile = null) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var callerEmail = User.FindFirst(ClaimTypes.NameIdentifier).Value; var responseFromService = await _fileService.GetFileAsync(fileUniqId, callerEmail, versionOfFile); if (!_fileService.State.IsValid) { return(ServiceResponseDispatcher.ExecuteServiceResponse(this, _fileService.State.TypeOfError, _fileService.State.ErrorMessage)); } HttpContext.Response.ContentLength = responseFromService.Item1.Length; FileStreamResult result = new FileStreamResult(responseFromService.Item1, new MediaTypeHeaderValue(responseFromService.Item2.ContentType)) { FileDownloadName = responseFromService.Item2.Name, FileStream = responseFromService.Item1, }; return(result); } catch (AzureException ex) { return(StatusCode(500, ex.Message)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }