コード例 #1
0
        public async Task <IActionResult> DeleteProfilePicture([FromForm] UserProfileSettings request)
        {
            try {
                HttpContext.Request.Headers.TryGetValue("Authorization", out StringValues authorizationToken);
                AuthConnection.Instance.ValidateToken(authorizationToken);
            } catch (ArgumentException e) {
                return(BadRequest($"Malformed or missing authorization token: {e}"));
            } catch (Exception e) {
                return(Unauthorized($"Unauthenticated error: {e}"));
            }

            string queryString;

            try {
                await StorageConnection.Instance.DeleteFileAsync("user", request.email + "_image");

                queryString = GetVertex(request.email) + AddProperty("image", defaultProfilePicture);
            } catch (Exception e) {
                return(BadRequest($"Malformed Request: {e}"));
            }

            try {
                var result = await DatabaseConnection.Instance.ExecuteQuery(queryString);

                return(Ok(result));
            } catch (Exception e) {
                return(BadRequest($"Something went wrong: {e}"));
            }
        }
コード例 #2
0
        public async Task <IActionResult> UpdateProfilePicture([FromForm] UserProfileSettings request)
        {
            try {
                HttpContext.Request.Headers.TryGetValue("Authorization", out StringValues authorizationToken);
                AuthConnection.Instance.ValidateToken(authorizationToken);
            } catch (ArgumentException e) {
                return(BadRequest($"Malformed or missing authorization token: {e}"));
            } catch (Exception e) {
                return(Unauthorized($"Unauthenticated error: {e}"));
            }

            string queryString;

            try {
                string extension = Path.GetExtension(request.image.FileName).ToLowerInvariant();

                // Reject improper file extensions
                if (!extension.Equals(".jpg") && !extension.Equals(".png"))
                {
                    return(BadRequest("Image file extension must be jpg or png"));
                }

                string url = await StorageConnection.Instance.UploadFileAsync(request.image, "user", request.email + "_image");

                queryString = GetVertex(request.email) + AddProperty("image", url);
            } catch (Exception e) {
                return(BadRequest($"Malformed Request: {e}"));
            }

            try {
                var result = await DatabaseConnection.Instance.ExecuteQuery(queryString);

                return(Ok(result));
            } catch (Exception e) {
                return(BadRequest($"Something went wrong: {e}"));
            }
        }