public async Task <IActionResult> Get()
        {
            var userProfileId = Convert.ToInt32(User.FindFirst(ClaimTypes.Name)?.Value);

            var userProfile = await _userProfileReader.GetByUserProfileId(userProfileId);

            if (userProfile == null)
            {
                return(NotFound());
            }

            var response = new UserProfileResponse
            {
                Id                 = userProfile.Id,
                EmailAddress       = userProfile.EmailAddress,
                GivenName          = userProfile.GivenName,
                FamilyName         = userProfile.FamilyName,
                ProfilePicturePath = _cdnResolver.Resolve(userProfile.ProfilePicturePath)
            };

            return(Ok(response));
        }
        public async Task<IActionResult> ChangeProfilePicture()
        {
            var userProfileId = Convert.ToInt32(User.FindFirst(ClaimTypes.Name)?.Value);
            var userProfile = await _userProfileReader.GetByUserProfileId(userProfileId);

            if (userProfile == null)
            {
                return NotFound();
            }

            if (Request.Form.Files.Count == 0)
            {
                return BadRequest("You must attach an image");
            }

            var profilePicture = Request.Form.Files[0];

            if (profilePicture.Length > 3000000)
            {
                return StatusCode(413);
            }

            var acceptedContentTypes = new List<string> { "image/png", "image/jpg", "image/jpeg", "image/gif" };

            if (!acceptedContentTypes.Contains(profilePicture.ContentType))
            {
                return StatusCode(415);
            }

            var fileName = Guid.NewGuid().ToString();

            var existingProfilePictureFileName = userProfile.ProfilePictureFileName;

            const string CONTAINER_NAME = "profilepictures";

            var absoluteFilePath = await _storeFile.StoreFile(CONTAINER_NAME, fileName, profilePicture);

            await _userProfileWriter.SetProfilePicturePath(userProfile.Id, absoluteFilePath, fileName);

            if (!string.IsNullOrEmpty(existingProfilePictureFileName))
            {
                await _storeFile.DeleteFile(CONTAINER_NAME, existingProfilePictureFileName);
            }

            return NoContent();
        }