Пример #1
0
        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));
            }
        }
Пример #3
0
        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));
            }
        }
Пример #4
0
        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));
            }
        }
Пример #5
0
        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));
            }
        }
Пример #6
0
        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));
            }
        }
Пример #7
0
        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));
            }
        }
Пример #9
0
        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));
            }
        }
Пример #10
0
        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));
            }
        }
Пример #11
0
        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));
            }
        }