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}")); } }
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}")); } }